Fügen Sie der Legende in pgfplot einen benutzerdefinierten Eintrag hinzu

Fügen Sie der Legende in pgfplot einen benutzerdefinierten Eintrag hinzu

Ich möchte der Legende einen manuellen Eintrag zur Erklärung der Zeichen „A“ und „B“ auf der linken Seite des Diagramms hinzufügen. Ich habe keine andere Idee, wo ich deren Definition einfügen soll.

Bildbeschreibung hier eingeben

Unter „Plot E“ in der Legende sollte also etwas wie „A = …“ stehen. Gibt es eine Möglichkeit, dies zu tun? Oder gibt es eine andere Option?

Antwort1

Die Kombination aus \addlegendimageund \addlegendentryermöglicht das Hinzufügen benutzerdefinierter Einträge. Der Zweck des ersten ist das Hinzufügen grafischer Optionen und der Zweck des zweiten ist das Hinzufügen des Beschreibungstextes.

In Ihrem Fall wäre das kleine Legendenbild wahrscheinlich nichts weiter als der Text „A“ oder „B“ und der Beschreibungstext würde … nun ja, diese Gruppen beschreiben.

Man könnte einen Stil definieren, der keinen ausgefüllten Bereich oder ein kleines Legendenbild verwendet, sondern einfach einen Knoten mit Text:

\documentclass{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.10}

\pgfplotsset{
    legend image with text/.style={
        legend image code/.code={%
            \node[anchor=center] at (0.3cm,0cm) {#1};
        }
    },
}

\begin{document}

\begin{tikzpicture}
\begin{semilogyaxis}[
    domain=0:4,
]
    \addplot {x};   \addlegendentry{$x$}
    \addplot {x^2}; \addlegendentry{$x^2$}
    \addplot {x^3}; \addlegendentry{$x^3$}
    \addlegendimage{legend image with text=A}
    \addlegendentry{$= 42$}
    \addlegendimage{legend image with text=B}
    \addlegendentry{$\approx 43$}
    \addplot {x^(-1)}; \addlegendentry{$x^{-1}$}
    \addplot {x^(-2)}; \addlegendentry{$x^{-2}$}
    \addplot {x^(-3)}; \addlegendentry{$x^{-3}$}
\end{semilogyaxis}
\end{tikzpicture}

\end{document}

Bildbeschreibung hier eingeben

verwandte Informationen