我正在寻找 TikZ 图表中条形的五种不同颜色/填充样式。条形非常窄。我希望它们在屏幕上查看或以彩色打印时具有独特性,但如果同一 PDF 文件以黑白打印,也具有独特性。
有人能推荐一套好的颜色定义吗?或者用其他方法填充条形图,使它们在两种情况下都具有区别性?如果色盲人士也可以轻松区分它们,那就更好了(非必需)。
需要澄清的是,我不想生成灰度 PDF 文件,也不想生成用于黑白打印的单独输出,正如我在其他一些答案中看到的那样。谢谢!
答案1
@leandriis 的解决方案是将颜色与一定比例的黑色或白色混合,这帮助我找到了解决方案,但我发现,无论以彩色还是灰度打印,它产生的颜色都不够鲜明。为了使灰度中的色调鲜明,我添加了纯黑色和纯白色(带有黑色边框)。为了使它们在颜色上更加鲜明,我使用了不同的色调(红色、绿色、蓝色)。但是,当转换为灰度时,我的蓝色总是比预期的要暗,所以我最终用灰色代替了蓝色。
以下是我最终使用@leandriis 的源代码进行演示的结果:
\documentclass[a4paper, 12pt]{article}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
xmin=0,
xmax=6,
xtick={1,2,3,4,5},
ytick={0,5},
ymin=0,
ymax=5,
every axis plot/.append style={
ybar,
bar width=10pt,
bar shift=0pt,
fill
}
]
\addplot[draw=black,fill=white]coordinates {(1,5)};
\addplot[fill=black!15!white]coordinates{(2,5)};
\addplot[fill=red!40!white]coordinates{(3,5)};
\addplot[green!60!black]coordinates{(4,5)};
\addplot[black]coordinates{(5,5)};
\end{axis}
\end{tikzpicture}
\end{document}
它不是特别漂亮,但似乎有用!(但如果有关于更美观的颜色组合的评论,我们将不胜感激!)
答案2
我建议使用一种基本颜色,然后将其与不同数量的白色和黑色混合,以创建这种颜色的五种不同色调。在下面的例子中,我使用蓝色作为基色,但也可以使用其他颜色(例如红色和绿色,如下图所示)来实现相同的效果。
\documentclass[a4paper, 12pt]{article}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
xmin=0,
xmax=6,
xtick={1,2,3,4,5},
ytick={0,5},
ymin=0,
ymax=5,
every axis plot/.append style={
ybar,
bar width=10pt,
bar shift=0pt,
fill
}
]
\addplot[blue!15!white]coordinates {(1,5)};
\addplot[blue!40!white]coordinates{(2,5)};
\addplot[blue]coordinates{(3,5)};
\addplot[blue!60!black]coordinates{(4,5)};
\addplot[blue!15!black]coordinates{(5,5)};
\end{axis}
\end{tikzpicture}
\end{document}
转换为灰度的相同条形图显示在下图中相应的彩色图表旁边:
答案3
颜色来自ninecolors
包裹可能会派上用场,完成这项任务。
下面是使用所有其他预定义蓝色阴影的示例:
\documentclass[a4paper, 12pt]{article}
\usepackage{pgfplots}
\usepackage{ninecolors}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
xmin=0.5,
xmax=5.5,
xtick={1,2,3,4,5},
ytick={-1,4},
ymin=0,
ymax=3,
every axis plot/.append style={
ybar,
bar width=15pt,
bar shift=0pt,
fill
}
]
\addplot[blue1]coordinates {(1,3)};
\addplot[blue3]coordinates {(2,3)};
\addplot[blue5]coordinates {(3,3)};
\addplot[blue7]coordinates {(4,3)};
\addplot[blue9]coordinates {(5,3)};
\end{axis}
\end{tikzpicture}
\end{document}
这里是所有定义的颜色redX
、brownX
、yellowX
、oliveX
、greenX
、 tealX
、 cyanX
、 azureX
、 blueX
、 (其中= 为 1 到 9 之间的数字) 和色调的概览,以及以灰度查看时的相同绘图图像violetX
: magentaX
purpleX
X