我在 .tikz 文件中有一些 pgfplot 图表,我想为它们定义一种自定义样式,只覆盖某些条目,而对其余条目使用 .tikz 文件中的内容。
例子:
在我的 .tikz 文件中
\begin{axis}[inTable]
在我的文档中,我将所有 [inTable] 图表定义为:
\pgfplotsset{inTable/.style={
width=4.5cm,
height=4.5cm,
scale only axis,
xmin=1,
xmax=511,
xlabel={$q (\mu m^{-1})$},
ymin=0.5,
ymax=1,
ylabel={ylabel}
},
inTable/.belongs to family=/pgfplots/scale,
}
但并非所有具有[inTable]
样式的图表都必然具有相同的标签和 x 最小值、x 最大值等。我希望它们具有相同的宽度和高度,但不一定是这下面的条目。我尝试将其余部分放回 .tikz 文件中,例如
\begin{axis}[inTable]
scale only axis,
xmin=1,
xmax=511,
xlabel={$q (\mu m^{-1})$},
ymin=0.5,
ymax=1,
ylabel={y label}
但它似乎只接受\pgfplotsset{inTable/.style={
我该如何混合搭配?我希望这个问题有意义。
谢谢
答案1
看起来你过早关闭了 axis 环境的可选参数;尝试
\begin{axis}[myTable,scale only axis,..., ylabel={y label}]
这是一个完整的 MWE,可供使用。
% arara: pdflatex
% !arara: indent: {overwrite: yes}
\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{inTable/.style={
width=4.5cm,
height=4.5cm,
scale only axis,
xmin=1,
xmax=511,
xlabel={$q (\mu m^{-1})$},
ymin=0.5,
ymax=1,
ylabel={ylabel}
},
inTable/.belongs to family=/pgfplots/scale,
}
\begin{document}
\begin{tikzpicture}
\begin{axis}[inTable]
\end{axis}
\end{tikzpicture}
\begin{tikzpicture}
\begin{axis}[inTable,
scale only axis,
xmin=-20,
xmax=400,
xlabel={different},
ymin=-1.5,
ymax=10,
ylabel={y label}]
\end{axis}
\end{tikzpicture}
\end{document}