Размещение легенды под двумя графиками TikZ, расположенными рядом друг с другом

Размещение легенды под двумя графиками TikZ, расположенными рядом друг с другом

У меня есть два графика, которые находятся рядом друг с другом в tikz, они разделены таблицей.

Графики показывают по три линии, и линии одного и того же типа на обоих графиках. Поэтому я хотел бы общую легенду, а не легенду для каждого из них.

Как добавить легенду под двумя рисунками, по центру и горизонтально?

Я увидел несколько ответов в стеке: Как разместить легенду под диаграммой? Однако это помещает легенду под графиком, а у меня два графика, и ее следует разместить по центру под ними и также горизонтально.

По сути, мне нужна коробка в виде:

------------------------------------------------------------------------------------
| <line1> Legend description <line2> Legend description <line3> Legend description |
------------------------------------------------------------------------------------

Где <line>стиль линии. Это поле должно быть по центру под двумя графиками.

Это код, в котором удалены сами графики и некоторые другие элементы для сохранения анонимности:

begin{figure}[!hbt]
\centering
\begin{tabular}{ll}
\resizebox{175pt}{!}{%
\begin{tikzpicture}
  \begin{axis}[
    xlabel=x,
    ylabel=y,
    grid=both,
    grid style={line width=.1pt, draw=gray!10},
    major grid style={line width=.2pt,draw=gray!50},
    axis lines=middle,
    minor tick num=5,]
    \addplot coordinates {};
    \addplot coordinates {};
    \addplot coordinates {};
  \end{axis}
\end{tikzpicture}
}
&
\resizebox{200pt}{!}{%
\begin{tikzpicture}
  \begin{axis}[
    xlabel=x,
    ylabel=y,
    grid=both,
    grid style={line width=.1pt, draw=gray!10},
    major grid style={line width=.2pt,draw=gray!50},
    axis lines=middle,
    minor tick num=5,]
    \addplot coordinates {};
    \addplot coordinates {};
    \addplot coordinates {};
  \end{axis}
\end{tikzpicture}
}
\end{tabular}

\caption{}
\label{}
\end{figure}

решение1

Вы можете использовать legend to nameключ, чтобы получить то, что вам нужно. Он задокументирован в руководстве pgfplots в разделе 4.9.7 на странице 265.

Следующий пример взят из руководства:

\begin{center}% note that \centering uses less vspace...
    \begin{tikzpicture}
        \begin{axis}[
            legend columns=-1,
            legend entries={$(x+0)^k$;,$(x+1)^k$;,$(x+2)^k$;,$(x+3)^k$},
            legend to name=named,
            title={$k=1$},
        ]
            \addplot {x};
            \addplot {x+1};
            \addplot {x+2};
            \addplot {x+3};
        \end{axis}
    \end{tikzpicture}

    \begin{tikzpicture}
        \begin{axis}[
            title={$k=2$}
        ]
            \addplot {x^2};
            \addplot {(x+1)^2};
            \addplot {(x+2)^2};
            \addplot {(x+3)^2};
        \end{axis}
    \end{tikzpicture}

    \begin{tikzpicture}
        \begin{axis}[
            title={$k=3$}
        ]
            \addplot {x^3};
            \addplot {(x+1)^3};
            \addplot {(x+2)^3};
            \addplot {(x+3)^3};
        \end{axis}
    \end{tikzpicture}
    \\

    \ref{named}
\end{center}

Связанный контент