Adicione entrada personalizada na legenda no pgfplot

Adicione entrada personalizada na legenda no pgfplot

Quero adicionar algumas entradas manuais na legenda para explicação dos caracteres 'A' e 'B' no lado esquerdo do gráfico. Não tenho outra ideia de onde colocar a definição deles.

insira a descrição da imagem aqui

Portanto, abaixo do “Plote E” na legenda deve estar algo como “A = ...”. Há alguma maneira de fazer isso? Ou existe outra opção?

Responder1

A combinação de \addlegendimagee \addlegendentrypermite adicionar entradas personalizadas. O objetivo do primeiro é adicionar opções gráficas e o segundo é adicionar o texto descritivo.

No seu caso, a pequena imagem da legenda provavelmente não seria nada além do texto "A" ou "B" e o texto da descrição seria... bem, descreveria esses grupos.

Pode-se definir um estilo que não utilize uma área preenchida, uma pequena imagem de legenda, mas simplesmente um nó com texto:

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

insira a descrição da imagem aqui

informação relacionada