PGFplots에서 시리즈 스타일 재사용

PGFplots에서 시리즈 스타일 재사용

내 문서에는 공유 주기 목록을 통해 관리되는 일관된 스타일의 PGFplot이 많이 있습니다.

이제 동일한 PGFplot 내에서 이전 플롯 스타일을 다시 사용하고 싶습니다.

예를 들어, 여기서는 세 번째 플롯이 첫 번째 플롯과 동일한 스타일을 사용해야 하지만 해당 스타일이 무엇인지 지정하지 않고(사이클 목록의 다른 곳에서 제공되므로) 말하고 싶습니다.

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

(이미지 오른쪽의 보기 흉한 자르기에 대해 죄송합니다 :P)

\documentclass{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.9}

%and define new styles like this:
% \pgfplotsset{
%    ...
%}

\begin{document}
\begin{tikzpicture}
   \begin{axis}[ylabel=y,
    xlabel=x,]
        \addplot
        coordinates
        {
            (0,10)
            (10,0)
        };
        \addlegendentry{Descending}

        \addplot
        coordinates
        {
            (0,3)
            (10,5)
        }; 
        \addlegendentry{Ascending}

        \addplot
        coordinates
        {
            (0,7)
            (10,5)
        };
        % Reuse descending style
    \end{axis}     
\end{tikzpicture}
\end{document}

세 번째 갈색 플롯이 첫 번째 파란색 플롯과 동일한 스타일을 갖기를 원하지만 , 등과 같은 스타일 세부 사항을 수동으로 지정하지 않고 bluemark=o작업을 직접 수행할 수 있습니까?

선택적으로 가능하지 않은 경우 세 번째 플롯에 대한 활성 사이클 목록의 첫 번째 스타일을 로드할 수 있습니까?

답변1

pgfplots플롯에 레이블을 지정하고 해당 스타일을 다른 곳에서 참조할 수 있는 \label/ 메커니즘이 함께 제공됩니다 . \ref이 메커니즘은 텍스트 내부 어딘가에 범례를 생성하기 위한 것이지만 키를 사용하여 레이블이 지정된 플롯의 스타일 옵션에 액세스할 수도 있습니다 refstyle.

\documentclass{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.9}

%and define new styles like this:
% \pgfplotsset{
%    ...
%}

\begin{document}
\begin{tikzpicture}
   \begin{axis}[ylabel=y,
    xlabel=x,]
        \addplot
        coordinates
        {
            (0,10)
            (10,0)
        };
        \addlegendentry{Descending}
        \label{plot:1}

        \addplot
        coordinates
        {
            (0,3)
            (10,5)
        }; 
        \addlegendentry{Ascending}

        \addplot[refstyle={plot:1}]
        coordinates
        {
            (0,7)
            (10,5)
        };
        % Reuse descending style
    \end{axis}     
\end{tikzpicture}
\end{document}

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

이를 위해서는 문서에 대해 두 번의 컴파일이 필요합니다. 이 \label/ \ref메커니즘에 대한 자세한 내용은 매뉴얼의 "라벨 및 참조가 있는 범례" 섹션에서 확인할 수 있습니다.

답변2

선택적으로 가능하지 않은 경우 세 번째 플롯에 대한 활성 사이클 목록의 첫 번째 스타일을 로드할 수 있습니까?

당신이 사용할 수있는

\pgfplotsset{cycle list shift=-2}

사이클 목록 카운터를 앞뒤로 이동하려면 세 번째 플롯 앞에 위 명령을 추가하여 필요한 것을 얻을 수 있습니다.

이것은 누적되지 않는다는 점에 유의하십시오. 따라서 네 번째 플롯을 오름차순으로 만들려면 다음을 추가해야 합니다.

\pgfplotsset{cycle list shift=-2}

다시.

관련 정보