pgfplots 修剪到轴区域,即使有额外的刻度标签

pgfplots 修剪到轴区域,即使有额外的刻度标签

我有一个图,上面有额外的 x 个刻度标签,pgfplots我希望将其显示在页面顶部的图中。

我希望实际轴矩形的顶部直接位于顶部,而额外的刻度标签突出到顶部边缘。由于我正在使用,tikz-externalize我认为简单的 \vskip 不会起作用,而且由于并非所有刻度标签都具有相同的长度,我更喜欢通用的东西。

[trim axis left]理想情况下,会有类似于的设置[trim axis top]

有什么方法可以实现类似的事情吗?

显示边距的示例:(https://www.writelatex.com/186618fknbff

\documentclass[12pt]{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.5}
\usepackage{blindtext}
\usepackage[showframe]{geometry}
\begin{document}
%
\begin{figure}[t]
\centering
\begin{tikzpicture}[trim axis left,trim axis right]
\begin{axis}[
extra x ticks={60},
extra x tick labels ={\rotatebox{90}{ESB}},
extra x tick style  = { tick pos=right, grid=major, ticklabel pos=right},
xlabel=testlabel,
scale only axis,
width=\textwidth,
height=5cm
]
\addplot coordinates {
(0.1, 4)
(0.5, 2.5)
(1, 7.5)
(2, 2.6)
(3, 5.6)
(7, 1.4)
(17, 4.3)
(40, 1.4)
(92, 3.3)
};
\end{axis}
\end{tikzpicture}
\caption{testcaption}
\end{figure}
%
%
\begin{figure}[t]
\centering
\begin{tikzpicture}[trim axis left,trim axis right]
\begin{axis}[
extra x ticks={60},
extra x tick labels ={\rotatebox{90}{ESBaaaaaa}},
extra x tick style  = { tick pos=right, grid=major, ticklabel pos=right},
xlabel=testlabel,
scale only axis,
width=\textwidth,
height=5cm
]
\addplot coordinates {
(0.1, 4)
(0.5, 2.5)
(1, 7.5)
(2, 2.6)
(3, 5.6)
(7, 1.4)
(17, 4.3)
(40, 1.4)
(92, 3.3)
};
\end{axis}
\end{tikzpicture}
\caption{testcaption}
\end{figure}
%
\Blindtext
%
\end{document}

(似乎还存在一些错误,会将 x 轴标签向下移动,就好像额外的刻度标签位于底部一样,但是目前可以通过 xlabel 移动轻松纠正)

答案1

您想要的是基线选项。

\begin{tikzpicture}[trim axis left,trim axis right,baseline]

相关内容