我定义了一个插入图表的宏,我可以在多个地方重复使用相同的图表样式。我实际上是从文件加载数据,但类似的 MWE 看起来像:
\newcommand{\drawGraph}[1]{
\begin{figure}
\begin{tikzpicture}
\begin{axis}[xmin=0, xmax=#1]
\addplot {x^2};
\end{axis}
\end{tikzpicture}
\end{figure}
}
\drawGraph{10}
在这个例子中,参数是xmax
(\drawGraph{10}
绘制到 x=10)的值。
我该如何提出这个论点选修的,这样我只需调用\drawGraph
pgfplots 就会自动设置 xmax 值?
答案1
只需使用标准方式使用可选参数(默认值为空):
\newcommand{\drawGraph}[1][]{...}
% ^ ^----- empty default value
% |-------- one argument
pgfplots
这依赖于将视为xmax=
键根本xmax
没有被设置的事实。因此,空的默认值会导致pgfplots
像往常一样计算轴限制,但指定的值会覆盖该计算。
唯一的其他变化是在使用命令时从强制参数分隔符切换{}
到可选参数分隔符。完整代码:[]
\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.11}
\newcommand{\drawGraph}[1][]{
\begin{figure}
\begin{tikzpicture}
\begin{axis}[xmin=0, xmax=#1]
\addplot {x^2};
\end{axis}
\end{tikzpicture}
\end{figure}
}
\begin{document}
\drawGraph
\drawGraph[10]
\drawGraph[15]
\end{document}