Estoy intentando crear un gráfico de densidad con TikZ usando \fill
rectángulos muy apilados. Los bordes delgados no deseados en la imagen, ¿son un artefacto de renderizado o una característica de fill
? ¿Se pueden eliminar/suavizar?
\documentclass{standalone}
\usepackage{tikz}
\usepackage{pgf}
\usepackage{gnuplot-lua-tikz} %for colors
\begin{document}
\pagestyle{empty}
\begin{tikzpicture}[xscale=0.05,yscale=0.3]
\fill[rgb color={0.40,0.50,0.01}, opacity=0.75] (0.000,0.00) -- (2.000,0.00) -- (2.000,0.40) -- (0.000,0.40) -- cycle;
\fill[rgb color={0.40,0.50,0.01}, opacity=0.75] (0.000,0.40) -- (2.000,0.40) -- (2.000,0.80) -- (0.000,0.80) -- cycle;
\fill[rgb color={0.40,0.50,0.01}, opacity=0.75] (0.000,0.80) -- (2.000,0.80) -- (2.000,1.20) -- (0.000,1.20) -- cycle;
\fill[rgb color={0.40,0.50,0.01}, opacity=0.75] (0.000,1.20) -- (2.000,1.20) -- (2.000,1.60) -- (0.000,1.60) -- cycle;
\fill[rgb color={0.40,0.50,0.01}, opacity=0.75] (0.000,1.60) -- (2.000,1.60) -- (2.000,2.00) -- (0.000,2.00) -- cycle;
\fill[rgb color={0.68,0.74,0.48}, opacity=0.75] (0.000,2.00) -- (2.000,2.00) -- (2.000,2.40) -- (0.000,2.40) -- cycle;
\fill[rgb color={0.95,0.96,0.92}, opacity=0.75] (0.000,2.40) -- (2.000,2.40) -- (2.000,2.80) -- (0.000,2.80) -- cycle;
\fill[rgb color={0.99,0.99,0.98}, opacity=0.75] (0.000,2.80) -- (2.000,2.80) -- (2.000,3.20) -- (0.000,3.20) -- cycle;
% ...
\end{tikzpicture}
\end{document}
Respuesta1
Creo que es un artefacto del lector de PDF. Aparecen líneas blancas en evince y líneas oscuras en AR9/Linux, ambas dependiendo de la escala de vista.
Si la línea del borde del área de relleno no se encuentra en un borde de píxeles, entonces el visor de PDF tiene que decidir cómo colorear estos píxeles del borde. Luego, en evidencia, se dejan en blanco y en AR obtienen color de ambas áreas de relleno ( opacity=75
).
Por lo tanto, usaría una imagen de mapa de bits. Ejemplo, tuprimera imagen tiene 26 columnas. Después de escalarlo en gimp a un ancho de 26 píxeles, obtengo unimagencon 26 x 37 píxeles:
En el documento TeX la imagen se vuelve a ampliar, por ejemplo:
\documentclass{article}
\usepackage{graphicx}
\pagestyle{empty}
\begin{document}
\noindent
\includegraphics[width=\linewidth]{xUnJo.png}
\end{document}
Transparencia
El archivo de la pregunta usa opacity=0.75
. Hay dos formas de admitir esto mediante mapas de bits:
- PNG admite transparencia mediante un canal alfa.
- El mapa de bits se puede crear sin transparencia (también el tamaño del archivo debe ser menor sin canal alfa). Y la transparencia se agrega cuando se incluye la imagen.
Generación de mapas de bits
Acercamiento directo.
Los valores de color se escriben directamente en el archivo de imagen.Mapa de píxeles portátilEs un formato fácil, porque conoce una versión ASCII. Ejemplo para MWE:
P3 # The P3 means RGB colors in ASCII. # Next line: 1 row, 9 columns (from bottom to top) # Following line: max. color # Then image data as integers. 1 9 255 252 252 250 242 245 235 173 189 122 173 189 122 102 127 3 102 127 3 102 127 3 102 127 3 102 127 3
Luego la imagen se puede convertir a PNG, por ejemplo con
pnmtopng
de las herramientas Netpbm:pnmtopng <myimage.ppm >myimage.png
Enfoque indirecto.
El
tikzpicture
va en una página/documento separado sin márgenes. Luego, la versión PDF se puede convertir en una imagen con el número de columnas/filas como ancho/alto en píxeles. Ejemplo de conversión con ImageMagick y una imagen con 26 columnas y 37 filas:convert -resize 26x37 myimage.pdf myimage.png