Участки с несколькими разрозненными отметками и правильной легендой

Участки с несколькими разрозненными отметками и правильной легендой

Я хотел бы нарисовать несколько графиков с линиями и всего несколькими метками. Метки расположены неравномерно, поэтому я использовал метод, упомянутый в руководстве pgfplots, раздел 4.8.5 (Внешний вид легенды), страница 159, every legend image postзапись. Линии и метки создаются разными \addplotкомандами. Проблема с этим методом заключается в том, чтобы иметь легенду, показывающую и линии, и метки.

Вот адаптация кода, представленного в руководстве 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}

Этот код работает, когда есть только одна кривая, потому что можно указать отметку участка в legend image post styleключе. Однако, знаете ли вы, как это можно адаптировать к нескольким участкам с разными отметками участка?

решение1

При указании legend image post styleдля каждой \addplotкоманды вместо для она axisприменяется только к каждому отдельному участку:

\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}

Связанный контент