Einfügen einer Legende unter zwei nebeneinander liegende TikZ-Diagramme

Einfügen einer Legende unter zwei nebeneinander liegende TikZ-Diagramme

Ich habe zwei Diagramme, die in Tikz nebeneinander liegen und durch eine Tabelle getrennt sind.

Die Graphen zeigen jeweils drei Linien und die Linien sind in beiden Graphen gleichartig. Ich hätte also gerne eine gemeinsame Legende und nicht für jede einzelne eine eigene.

Wie kann ich zentriert und horizontal eine Legende unter den beiden Abbildungen hinzufügen?

Ich habe auf Stack mehrere Antworten gesehen: Wie füge ich eine Legende unter das Diagramm ein? Allerdings wird dadurch die Legende unter ein Diagramm gesetzt. Ich habe zwei Diagramme und die Legende sollte zentriert darunter und außerdem horizontal platziert werden.

Im Grunde genommen möchte ich nur eine Box in der Form:

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

Wo <line>ist der Stil der Linie. Dieses Feld sollte zentriert unter den beiden Diagrammen stehen.

Dies ist der Code, die eigentlichen Plots und einige andere Dinge wurden entfernt, um ihn anonym zu halten:

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}

Antwort1

Sie können den legend to nameSchlüssel verwenden, um das gewünschte Ergebnis zu erhalten. Er ist im pgfplots-Handbuch in Abschnitt 4.9.7 auf Seite 265 dokumentiert.

Das folgende Beispiel ist dem Handbuch entnommen:

\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}

verwandte Informationen