我想绘制一个 x 轴,轴标签不居中,而是位于轴的右侧。类似于anchor=east and pos=east
。xlabel
这可能吗?
简单示例:
\documentclass{standalone}
\usepackage{tikz}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[xlabel=$p_{T} (GeV/c)$, ylabel=abundance, ymode=log]
\end{axis}
\end{tikzpicture}
\end{document}
答案1
这实际上是对@Peter 回答之后发表的后续评论的回答:您问如何在移动水平位置的同时保持垂直位置。
具体操作如下:
\documentclass[border=5pt]{standalone}
\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{compat=1.7}
\begin{document}
\begin{tikzpicture}
\begin{axis}[xlabel=$p_{T} (GeV/c)$, ylabel=abundance, ymode=log,
xlabel style={
at={(ticklabel cs:1)},
anchor=north west,
},%
]
\end{axis}
\end{tikzpicture}
\end{document}
注意:我还添加了\pgfplotsset{compat=1.7}
。通常,最佳实践是至少编写一个兼容级别1.3
。如果您有一份超过 4 年的文档,并且您想保留其标签位置(即您不想写密钥compat
),我可以发布一个略有不同的答案。
默认轴位置(自版本 1.3 起)为at={(ticklabel cs:0.5)},anchor=near ticklabel
。0.5
表示将其放置在(相应)轴的中间。 在您的例子中,我说1
表示它应该使用上端,并且我按照要求写了一个锚点。 负责处理ticklabel cs
刻度标签的大小。
答案2
您可以为添加以下样式xlabel
:
xlabel style={
at={(current axis.right of origin)},
xshift=7.5ex, anchor=center
}
代码:
\documentclass[border=5pt]{standalone}
\usepackage{tikz}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[xlabel=$p_{T} (GeV/c)$, ylabel=abundance, ymode=log,
xlabel style={
at={(current axis.right of origin)},
xshift=7.5ex, anchor=center
}]
\end{axis}
\end{tikzpicture}
\end{document}