从全局 pgfplotsset 设置中定义异常

从全局 pgfplotsset 设置中定义异常

我在序言中使用以下代码来设置轴标签的位置:

\pgfplotsset{
    every axis y label/.style={at={(-0.1,0.5)},rotate=90}
}

我有大约 10 个图,其中此设置是正确的,也是我真正想要的。但对于另一个图,我想以不同的方式设置位置。是否可以设置特定选项以忽略全局设置并定义本地异常?类似于:

\begin{tikzpicture}
\begin{axis}[%
overwrite axis y label/.style={at={(-0.2,0.5)},rotate=90}
\end{axis}
\addplot[...]
\end{tikzpicture}%

答案1

就用于every axis y label/.style那个axis

\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{
    every axis y label/.style={at={(-0.1,0.5)},rotate=90},
    width=6cm
}
\setlength\parindent{0pt}
\begin{document}
\begin{tikzpicture}
\begin{axis}[ylabel=thing]
\addplot {x^2};
\end{axis}
\end{tikzpicture}

\begin{tikzpicture}
\begin{axis}[%
ylabel=thing,
every axis y label/.style={at={(-0.2,0.5)},rotate=90}]
\addplot {x^2};
\end{axis}
\end{tikzpicture}%

\begin{tikzpicture}
\begin{axis}[ylabel=thing]
\addplot {x^2};
\end{axis}
\end{tikzpicture}%

\end{document}

答案2

在我的文档中,我通常在序言中包含以下内容:

\pgfplotsset{every axis/.append style={
  line width=.6pt,
  tick style={line width=0.6pt,black},
  grid style={line width=0.6pt,dotted,gray}}}

如果我现在只写

\begin{axis}[%
grid style={line width=6pt,dotted,gray},...]

在图中这将覆盖预定义的设置。

相关内容