Cores compatíveis com escala de cinza para TikZ

Cores compatíveis com escala de cinza para TikZ

Estou procurando cinco cores/estilos de preenchimento diferentes para as barras em um gráfico TikZ. As barras são bastante estreitas. Quero que sejam distintos quando visualizados na tela ou impressos em cores, mas também distintos se o mesmo arquivo PDF for impresso em preto e branco.

Alguém pode recomendar um bom conjunto de definições de cores? Ou alguma outra forma de preencher as barras para torná-las distintas em ambos os cenários? Um bônus (não essencial) seria se os daltônicos também pudessem diferenciá-los facilmente.

Para esclarecer, não quero produzir um arquivo PDF em escala de cinza ou gerar uma saída separada para impressão em preto e branco, como vi em algumas outras respostas. Obrigado!

Responder1

A solução do @leandriis de misturar cor com uma certa proporção de preto ou branco me ajudou a chegar a uma solução, mas descobri que as cores que ele produzia não eram suficientemente distintas quando impressas, seja em cores ou em escala de cinza. Para tornar os tons distintos na escala de cinza, adicionei preto sólido e branco sólido (com borda preta). Para torná-los mais distintos na cor, usei tonalidades diferentes (vermelho, verde, azul). No entanto, meus azuis sempre ficavam mais escuros do que o esperado quando convertidos para escala de cinza, então acabei substituindo o azul por cinza.

Aqui está o que consegui, usando o código-fonte de @leandriis para a demonstração:

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

Não é especialmente bonito, mas pareceu funcionar! (Mas quaisquer comentários sobre combinações de cores mais esteticamente agradáveis ​​serão apreciados!)

Imagem de demonstração de coresImagem de demonstração em escala de cinza

Responder2

Eu sugeriria usar uma cor básica que você possa misturar com diferentes quantidades de branco e preto para criar cinco tons diferentes dessa cor. No exemplo a seguir usei o azul como cor base, mas o mesmo também pode ser feito com outras cores (como vermelho e verde, como mostra a imagem abaixo).

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

Os mesmos gráficos de barras convertidos em escala de cinza são mostrados ao lado do gráfico colorido correspondente na imagem a seguir:

insira a descrição da imagem aqui

Responder3

As cores doninecolorspacote pode ser útil para esta tarefa.

Aqui está um exemplo usando todos os outros tons de azul predefinidos:

insira a descrição da imagem aqui

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

E aqui está uma visão geral de todas as cores definidas redX, brownX, yellowX, oliveX, greenX, tealX, cyanX, azureX, blueX, violetX, magentaX, purpleX(com X= um número entre 1 e 9) e tonalidades, bem como a mesma imagem de plotagem quando visualizada em escala de cinza:

insira a descrição da imagem aqui

informação relacionada