Совместимые цвета оттенков серого для 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}

А вот обзор всех определенных цветов redX, brownX, yellowX, oliveX, greenX, tealX, cyanX, azureX, blueX, violetX, (где magentaX= число от 1 до 9) и оттенков, а также изображение того же графика при просмотре в оттенках серого:purpleXX

введите описание изображения здесь

Связанный контент