
내 문서에는 공유 주기 목록을 통해 관리되는 일관된 스타일의 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}
세 번째 갈색 플롯이 첫 번째 파란색 플롯과 동일한 스타일을 갖기를 원하지만 , 등과 같은 스타일 세부 사항을 수동으로 지정하지 않고 blue
이 mark=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}
다시.