![在 tikz 图例中显示标记而不是线条](https://linux22.com/image/476926/%E5%9C%A8%20tikz%20%E5%9B%BE%E4%BE%8B%E4%B8%AD%E6%98%BE%E7%A4%BA%E6%A0%87%E8%AE%B0%E8%80%8C%E4%B8%8D%E6%98%AF%E7%BA%BF%E6%9D%A1.png)
使用时
\addplot[color=black, mark=o, draw=none] table [y=Y, x=X]{Data/bottoms.dat};
\addlegendimage{New record};
\addplot[color=black, mark=x, draw=none] table [y=Y, x=X]{Data/breaks.dat};
\addlegendentry{Discarded solution};
\addplot[color=black, mark=*, draw=none] table [y=Y, x=X]{Data/restarts.dat};
\addlegendentry{Reset to record}
“新记录”、“放弃的解决方案”和“重置为记录”旁边显示的标签只是纯黑线,但我希望它们分别是“o”、“x”和“*”。我怎样才能得到标记而不是线条?
答案1
类似这样。由于没有提供代码和数据。此解决方案创建了 3 个简单的数据文件,并通过将它们合并到代码中filecontents
。添加这些
\addlegendimage{only marks, mark=o}
\addlegendimage{only marks, mark=x}
\addlegendimage{only marks, mark=*}
用于legend cell align=center
其他文本/标签对齐。
代码
\documentclass[tikz,border=1cm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\usepackage{filecontents}
\begin{filecontents}{data.dat}
X Y
1 3
2 4
\end{filecontents}
\begin{filecontents}{data2.dat}
X Y
3 5
4 6
\end{filecontents}
\begin{filecontents}{data3.dat}
X Y
5 7
6 8
\end{filecontents}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
% width=\linewidth,
% xmin=0,xmax=10,
% ymin=0,ymax=10,
% axis y line*=left,
% axis x line*=bottom,
legend style={xshift=-2cm} % adjustable
legend cell align=center, % left,center, right,
]
\addlegendimage{only marks, mark=o}
\addlegendimage{only marks, mark=x}
\addlegendimage{only marks, mark=*}
\addplot[color=black, mark=o, draw=none] table [y=Y, x=X]{data.dat};
\addlegendentry{\hspace{.3cm}New record};
\addplot[color=black, mark=x, draw=none] table [y=Y, x=X]{data2.dat};
\addlegendentry{\hspace{.3cm}Discarded solution};
\addplot[color=black, mark=*, draw=none] table [y=Y, x=X]{data3.dat};
\addlegendentry{\hspace{.3cm}Reset to record}
\end{axis}
\end{tikzpicture}
\end{document}