我正在尝试使用 a 的结果fill between
作为图例条目,但是无法使其工作:
\documentclass{article}
\usepackage{tikz}
\usepackage{pgfplots}
\usepgfplotslibrary{fillbetween}
\begin{document}
\begin{figure}
\begin{tikzpicture}
\begin{axis}
\addplot[name path = upper, draw = none] {5 + rand};
\addplot[name path = lower, draw = none] {-5 + rand};
\addplot[black!10, area legend] fill between[of = upper and lower];
\addlegendentry{My interval}
\end{axis}
\end{tikzpicture}
\end{figure}
\end{document}
给出
area legend
使用图例图像中的一条线而不是我期望在选项中使用的矩形\addplot
。
我尝试使用以下方式手动提供图例图像
\addlegendimage{\draw[fill = black!10] (0cm, -0.1cm) rectangle (0.6cm, 0.1cm)}
但这什么也没做。(该\draw
代码受到 pgfplots 手册中第 4.9.5 节的启发,应该是条目的默认外观area legend
。)
有什么想法吗?提前致谢。
编辑:
添加area legend
轴选项使我完成一半,但填充仍然不正确。
答案1
John Kormylo 的评论让我走上了正确的道路。关键是让图例仅通过发布forget plot
到前两个图来引用第三个图。以下作品:
\begin{axis}
\addplot[name path = upper, draw = none, forget plot] {5 + rand};
\addplot[name path = lower, draw = none, forget plot] {-5 + rand};
\addplot[fill = black!10, area legend] fill between[of = upper and lower];
\addlegendentry{My interval}
\end{axis}