我试图在后台有补丁的图例中添加条目。期望的效果类似于here所示的效果,但我也想覆盖一条线。基本上,我试图得到这样的东西:
但我不知道如何在黄色斑块上涂上蓝色虚线。如何结合艺术家才能获得这种效果呢?我没有看到任何示例或显而易见的方法。
答案 0 :(得分:1)
基本思路是使用plt.legend([(X, Y)])
在同一图例条目中呈现X
和Y
。注意额外的一对括号。
这是一个与您的示例大致匹配的演示:
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()
你是对的,但这并不明显。