groupplots
を使用し、条件付きでプロットをプロットするための変数を設定したいと思います。以下は最小限の動作しない例です。
\documentclass{article}
\usepackage{pgfplots}
\usetikzlibrary{calc}
\usepgfplotslibrary{groupplots}
\def\a{1}
\begin{document}
\begin{tikzpicture
\begin{groupplot}[group style={group size=1 by \a},height=3cm,width=6cm]
\ifnum\a>0{ %
\nextgroupplot[title=One]
\addplot coordinates {(0,0) (1,1) (2,2)};
\ifnum\a>1{ %
\nextgroupplot[title=Two]
\addplot coordinates {(0,2) (1,1) (2,0)};
\ifnum\a>2{ %
\nextgroupplot[title=Three]
\addplot coordinates {(0,2) (1,1) (2,1)};
\ifnum\a>3{ %
\nextgroupplot[title=Four]
\addplot coordinates {(0,2) (1,1) (1,0)};
}\fi
}\fi
}\fi
}\fi
\end{groupplot}
\node (title) at (0,0) {THE Title};
\end{tikzpicture}
\end{document}
これは次の理由で失敗します:
! Extra }, or forgotten \endgroup.
l.24 }
\fi
ネストされた が原因か\ifnum
、 が原因かは不明ですが\nextgroupplot
、最初の\nextgroupplot
がコメント化されている場合、エラーは次のようになります。
! Undefined control sequence.
l.11 \addplot
coordinates {(0,0) (1,1) (2,2)};
グループ プロットのこのような条件付きプロットは実行できますか?
答え1
構造内のグループの使用を削除しますgroupplot
。インデントを追加し、小さなタイプ (環境}
の先頭に欠落しているtikzpicture
) を修正しました。
\documentclass{article}
\usepackage{pgfplots}
\usetikzlibrary{calc}
\usepgfplotslibrary{groupplots}
\def\a{3}
\begin{document}
\begin{tikzpicture}
\begin{groupplot}[group style={group size=1 by \a},height=3cm,width=6cm]
\ifnum\a>0
\nextgroupplot[title=One]
\addplot coordinates {(0,0) (1,1) (2,2)};
\ifnum\a>1
\nextgroupplot[title=Two]
\addplot coordinates {(0,2) (1,1) (2,0)};
\ifnum\a>2
\nextgroupplot[title=Three]
\addplot coordinates {(0,2) (1,1) (2,1)};
\ifnum\a>3
\nextgroupplot[title=Four]
\addplot coordinates {(0,2) (1,1) (1,0)};
\fi
\fi
\fi
\fi
\end{groupplot}
\end{tikzpicture}
\end{document}