![在 tikz 中排列不同大小的 pgfplots](https://linux22.com/image/397925/%E5%9C%A8%20tikz%20%E4%B8%AD%E6%8E%92%E5%88%97%E4%B8%8D%E5%90%8C%E5%A4%A7%E5%B0%8F%E7%9A%84%20pgfplots.png)
我正在尝试排列 5 个图,以便前四个(大小相同)在 2x2 矩阵中对齐,最后一个更大并放置。我尝试matrix
通过更改图的宽度来使用该命令,但前 4 个图之间的间距太大。基本上,我需要使 2x2 图独立于最后一个图,但后者必须相对于 2x2 块居中。这是我的 MWE:
\documentclass{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\matrix (functions){
\begin{axis}[width=0.45\textwidth]
\addplot +[] { x};
\end{axis}
& &
\begin{axis}[width=0.45\textwidth]
\addplot +[] { x};
\end{axis}
\\
\begin{axis}[width=0.45\textwidth]
\addplot +[] { x};
\end{axis}
& &
\begin{axis}[width=0.45\textwidth]
\addplot +[] { x};
\end{axis}
\\
&
\begin{axis}[width=0.45\textwidth]
\addplot +[] { x};
\end{axis}
& \\
};
\node[below] at (functions.south) {Functions};%
\end{tikzpicture}
\end{document}
答案1
pfplots 有一个库:groupplots
。
\documentclass{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}
\usepgfplotslibrary{groupplots}
\begin{document}
\begin{tikzpicture}
\begin{scope}[local bounding box=my plots]
\begin{groupplot}[group style={group size=2 by 2},
height=0.45\textwidth,width=0.45\textwidth]
\nextgroupplot
\addplot +[] { x};
\nextgroupplot
\addplot +[] { x};
\nextgroupplot
\addplot +[] { x};
\nextgroupplot
\addplot +[] { x};
\end{groupplot}
\end{scope}
\begin{axis}[anchor=north,name=functions,at={(my plots.south)},
yshift=-1em,width=0.45\textwidth]
\addplot +[] { x};
\end{axis}
\node[below,yshift=-2em] at (functions.south) {Functions};%
\end{tikzpicture}
\end{document}