
Tenho muitos PGFplots em meu documento com um estilo consistente, gerenciados por meio de uma lista de ciclos compartilhada.
Agora gostaria de reutilizar um estilo de plotagem anterior no mesmo PGFplot.
A título de exemplo, quero dizer aqui que o terceiro gráfico deve usar o mesmo estilo do primeiro gráfico, mas sem especificar qual é esse estilo (já que isso será fornecido em outra parte da lista do ciclo).
(Desculpe pelo corte feio à direita da imagem: 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}
Gostaria que o terceiro gráfico marrom tivesse o mesmo estilo do primeiro gráfico azul, mas sem especificar manualmente os detalhes do estilo, como blue
, mark=o
etc.
Opcionalmente, se não for possível, posso carregar o primeiro estilo da lista de ciclos ativos para a terceira parcela?
Responder1
pgfplots
vem com um mecanismo \label
/ \ref
para rotular gráficos e referenciar seu estilo em outro lugar. Embora este mecanismo tenha como objetivo gerar legendas em algum lugar dentro do texto, também é possível acessar as opções de estilo do gráfico rotulado usando a tecla 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}
Observe que isso requer duas compilações no documento. Detalhes deste \label
mecanismo \ref
podem ser encontrados na seção "Legendas com etiqueta e ref" do manual.
Responder2
Opcionalmente, se não for possível, posso carregar o primeiro estilo da lista de ciclos ativos para a terceira parcela?
Você pode usar
\pgfplotsset{cycle list shift=-2}
para mover o contador da lista de ciclos para trás ou para frente, onde podemos conseguir o que precisamos adicionando o comando acima antes do terceiro gráfico.
Observe que isso não acumula... portanto, se você quisesse que o quarto gráfico fosse crescente, você precisaria adicionar:
\pgfplotsset{cycle list shift=-2}
de novo.