首页 > 解决方案 > 在 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}, 
    grid=both,
    ytick={0,10,...,80},
    yticklabels={0,10,...,80},
    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 只是做一个中心/调整大小的框)

它有效,但感觉很hacky,因为我强制使用 \def 。我有一堆这些我正在绘制的每个基本图上只有一些不同的东西。我知道我可以使用:

\tikset{base graph/.pic={}}

and then

\pic {base graph};

但不是在这里,因为我怀疑我必须做某种 pgfplotsset?

标签: tikzpgfplots

解决方案


弄清楚了 :


  \pgfplotsset{mygraph/.code={
      \addplot [only marks,color=blue,mark size=5pt] coordinates {(2,20) (4,40) (6,60)};
    }
  }

调用

\pgfplotset{mygraph};

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


推荐阅读