在图例条目中叠加几位艺术家

She*_*hep 3 python matplotlib

我正在尝试向背景中有补丁的图例添加一个条目。所需的效果与此处显示的类似,但我还想叠加一条线。基本上我想得到看起来像这样的东西:

在此输入图像描述

但我不知道如何将蓝色虚线放在黄色补丁上。如何组合艺术家才能达到这种效果?我没有看到任何例子或明显的方法来做到这一点。

Vee*_*rac 5

基本思想是使用与plt.legend([(X, Y)])渲染相同的图例条目。请注意额外的一对括号。XY

这是一个与您的示例大致匹配的演示:

import matplotlib.patches as mpatches
import matplotlib.lines as mlines
import matplotlib.pyplot as plt

yellow_patch = mpatches.Patch(color='yellow')
blue_dotted_line = mlines.Line2D([], [], linewidth=2, linestyle="--", dashes=(3.7, 2), color='blue')
brown_line = mlines.Line2D([], [], linewidth=2, color='brown')

plt.legend([(yellow_patch, blue_dotted_line), brown_line], ["Entry One", "Entry Two"])

plt.show()
Run Code Online (Sandbox Code Playgroud)

图例与所需图像大致匹配。

你是对的,但它并不明显。