如何使多个 pgfplots 共享图例和 Y 标签,同时保留相同的大小和引用每个图的能力?

如何使多个 pgfplots 共享图例和 Y 标签,同时保留相同的大小和引用每个图的能力?

一段时间以来,我一直在尝试制作两个(或更多)并排的图pgfplot(下图显示了我的三个目标),最左边的图有ylabel,中间的图例位于其上方(或者,如果图数为偶数,则图例位于两个图中间)。最后,我希望每个图都有一个可引用的标签和标题(除了 xlabel)

但是,带有ylabel和带有图例的图总是变小(我知道这是由于添加了标签和图例的图形所致),而且我一直无法找到解决问题的方法。有没有办法实现我想要的?

下面是我使用以下方法添加三个图的正常方法subfigure

\documentclass{report}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\usepackage{subcaption}

\begin{filecontents}{data.csv}
  X,Y,Z,N
  0,1,2,3
  1,2,3,4
  2,3,4,5
  4,4,5,6
\end{filecontents}

\begin{document}

\begin{figure}
  \centering
  \begin{subfigure}[t]{.3\textwidth}
    \centering
    \begin{tikzpicture}
      \begin{axis}[ylabel=DATA TEXT, width=.95\textwidth]
        \addplot+ table[x=X, y=Y, col sep=comma] {data.csv};
      \end{axis}
    \end{tikzpicture}
    \caption{\label{fig:y} Shows Y}
  \end{subfigure}~
  \begin{subfigure}[t]{.3\textwidth}
    \centering
    \begin{tikzpicture}
      \begin{axis}[width=.95\textwidth, legend style={at={(0.5,1.5)},anchor=north,legend columns=2}]
        \addplot+ table[x=X, y=Z, col sep=comma] {data.csv};
        \legend{DATA}
      \end{axis}
    \end{tikzpicture}
    \caption{\label{fig:z} Shows Z}    
  \end{subfigure}~
  \begin{subfigure}[t]{.3\textwidth}
    \centering
    \begin{tikzpicture}
      \begin{axis}[width=.95\textwidth]
        \addplot+ table[x=X, y=N, col sep=comma] {data.csv};
      \end{axis}
    \end{tikzpicture}
    \caption{\label{fig:n} Shows N}    
  \end{subfigure}  
\end{figure}
\end{document}

在此处输入图片描述

相关内容