
私のドキュメントには、共有サイクル リストを通じて管理される、一貫したスタイルの PGF プロットが多数あります。
ここで、同じ PGFplot 内で以前のプロット スタイルを再利用したいと思います。
例として、ここでは、3 番目のプロットでは最初のプロットと同じスタイルを使用する必要があると言いたいのですが、そのスタイルが何であるかは指定しません (これはサイクル リストの別の場所で指定されるため)。
(画像の右側が醜く切り取られていて申し訳ありません :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}
3 番目の茶色のプロットを最初の青色のプロットと同じスタイルにしたいのですが、、などのスタイルの詳細を手動で指定する必要はありませんblue
。mark=o
これを直接実行できますか?
オプションとして、それが不可能な場合は、3 番目のプロットのアクティブ サイクル リストの最初のスタイルを読み込むことはできますか?
答え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}
これにはドキュメントを 2 回コンパイルする必要があることに注意してください。このメカニズムの詳細については、\label
マニュアル\ref
の「ラベルと参照による凡例」セクションを参照してください。
答え2
オプションとして、それが不可能な場合は、3 番目のプロットのアクティブ サイクル リストの最初のスタイルを読み込むことはできますか?
使用できます
\pgfplotsset{cycle list shift=-2}
サイクル リスト カウンターを前後にシフトするには、上記のコマンドを 3 番目のプロットの前に追加することで、必要な操作を実行できます。
これは累積しないことに注意してください...したがって、4 番目のプロットを昇順にしたい場合は、以下を追加する必要があります。
\pgfplotsset{cycle list shift=-2}
また。