自定义样式仅适用于宽度和高度?

自定义样式仅适用于宽度和高度?

我在 .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}

相关内容