這與我之前問過的一個問題,其中我嘗試根據未繪製變數的值選擇資料行。在回答該問題之後,我使用“x expr”和“\thisrow”來確定應包含哪些行。
但是,我想在 \foreach 循環中使用程式碼,如下所示(這不是完整的 MWE,因為我不包含資料。如果資料看起來有必要,我將添加一些範例)。我不斷收到錯誤訊息
! Undefined control sequence.
\pgfmath@dimen@ ...men@@ #1=0.0pt\relax \pgfmath@
根據 StackExchange 中的問題,發生這種情況似乎是由於與巨集擴充相關的多種原因。知道在這種情況下如何避免此錯誤嗎?
\documentclass[12pt]{article}
\usepackage{pgfplots,pgfplotstable}
\pgfplotsset{compat=1.15}
\newcommand{\dir}{n:/pathtodata}
\begin{document}
\newcommand{\outcomestest}{
attn/Attendance,
enrollall_00/Enrollment,
all_mth00pctprof_00/Math Proficiency,
all_rla00pctprof_00/Reading Proficiency}
\foreach \outcome/\label in \outcomestest{
\begin{tikzpicture}
\begin{axis}[ymin=-30,ymax=30,title=\label, xlabel=Year]
\draw [red](axis cs:-4,0) -- (axis cs:2,0);
\addplot table [x expr={\thisrow{bias}==1?nan:\thisrow{period}},y=b]{\dir/main_\outcome_primary.txt};
\addplot table [x expr={\thisrow{bias}==0?nan:\thisrow{period}},y=b]{\dir/main_\outcome_primary.txt};
\end{axis}
\end{tikzpicture}}
\end{document}
謝謝!