在 pgfplots 中使用 groupplot 进行图对齐

在 pgfplots 中使用 groupplot 进行图对齐

我正在使用groupplots库来pgfplots创建绘图分组。我使用的是 2x2 大小,但只有 3 个绘图。我怎样才能将最右边的绘图垂直居中,形成一个三角形而不是倒置的大号?在另一种情况下,我想将底部图水平居中,这会使用相同的程序吗?有没有比 更好的工具可用groupplots

\documentclass{standalone}
\usepackage{tikz,pgfplots}
    \usepgfplotslibrary{groupplots}

\begin{document}
  \begin{tikzpicture}
    \begin{groupplot}[
      group style={group size=2 by 2},
      width=4cm, height=4cm,
    ]
    \nextgroupplot
      \addplot coordinates{(0,0) (1,2) (2,1)};
    \nextgroupplot
      \addplot coordinates{(0,0) (1,2) (2,1)};
    \nextgroupplot
      \addplot coordinates{(0,0) (1,2) (2,1)};
    \end{groupplot}
  \end{tikzpicture}
\end{document}

答案1

感谢 Jake 的建议,我原来的解决方案可以进行显著的压缩(因为我对 tikz 一无所知)。另外,的新版本stackengine应该会在本周末上市。我在这里使用的语法在旧版本和新版本中都适用。如果需要,您可以控制图间分离(即,正常的水平间距将在顶部两个图之间起作用,而可选的长度参数\stackunder将定义垂直间隙)。

\documentclass{standalone}
\usepackage{stackengine}
\usepackage{tikz,pgfplots}
    \usepgfplotslibrary{groupplots}
\begin{document}
\stackunder{%
  \begin{tikzpicture}
    \begin{axis}[width=4cm, height=4cm] \addplot coordinates{%
      (0,0) (1,2) (2,1)}; \end{axis}
  \end{tikzpicture}
  \begin{tikzpicture}
    \begin{axis}[width=4cm, height=4cm] \addplot coordinates{%
      (0,0) (1,2) (2,1)}; \end{axis}
  \end{tikzpicture}
}{%
  \begin{tikzpicture}
    \begin{axis}[width=4cm, height=4cm] \addplot coordinates{%
      (0,0) (1,2) (2,1)}; \end{axis}
  \end{tikzpicture}
}
\end{document}

在此处输入图片描述

相关内容