图例条目错误地标记为两个

图例条目错误地标记为两个

我有一张包含三张图和两个 y 轴的图表。其中两张图使用左 y 轴,一张图使用右 y 轴。为了获得包含所有三张图的单个图例,我使用了这个博客这个答案

但是,图例条目出现在错误的图旁边:

在此处输入图片描述

我感觉自己忠实地遵循了这个想法,但显然我做错了什么。你能帮忙吗?

梅威瑟:

\documentclass[border=5pt]{standalone}

\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{compat=1.3}

\begin{document}

    \begin{tikzpicture}

        \begin{axis}[
            axis y line*=left,
            ylabel={Red and Blue},
        ]
        \addplot[red] coordinates{ (0,0) (1,1) (2,2) (3,3) }; \label{plot_red}
        \addplot[blue] coordinates{ (0,1) (1,2) (2,3) (3,4) }; \label{plot_blue}

        \end{axis}

        \begin{axis}[
            axis y line*=right,
            ylabel={Green},
        ]
        \addplot[green] coordinates{ (0,2) (1,3) (2,4) (3,5) }; \label{plot_green}

        \addlegendimage{/pgfplots/refstyle=plot_red}\addlegendentry{red line}
        \addlegendimage{/pgfplots/refstyle=plot_blue}\addlegendentry{blue line}
        \addlegendimage{/pgfplots/refstyle=plot_green}\addlegendentry{green line}

        \end{axis}

    \end{tikzpicture}

\end{document}  

顺便说一句,如果我将所有三个图放在同一个 y 轴上,它就可以正常工作。

答案1

这实际上只是排序问题。您需要在图表之前添加图像(在本例中)。

\documentclass[border=5pt]{standalone}

\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}

\begin{document}

    \begin{tikzpicture}

        \begin{axis}[
            axis y line*=left,
            ylabel={Red and Blue},
        ]
        \addplot[red] coordinates{ (0,0) (1,1) (2,2) (3,3) }; \label{plot_red}
        \addplot[blue] coordinates{ (0,1) (1,2) (2,3) (3,4) }; \label{plot_blue}

        \end{axis}

        \begin{axis}[
            axis y line*=right,
            ylabel={Green},
        ]
        \addlegendimage{/pgfplots/refstyle=plot_red}\addlegendentry{red line}
        \addlegendimage{/pgfplots/refstyle=plot_blue}\addlegendentry{blue line}
        \addlegendimage{/pgfplots/refstyle=plot_green}\addlegendentry{green line}
        \addplot[green] coordinates{ (0,2) (1,3) (2,4) (3,5) }; \label{plot_green}


        \end{axis}

    \end{tikzpicture}

\end{document}  

在此处输入图片描述

相关内容