pgfplots 图例:如何删除图例中穿过标记的线?

pgfplots 图例:如何删除图例中穿过标记的线?

我有一个图,其中有一条直线连接了几个标记。因此,图例条目显示标记时会用一条线穿过它。

有没有办法让图例项只显示标记,而不显示线条?也就是说,好像它是无线绘图的图例项?

多谢你们。

\begin{tikzpicture}
\begin{axis}[
legend pos=outer north east,
legend cell align={left},
legend entries={abc, def},
scatter/classes={
abc={mark=*,blue},
def={mark=diamond*,red},% <-- don’t add comma
},
]

\addplot [scatter, blue,
point meta=explicit symbolic,
]table [meta=algorithm] {
x y algorithm
50  327 abc
100 659 abc
};
\addplot [scatter, red,
point meta=explicit symbolic,
]table [meta=algorithm] {
x y algorithm
50  172 def
100 308 def
};
\end{axis}
\end{tikzpicture}

答案1

我找到了答案,在图例设置中添加“仅标记”。图表仍然有一条线,但图例中只显示标记。

\begin{tikzpicture}
\begin{axis}[
legend pos=outer north east,
legend cell align={left},
legend entries={abc, def},
scatter/classes={
abc={mark=*,blue, only marks},
def={mark=diamond*,red},% <-- don’t add comma
},
]

\addplot [scatter, blue,
point meta=explicit symbolic,
]table [meta=algorithm] {
x y algorithm
50  327 abc
100 659 abc
};
\addplot [scatter, red,
point meta=explicit symbolic,
]table [meta=algorithm] {
x y algorithm
50  172 def
100 308 def
};
\end{axis}
\end{tikzpicture}

相关内容