Estou tentando criar um gráfico de densidade com TikZ usando \fill
retângulos bem empilhados. As finas bordas indesejadas na imagem são um artefato de renderização ou uma característica de fill
? Eles podem ser eliminados/suavizados?
\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}
Responder1
Acho que é um artefato do leitor de PDF. Recebo linhas brancas em evidências e linhas escuras em AR9/Linux, ambas dependendo da escala de visualização.
Se a linha da borda da área de preenchimento não estiver na borda de um pixel, o visualizador de PDF deverá decidir como colorir esses pixels da borda. Então, no Evince, eles são deixados em branco e no AR eles obtêm a cor de ambas as áreas de preenchimento ( opacity=75
).
Portanto, eu usaria uma imagem bitmap. Exemplo, seuprimeira imagem tem 26 colunas. Depois de dimensioná-lo no gimp para largura de 26 pixels, recebo umaimagemcom 26 x 37 pixels:
No documento TeX a imagem é ampliada novamente, por exemplo:
\documentclass{article}
\usepackage{graphicx}
\pagestyle{empty}
\begin{document}
\noindent
\includegraphics[width=\linewidth]{xUnJo.png}
\end{document}
Transparência
O arquivo da pergunta usa opacity=0.75
. Existem duas maneiras de oferecer suporte a isso usando bitmaps:
- PNG suporta transparência por um canal alfa.
- O bitmap pode ser criado sem transparência (também o tamanho do arquivo deve ser menor sem canal alfa). E a transparência é adicionada quando a imagem é incluída.
Geração de bitmap
Abordagem direta.
Os valores das cores são gravados diretamente no arquivo de imagem.PixMap portátilé um formato fácil, pois conhece uma versão ASCII. Exemplo para o 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
Então a imagem pode ser convertida para PNG, por exemplo, com
pnmtopng
das ferramentas Netpbm:pnmtopng <myimage.ppm >myimage.png
Abordagem indireta.
Isso
tikzpicture
vai para uma página/documento separado sem margens. Em seguida, a versão PDF pode ser convertida em uma imagem com o número de colunas/linhas como largura/altura em pixels. Exemplo de conversão com ImageMagick e uma imagem com 26 colunas e 37 linhas:convert -resize 26x37 myimage.pdf myimage.png