pgfplots, 표시 앞의 줄

pgfplots, 표시 앞의 줄

이에 대한 정보를 찾을 수 없습니다: 어떻게 선을 표시할 수 있습니까?위/앞마커? 지금은 음모가 짜여져 있어요뒤에다이어그램과 범례의 다이아몬드 표시.

\documentclass{standalone}
\usepackage{xcolor, pgfplots}

\begin{document}

\begin{tikzpicture}
\begin{axis}
\addplot[mark=square*, mark options={fill=gray}] coordinates {(1,2)(2,1)};
\legend{x};
\end{axis}
\end{tikzpicture}

\end{document}

표시 아래에 선이 있는 실제 사례

이는 원하는 경우입니다.

표시 위에 선이 있는 원하는 케이스

답변1

간단한 부분이 있습니다. 를 사용하여 원하는 대로 플롯을 얻을 수 있습니다 mark layer. 메인 플롯 뒤에 있는 레이어에 표시를 그리면 됩니다. 그리고 조금 더 노력이 필요한 부분이 있습니다. 전설을 준수하도록 만드는 것입니다. 이를 위해 legend image code. (정확히는 모르겠지만알다 이렇게 해야 하는 이유는 일반적으로 범례가 플롯 앞에 있어야 한다는 점을 고려하면 범례의 내용이 다른 레이어에 있으므로 마크 레이어가 재조정되는 것이 합리적입니다.)

\documentclass{standalone}
\usepackage{xcolor, pgfplots}
\pgfplotsset{compat=1.16}
\begin{document}

\begin{tikzpicture}
\begin{axis}[set layers,mark layer=axis background,
legend image code/.code={
         \draw [mark repeat=2,mark phase=2,#1] plot coordinates {
        (0cm,0cm) (0.3cm,0cm) (0.6cm,0cm)};
        \draw [#1] (0cm,0cm) rectangle (0.5cm,0cm);
    }]
\addplot[mark=square*, mark options={fill=gray}] coordinates {(1,2)(2,1)};
\legend{x};
\end{axis}
\end{tikzpicture}
\end{document}

여기에 이미지 설명을 입력하세요

답변2

TeX.SE에 오신 것을 환영합니다!

플롯을 추가하기 전에 점을 플롯하면( \nodepgfplot이 아닌 tikz로 mark) 쉽습니다.

\documentclass{standalone}
\usepackage{xcolor, pgfplots}
\usetikzlibrary{shapes}

\begin{document}

\begin{tikzpicture}
\begin{axis}
\node[diamond,fill,color=orange,inner sep=2pt] at (axis cs:1,2) {};
\node[diamond,fill,color=red,inner sep=2pt] at (axis cs:2,1) {};
\node[diamond,fill,color=green,inner sep=2pt] at (axis cs:1.8,1.2) {};
\addplot[thick] coordinates {(1,2)(2,1)};
\legend{x};
\end{axis}
\end{tikzpicture}

\end{document}

pgfplots추신: 그것도 방법이 있다고 확신 하지만 실제로는 사용하지 않습니다. 대부분 사용 tikz하고 사용하지 않기 때문에 수락하기 전에 다른 답변을 기다리십시오.pgfplots

여기에 이미지 설명을 입력하세요

관련 정보