Parcelas con sólo unas pocas marcas dispersas y leyenda correcta.

Parcelas con sólo unas pocas marcas dispersas y leyenda correcta.

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 postentrada. Las líneas y las marcas se crean mediante diferentes \addplotcomandos. 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 styleclave. 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 stylea cada \addplotcomando 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}

información relacionada