tikz - 在 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?
解决方案
弄清楚了 :
\pgfplotsset{mygraph/.code={
\addplot [only marks,color=blue,mark size=5pt] coordinates {(2,20) (4,40) (6,60)};
}
}
调用
\pgfplotset{mygraph};
您还可以以标准方式引用参数。
推荐阅读
- ios - UIView 动画与少数对象
- javascript - 在 API 调用期间禁用按钮
- c++ - 在此代码中,它不接受 i=0 的输入。它直接指向 i=1
- java - 当设备处于飞行模式时,我的应用程序崩溃
- macos - 为 osx 编译 meshlab full 失败
- node.js - 单击电子邮件中的 url 时,路由不显示在浏览器中
- android - 使用原理图库时如何更新 sqlite 数据库模式?
- ios - MVVM:使用闭包、无主或弱自我将视图与 ViewModel 绑定?
- angular - 编码'.' (点)进入 Angular HTTP 调用
- php - php.ini 不包含 extension=php_intl.dll