在传奇文章中叠加了几位艺术家

时间:2014-09-20 03:35:27

标签: python matplotlib

我试图在后台有补丁的图例中添加条目。期望的效果类似于here所示的效果,但我也想覆盖一条线。基本上,我试图得到这样的东西:

enter image description here

但我不知道如何在黄色斑块上涂上蓝色虚线。如何结合艺术家才能获得这种效果呢?我没有看到任何示例或显而易见的方法。

1 个答案:

答案 0 :(得分:1)

基本思路是使用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()

The legend approximately matching the wanted image.

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