点在するマークがわずかで凡例が正しいプロット

点在するマークがわずかで凡例が正しいプロット

線といくつかのマークのみで複数のプロットを描画したいと思います。マークの間隔が不規則なので、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}

このコードは、キーでプロット マークを指定できるため、曲線が 1 つしかない場合に機能しますlegend image post style。ただし、これを異なるプロット マークを持つ複数のプロットにどのように適応できるかをご存知ですか。

答え1

を ではなくlegend image post style各コマンドに指定すると、個々のプロットにのみ適用されます。\addplotaxis

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

関連情報