을 사용 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
중첩된 s 때문인지 \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}