我必须在文档中包含很多箱线图,并希望使用自定义命令自动执行此操作。我希望能够编写如下内容:
\boxplots[
range={1,2,3,4,5},
questions={
{
label=How many years ago did you start?
key=How many years
},
{
label=How many hours do you spend playing?
}
}
]
如果问题列表中未提供关键参数,则应默认使用标签参数。该命令应如下所示(没有正确的 LaTeX 语法):
\newcommand{\boxplots}[2] {
\begin{tikzpicture}
\begin{axis} [
xmin=MIN(#1),
xmax=MAX(#1),
xtick=#1
ytick={1,...,LEN(#2)},
yticklabels=
\foreach reversed \q in #2
\stepcounter{questioncounter}
\textbf{Q.\thequestioncounter} {\q[label]}
]
\foreach reversed \q in #2
\addplot+[boxplot={box extend=0.5}]
table [
y={\q[key]}
]{\userstudyResults};
\end{axis}
\end{tikzpicture}
}
yticklabels 应该解析为
{
\textbf{Q.2} How many hours do you spend playing?,
\textbf{Q.1} How many years ago did you start?
}
我面临的问题:
- 对作为参数提供的列表进行反向迭代
- 计算作为参数提供的列表的最小值和最大值
- 计算作为参数提供的列表的长度
- 命名参数
- 默认参数
谢谢你的协助!