在 tikz 中排列不同大小的 pgfplots

在 tikz 中排列不同大小的 pgfplots

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

在此处输入图片描述

相关内容