
Me gustaría dibujar varios diagramas con líneas y sólo unas pocas marcas. Las marcas están espaciadas irregularmente, por lo que utilicé un método al que se alude en el manual de pgfplots, sección 4.8.5 (Apariencia de la leyenda), página 159,
every legend image post
entrada. Las líneas y las marcas se crean mediante diferentes \addplot
comandos. El problema con este método es tener una leyenda que muestre tanto las líneas como las marcas.
Aquí hay una adaptación del código proporcionado en el manual de pgfplots:
\documentclass{article}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[legend image post style={mark=*}]
\addplot+[only marks,forget plot]coordinates {(0.5,-0.5) (1,-1) (1.5,-1.5)};
\addplot+[mark=none,smooth,domain=0:2]{-x};
\addlegendentry{Parabola}
\addplot+[only marks,forget plot]coordinates {(0.3,0.3) (0.45,0.45) (1.7,1.7)};
\addplot+[mark=none,smooth,domain=0:2]{x};
\addlegendentry{Parabola}
\end{axis}
\end{tikzpicture}
\end{document}
Este código funciona cuando solo hay una curva porque se puede especificar la marca del trazado en la legend image post style
clave. Sin embargo, ¿sabes cómo se podría adaptar esto a varias tramas con diferentes marcas de trama?
Respuesta1
Al proporcionar el comando legend image post style
a cada \addplot
comando en lugar de al axis
, solo se aplica a cada gráfico individual:
\documentclass{article}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}
\addplot+[only marks,forget plot]coordinates {(0.5,-0.5) (1,-1) (1.5,-1.5)};
\addplot+[mark=none,smooth,domain=0:2,legend image post style={mark=*}]{-x};
\addlegendentry{Parabola}
\addplot+[only marks,forget plot]coordinates {(0.3,0.3) (0.45,0.45) (1.7,1.7)};
\addplot+[mark=none,smooth,domain=0:2,legend image post style={mark=square*}]{x};
\addlegendentry{Parabola}
\end{axis}
\end{tikzpicture}
\end{document}