Como diferenciar muitas linhas em um gráfico?

Como diferenciar muitas linhas em um gráfico?

Eu crio um gráfico com muitas (na verdade 10) linhas em cores diferentes (ver exemplo). Quero tornar o mais fácil possível a diferenciação das diferentes linhas.

Exemplo

Algumas possibilidades que tenho em mente:

  • Pegue a maioria das cores diferentes
  • Evite cores claras (por exemplo, amarelo - nas impressões as linhas são difíceis de ver)
  • Use padrões (tracelhado, pontilhado, padrão de traço diferente) TikZ: Obtenha valores para padrões de traço predefinidos
  • Use espessuras diferentes (não acredito que seja uma boa ideia)

Existem melhores práticas, regras ou guias para esta tarefa?

Meu código de exemplo:

\documentclass[border=5mm] {standalone}
\usepackage{pgfplots, pgfplotstable}
\begin{document}
\pgfplotstableread[col sep=&, header=true]{
description&A&B&C&D&E&F&G&H&I&K
2009&46&0&33&3&0&74&3&7&2&7
2010&35&0&22&1&0&90&2&5&3&3
2011&38&0&33&3&1&77&1&9&2&8
2012&25&0&15&0&4&55&4&5&0&1
2013&18&0&8&0&0&46&5&4&0&3
2014&37&0&54&1&3&54&5&12&10&2
2015&29&0&63&8&1&77&0&8&7&5
}\datatableentry
\begin{tikzpicture}
\begin{axis}[
  title={My Chart},
  enlarge y limits ={value=0.2,upper},
  xtick=data,
  xticklabels ={2009,2010,2011,2012,2013,2014,2015},  
  x tick label style={rotate=-45,anchor=west,font=\tiny},
  legend style={font=\tiny,legend pos=north west,legend cell align=left},
]
\addlegendentry{A};
\addplot [color=blue] table [y=A, x expr=\coordindex] {\datatableentry};
\addlegendentry{B};
\addplot [color=cyan] table [y=B, x expr=\coordindex] {\datatableentry};
\addlegendentry{C};
\addplot [color=gray] table [y=C, x expr=\coordindex] {\datatableentry};
\addlegendentry{D};
\addplot [color=yellow] table [y=D, x expr=\coordindex] {\datatableentry};
\addlegendentry{E};
\addplot [color=green] table [y=E, x expr=\coordindex] {\datatableentry};
\addlegendentry{F};
\addplot [color=lime] table [y=F, x expr=\coordindex] {\datatableentry};
\addlegendentry{G};
\addplot [color=black,loosely dashed] table [y=G, x expr=\coordindex] {\datatableentry};
\addlegendentry{H};
\addplot [color=red,densely dashed] table [y=H, x expr=\coordindex] {\datatableentry};
\addlegendentry{I};
\addplot [color=blue,dotted] table [y=I, x expr=\coordindex] {\datatableentry};
\addlegendentry{K};
\addplot [color=cyan,dashed] table [y=K, x expr=\coordindex] {\datatableentry};
\end{axis}
\end{tikzpicture}
\end{document}

Isenção de responsabilidade: não tenho certeza se esta pergunta pertence ahttp://graphicdesign.stackexchange.com. O principal problema é uma questão de design, mas a solução é necessária no Tikz.

Responder1

Não sei dizer qual a melhor forma de fazer isso, do ponto de vista do design. -mas posso mostrar o que fiz em um caso semelhante. -usando cores e marcas.

\documentclass{standalone}
\usepackage{siunitx}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}

\begin{document}
\begin{tikzpicture}
  \begin{semilogxaxis}
    [
    width=\figwidth,
    height=0.75*\figwidth,
    scale only axis,
    font=\tiny,
    xmin=1, xmax=5000, xlabel={Energy [\si{\kilo\electronvolt}]},
    ymin=0, ymax=2.5, ylabel={Cross Section [\si{\angstrom\squared}]},
    log base 10 number format code/.code={ \pgfmathparse{10^(#1)}\num[round-mode=places, round-precision=0]{\pgfmathresult} },
    yticklabel={ \pgfmathparse{\tick*1}\num[round-mode=places,round-precision=1]{\pgfmathresult} },
    minor x tick num=9, minor y tick num=1,
    every tick/.append style={color=black},
    tick pos=left,
    legend style={draw=none, fill=none, inner ysep=0pt, outer sep=2pt, nodes={inner sep=1pt}, at={(1,1)}, anchor=north east},
    legend cell align=left,
    cycle multi list={{mark=+,mark=o}\nextlist{brown,magenta,teal,blue,lime,green,orange,cyan,gray}},
    mark size=0.8
    ]

    \addplot table...
    \addlegendentry{CTMC: Ermolaev(87)}    
    ...
    \node[anchor=west] at (axis cs: 1.2, 1.48) {F.--T. effective};
    \node[anchor=west] at (axis cs: 1.2, 0.44) {Fermi--Teller limit};

  \end{semilogxaxis}
\end{tikzpicture}
\end{document}

Amostra com vários gráficos coloridos

Não é fácil distinguir os enredos nesta imagem, mas é muito mais fácil imprimi-la. -também a distinção só é importante onde as tramas divergem.

Usei apenas linhas sólidas e dois marcadores diferentes, o que acho que dá o melhor resultado.

informação relacionada