\pgfplotsset를 사용하여 스타일이 설정된 참조 라인

\pgfplotsset를 사용하여 스타일이 설정된 참조 라인

아래 MWE 예에서는 참조의 선 스타일이 올바르게 설정되지 않은 것 같습니다(플롯에서는 원이 채워지지 않았지만 참조할 때 채워집니다).

내가 뭔가 잘못하고 있는 걸까요? 아니면 버그인가요? 그렇다면 해결 방법이 있습니까? 내 문서의 모든 줄에 대해 스타일을 수동으로 설정하는 것 외에는.

\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\pgfplotsset{
  every axis plot/.append style={thick, black},
  every axis plot post/.append style={
    every mark/.append style={mark size=3,solid,fill opacity=0}
  }
}

\begin{document}
Why is this marker \ref{myline} different but this one
\ref{myline-correct} is correct?

\begin{tikzpicture}
  \begin{axis}
    \addplot[mark=*]
    table [x=x, y=y]{%
      x y
      0 0
      1 1
      2 2
      3 3
      4 4
    };
    \label{myline}

    \addplot[mark=square, mark size=3,solid,fill opacity=0]
    table [x=x, y=y]{%
      x y
      4 0
      3 1
      2 2
      1 3
      0 4
    };
    \label{myline-correct}
  \end{axis}
\end{tikzpicture}
\end{document}

답변1

pgfplots 매뉴얼의 섹션 4.7.1에서 "모든 축 플롯 포스트 스타일을 사용하여 플롯에 할당된 그리기 스타일의 일부(또는 전체)를 덮어쓸 수 있습니다."라고 나와 있습니다. 순서가 자세히 설명되어 있는 섹션 4.5.12도 참조하세요. 따라서 결론은 지시문을 삭제 post하면

\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\pgfplotsset{
  every axis plot/.append style={thick, black},
  every axis plot/.append style={
    every mark/.append style={mark size=3,solid,fill opacity=0}
  }
}

\begin{document}
Now both the marker \ref{myline} and \ref{myline-correct} are correct?

\begin{tikzpicture}
  \begin{axis}
    \addplot[mark=*]
    table [x=x, y=y]{%
      x y
      0 0
      1 1
      2 2
      3 3
      4 4
    };
    \label{myline}

    \addplot[mark=square, mark size=3,solid,fill opacity=0]
    table [x=x, y=y]{%
      x y
      4 0
      3 1
      2 2
      1 3
      0 4
    };
    \label{myline-correct}
  \end{axis}
\end{tikzpicture}
\end{document}

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

관련 정보