![在 pgfplot 中的图例中添加自定义条目](https://linux22.com/image/299070/%E5%9C%A8%20pgfplot%20%E4%B8%AD%E7%9A%84%E5%9B%BE%E4%BE%8B%E4%B8%AD%E6%B7%BB%E5%8A%A0%E8%87%AA%E5%AE%9A%E4%B9%89%E6%9D%A1%E7%9B%AE.png)
我想在图例中添加一些手动输入来解释图左侧的字符“A”和“B”。我不知道该把它们的定义放在哪里。
因此,图例中“图 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}