有没有制作通用 x 轴标签的简单方法?
我曾提到过这一点: pgfplots 不同行中的公共 x 轴标签
而且解决方案看起来非常复杂,对我来说不起作用。
这是我的 MWE:
\documentclass{standalone}
\usepackage{siunitx}
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}
\usepackage[sfdefault]{atkinson}
\begin{document}
\begin{tikzpicture}
\begin{axis}[xlabel={Work},
ylabel={Effort},
title={Graphpart 1}]
\addplot[no marks]{x^2+x+2};
\end{axis}
\end{tikzpicture}
\begin{tikzpicture}
\begin{axis}[xlabel={Work},
ylabel={Effort},
title={Graphpart 2}]
\addplot[only marks, red, mark size=1pt]{x^3+x+2};
\end{axis}
\end{tikzpicture}
\end{document}
我希望Work
位于中心作为通用 x 轴标签。
答案1
您确实应该使用groupplot
。但是,现在您可以使用稍微黑客式的方法,用于xlabel style
定位xlabel
:
xlabel style = {
at={(ticklabel cs:0)},
anchor=north east,
xshift=-0.35cm,
},
将A\vphantom{}
应用于第一个图表xlabel
以确保 x 轴垂直位于同一位置。
代码:
\documentclass{article}
\usepackage{siunitx}
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}
\usepackage[sfdefault]{atkinson}
\begin{document}
\noindent
\begin{tikzpicture}
\begin{axis}[
xlabel={\vphantom{Work}},
ylabel={Effort},
title={Graphpart 1}]
\addplot[no marks]{x^2+x+2};
\end{axis}
\end{tikzpicture}
\begin{tikzpicture}
\begin{axis}[xlabel={Work},
ylabel={Effort},
title={Graphpart 2},
xlabel style = {
at={(ticklabel cs:0)},
anchor=north east,
xshift=-0.35cm,
},
]
\addplot[only marks, red, mark size=1pt]{x^3+x+2};
\end{axis}
\end{tikzpicture}%
\end{document}