我正在尝试排列 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}