TikZ のグレースケール互換カラー

TikZ のグレースケール互換カラー

TikZ チャートのバー用に 5 つの異なる色/塗りつぶしスタイルを探しています。バーは非常に細いです。画面上で表示したり、カラーで印刷したときに目立つようにしたいのですが、同じ 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

基本色を使い、白と黒をさまざまな量で混ぜて、この色の 5 つの異なる色合いを作成することをお勧めします。次の例では、基本色として青を使用していますが、他の色 (下の画像に示すように、赤と緑など) を使用しても同じことができます。

\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}

以下は、 定義されているすべての色redXbrownXyellowXoliveXgreenXtealXcyanXazureX、 、 ( = 1 から 9 までの数字) と色合いの概要と、グレースケールで表示した場合の同じプロット画像です。blueXvioletXmagentaXpurpleXX

ここに画像の説明を入力してください

関連情報