
Estoy buscando cinco colores/estilos de relleno diferentes para las barras en un gráfico TikZ. Los bares son bastante estrechos. Quiero que sean distintivos cuando se ven en pantalla o se imprimen en color, pero también distintivos si el mismo archivo PDF se imprime en blanco y negro.
¿Alguien puede recomendar un buen conjunto de definiciones de color? ¿O alguna otra forma de llenar las barras para que sean distintivas en ambos escenarios? Una ventaja (no esencial) sería que las personas daltónicas también pudieran distinguirlos fácilmente.
Para aclarar, no quiero producir un archivo PDF en escala de grises ni generar una salida separada para impresión en blanco y negro, como he visto en algunas otras respuestas. ¡Gracias!
Respuesta1
La solución de @leandriis de mezclar color con una cierta proporción de blanco o negro me ayudó a encontrar una solución, pero descubrí que los colores que producía no eran lo suficientemente distintos cuando se imprimían, ya sea en color o en escala de grises. Para distinguir las sombras en escala de grises, agregué negro sólido y blanco sólido (con un borde negro). Para hacerlos más distintos en color, utilicé diferentes tonos (rojo, verde, azul). Sin embargo, mis azules siempre salían más oscuros de lo esperado cuando los convertía a escala de grises, así que terminé reemplazando el azul con gris.
Esto es lo que obtuve, usando el código fuente de @leandriis para la demostración:
\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}
No es especialmente bonito, ¡pero pareció funcionar! (¡Pero se agradecería cualquier comentario sobre combinaciones de colores más estéticamente agradables!)
Respuesta2
Te sugeriría usar un color básico que luego puedas mezclar con diferentes cantidades de blanco y negro para crear cinco tonos diferentes de este color. En el siguiente ejemplo, he usado el azul como color base, pero también se puede hacer lo mismo usando otros colores (como rojo y verde, como se muestra en la imagen a continuación).
\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}
Los mismos gráficos de barras convertidos a escala de grises se muestran junto al gráfico de color correspondiente en la siguiente imagen:
Respuesta3
Los colores de laninecolors
El paquete puede ser útil para esta tarea.
A continuación se muestra un ejemplo que utiliza todos los demás tonos de azul predefinidos:
\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}
Y aquí hay una descripción general de todos los colores definidos redX
, brownX
, yellowX
, oliveX
, greenX
, tealX
, cyanX
, azureX
, blueX
, violetX
, (con = un número entre 1 magentaX
y 9) y sombras, así como la misma imagen de trazado cuando se ve en escala de grises:purpleX
X