这个问题是我之前的一个问题关于如何在 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
您可以访问锚点base
并base 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
anchor
s 来对齐它们