仅带有少量分散标记和正确图例的绘图

仅带有少量分散标记和正确图例的绘图

我想绘制几个带有线条和少量标记的图。这些标记的间距不规则,因此我使用了 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}

相关内容