如何将下标注释与 pgfplots 中的轴标签对齐?

如何将下标注释与 pgfplots 中的轴标签对齐?

这个问题是我之前的一个问题关于如何在 pgfplots 中将注释与轴标签对齐的问题。可接受的解决方案效果很好,但当注释包含下标时,我遇到了进一步的对齐问题(我在原始帖子中没有考虑到这一点)。然后注释的基线与轴标签的基线不匹配。

这是MWE:

\documentclass[border=5mm]{standalone}
\usepackage{tikz,pgfplots}
\pgfplotsset{compat=1.12}
\begin{document}
\begin{tikzpicture}
\begin{axis}[name=s,
  xmin=0.0,xmax=1.0,ymin=0.0,ymax=1.0,
  xlabel=$x$,ylabel=$y$,
  clip=false]
  \addplot[color=red] table {
    0.1 0.9
    0.9 0.2
  };  
\end{axis}
\draw[blue] (s.outer south west) -- (s.outer south east); % help line
\node[anchor=south west] at (s.outer south west) {(a) $A_y$}; 
\end{tikzpicture}
\end{document}

输出:

在此处输入图片描述

所以我的问题是:如何使注释的基线与轴标签的基线对齐?(换句话说,我希望即使在轴标签也有下标的情况下解决方案也能起作用。)

(我知道并且经常使用这个subfig包,但是对于这种特殊情况,我想避免使用它。)

答案1

您可以访问锚点basebase west为了尊重基线:

\documentclass[border=5mm]{standalone}
\usepackage{tikz,pgfplots}
\pgfplotsset{compat=1.12}
\begin{document}
\begin{tikzpicture}
\begin{axis}[name=s,
  xmin=0.0,xmax=1.0,ymin=0.0,ymax=1.0,
  xlabel=$x$,ylabel=$y$,
  xlabel style={name=s-label},
  clip=false]
  \addplot[color=red] table {
    0.1 0.9
    0.9 0.2
  };  
\end{axis}
\draw[blue] (s.outer south west) -- (s.outer south east); % help line
\node[anchor=base west] at (perpendicular cs: 
        vertical line through={(s.outer south west)}, 
        horizontal line through={(s-label.base)})
        {(a) $A_y$}; 
\end{tikzpicture}
\end{document}

在此处输入图片描述

这些物品

  • 分配标签给xlabel
  • 使用顺序perpendicular cs来确定位置
  • 使用base anchors 来对齐它们

相关内容