Добавить пользовательскую запись в легенду в pgfplot

Добавить пользовательскую запись в легенду в pgfplot

Я хочу добавить ручную запись в легенду для объяснения персонажей 'A' и 'B' в левой части графика. У меня нет других идей, где разместить их определение.

введите описание изображения здесь

Итак, ниже "Plot E" в легенде должно быть что-то вроде "A = ...". Есть ли способ это сделать? Или есть другой вариант?

решение1

Комбинация \addlegendimageи \addlegendentryпозволяет добавлять пользовательские записи. Цель первой — добавить графические опции, а цель второй — добавить текст описания.

В вашем случае небольшое изображение легенды, вероятно, будет представлять собой не что иное, как текст «A» или «B», а текст описания будет... ну, описывать эти группы.

Можно определить стиль, который не использует заполненную область или небольшое изображение легенды, а просто узел с текстом:

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

введите описание изображения здесь

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