在Tikz中设置默认图

问题描述

所以我有这个代码


  \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};

您还可以以标准方式引用参数。