
사용할 때
\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}