这是我的第一篇帖子,所以我希望我做的一切都是正确的 :)
我遇到了以下问题:
使用 pgfplots 我创建了两个相邻的图表,它们具有相同的 y 轴,但不同的 x 轴。我希望 x 轴对齐,y 轴具有相同的高度,但由于 x 轴上的标签不同,第二张图向下移动。有没有办法对齐轴?这是我的代码:
\documentclass[crop,10pt]{standalone}
\usepackage[english]{babel}
\usepackage{pgfplots}
\begin{document}%
\fbox{
\begin{tikzpicture}
\begin{axis}[
width=0.6\linewidth,
height=5cm,
xmin=0,xmax=1,ymin=0,ymax=1,
ytick pos = left,
xtick pos = left,
enlargelimits=false,
tick align = outside,
xlabel={$|k|_{\parallel}$}
]
\end{axis}
\end{tikzpicture}}%
\fbox{
\begin{tikzpicture}
\begin{axis}[
width=0.30\linewidth,
height=5cm,
xmin=0,xmax=0.5,ymin=0,ymax=1,
ytick pos = left,
xtick pos = left,
enlargelimits=false,
tick align = outside,
xlabel={Intensity}
]
\end{axis}
\end{tikzpicture}%
}%
\end{document}
环境\fbox{}
只是设置了边界。由于标签不同,右图实际上比左图小,尽管 y 轴的长度相同。当我使用相同的标签时,一切都对齐得很好。
任何建议都值得赞赏。
提前致谢,
约翰
答案1
我建议使用groupplots
库来实现这一点。它可以正确对齐轴,确保轴在轴限值方面同步,并且可以更轻松地设置同时影响两个轴的样式:
\documentclass[crop,10pt,margin=5mm]{standalone}
\usepackage[english]{babel}
\usepackage{pgfplots}
\usepgfplotslibrary{groupplots}
\begin{document}%
\begin{tikzpicture}
\begin{groupplot}[
group style={
group size=2 by 1
},
width=0.6\linewidth,
height=5cm,
xmin=0,xmax=1,ymin=0,ymax=1,
ytick pos = left,
xtick pos = left,
enlargelimits=false,
tick align = outside,
xlabel={$|k|_{\parallel}$}
]
\nextgroupplot
\addplot {rnd};
\nextgroupplot[
width=0.30\linewidth,
xmin=0,xmax=0.5,ymin=0,ymax=1,
xlabel={Intensity}
]
\addplot{rnd};
\end{groupplot}
\end{tikzpicture}%
\end{document}