在 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}

再次。

相关内容