TikZ 的灰度兼容颜色

TikZ 的灰度兼容颜色

我正在寻找 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}

这里是所有定义的颜色redXbrownXyellowXoliveXgreenXtealXcyanXazureXblueX、 (其中= 为 1 到 9 之间的数字) 和色调的概览,以及以灰度查看时的相同绘图图像violetXmagentaXpurpleXX

在此处输入图片描述

相关内容