问题描述
\pgfplotsset{myaxis/.style={
axis x line=left,axis y line=left,grid=both,title={lifeguards needed for swimmers},xlabel={number of lifeguards},ylabel={number of swimmers},ytick={0,10,...,80},yticklabels={0,xmin=1,xmax=7,ymin=0,ymax=80
}
}
\def\baseplot{\addplot [only marks,color=blue,mark size=5pt] coordinates {(2,20) (4,40) (6,60)};}
\rc[0.8]{
\begin{tikzpicture}
\begin{axis}[myaxis]
\baseplot
\end{axis}
\end{tikzpicture}
}
(\ rc只做一个居中/调整大小框)
它可以工作,但是由于我强制\ def,所以感觉很笨拙。我有很多这样的图,我在每个基本图上只用了一些不同的东西。我知道我可以使用:
\tikset{base graph/.pic={}}
and then
\pic {base graph};
但是不是在这里,因为我怀疑我必须做某种pgfplotsset吗?
解决方法
想通了:
\pgfplotsset{mygraph/.code={
\addplot [only marks,color=blue,mark size=5pt] coordinates {(2,20) (4,40) (6,60)};
}
}
调用
\pgfplotset{mygraph};
您还可以以标准方式引用参数。