每个组图的 Pgfplots

每个组图的 Pgfplots

如同这个问题我想对齐组图的 y 标签。样式

ylabel absolute, y label/.append style={yshift=0em},

可以解决问题,因此我想将其应用于每个组图。但是,我不太了解 tikz/pgfplots 中发生的设置类别问题。我尝试了下面代码的许多变体,它们都编译得很好,但没有效果。有人能指出我如何处理每个组图并将上面的行附加到样式中吗?*也许指出如何一般地做到这一点(在哪里可以找到子类别等)?

基本上,我尝试实现的是一种修改每个组(groupplot?)样式并附加上述 ylabel 绝对定位的方法。所以类似于every axis/ylabel,但适用于组。(前者不起作用,因为它放错了 3D 图的 ylabel。)

最小不起作用的示例:

\documentclass{article}
\pgfplotsset{compat=newest}
\usepackage{pgfplots}
\usetikzlibrary{pgfplots.groupplots} % needs to be loaded exactly like this
\pgfplotsset{ /pgfplots/group/.append style = {
    ylabel absolute, y label/.append style={yshift=0em},
  }
}
\begin{document}
\begin{tikzpicture}
\begin{groupplot}[
    group style={
     group name=my plots,
        group size=1 by 2,
        xlabels at=edge bottom,
        ylabels at=edge left
    },height=4cm, width=4cm]
\nextgroupplot[ylabel={foo},]
\addplot coordinates {(0,0) (-0.1,-0.1) (-0.2,-0.2)};
\nextgroupplot[ylabel={bar},]
\addplot coordinates {(0,2) (1,1) (2,0)};
\end{groupplot}
\end{tikzpicture}
\end{document}

答案1

查看库的代码groupplots,我发现样式/pgfplots/group/every plot已添加到每个\nextgroupplot。因此,要仅影响groupplots环境中的轴,请附加到该样式,例如

\pgfplotsset{/pgfplots/group/every plot/.append style = {
    ylabel absolute, y label/.append style={yshift=0em},
  }
}

在此处输入图片描述

\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.13}
\usepgfplotslibrary{groupplots} 
\pgfplotsset{/pgfplots/group/every plot/.append style = {
    ylabel absolute, y label/.append style={yshift=0em},
  }
}
\begin{document}
\begin{tikzpicture}
\begin{groupplot}[
    group style={
     group name=my plots,
        group size=1 by 2,
        xlabels at=edge bottom,
        ylabels at=edge left
    },height=4cm, width=4cm]
\nextgroupplot[ylabel={foo}]
\addplot coordinates {(0,0) (-0.1,-0.1) (-0.2,-0.2)};
\nextgroupplot[ylabel={bar}]
\addplot coordinates {(0,2) (1,1) (2,0)};
\end{groupplot}
\end{tikzpicture}

\begin{tikzpicture}
\begin{axis}[ylabel=abc]
\addplot3 coordinates {(0,0,0)(1,1,1)};
\end{axis}
\end{tikzpicture}
\end{document}

相关内容