自定义区域图例图像不起作用

自定义区域图例图像不起作用

我正在尝试使用 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}

在此处输入图片描述

相关内容