在 pgfplots 中放置刻度刻度标签

在 pgfplots 中放置刻度刻度标签

关于刻度标签的放置,我的问题与在 pgfplots 中放置刻度刻度标签。相反,我不希望将标签放在 x 轴后面,而是放在最后一个 x 刻度后面,因为这是 APS 期刊的建议。请参阅中给出的示例 https://journals.aps.org/authors/axis-labels-and-scales-on-graphs-h18

答案1

这里有一个选项。刻度标签是一系列单独的节点,这依赖于最后一个刻度是实际定义的最后一个刻度。首先设置every x tick label/.append style={alias=XTick,inner xsep=0pt}.alias为节点命名,因此它可以用来引用节点。x 轴上的所有刻度标签都被赋予了该别名,但最后定义的将是活动的。第二部分inner xsep=0pt意味着刻度标签节点中将没有水平空白,这使得刻度标签的位置更容易。

刻度标签用 放置every x tick scale label/.style={at=(XTick.base east),anchor=base west}。锚点base east位于节点基线的右侧。base使用锚点是因为指数使刻度标签比刻度标签略高,因此仅使用east/west会导致对齐错误。

\documentclass[border=4mm]{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
scaled x ticks=true,
every x tick label/.append style={alias=XTick,inner xsep=0pt},
every x tick scale label/.style={at=(XTick.base east),anchor=base west}
]
\addplot coordinates {(0,0)(100000,1)};
\end{axis}
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容