pgfplot 轴 xlabel 在轴的东端右对齐

pgfplot 轴 xlabel 在轴的东端右对齐

我想绘制一个 x 轴,轴标签不居中,而是位于轴的右侧。类似于anchor=east and pos=eastxlabel这可能吗?

简单示例:

\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 ticklabel0.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}

相关内容