我想生成一个自定义的matplotlib
图例,对于每个条目,每个标签有两行,如本例所示:
根据一些研究,似乎可以简单地提供两个handles' to the
fig.legend(句柄、标签)`方法(参见this post作为示例)。但是,如下面的示例代码所示,这只是将这些行相互重叠
import matplotlib.lines as mlines
import matplotlib.pyplot as plt
blue_line = mlines.Line2D([], [], color='r')
green_line = mlines.Line2D([], [], linestyle='--', color='k')
fig, ax = plt.subplots(figsize=(5, 5))
handles = [(blue_line,green_line)]
labels = ['test']
fig.legend(handles=handles, labels=labels, fontsize=20)
因此,我想我要么需要转换一个Line2D
对象,要么生成一个包含两行的新Patch
对象。然而,我不知道如何做到这一点-有没有一种简单的方法来组合两个补丁,或者我错过了组合手柄的技巧
如果这对其他人有帮助的话,上下文是我正在使用讨论的技术here,这是一个双轴,它被着色以同时显示两个不同的图。但是,这两行具有相同的标签,因此我想将它们组合在一起
在matplotlib图例指南中有一章介绍custom legend handlers。您可以根据自己的需要进行调整,例如:
为了有多个这样的条目,可以提供一些参数元组,然后
Handler
使用这些参数来绘制图例这是一个不充分的解决方案,我已经来后,玩了。我张贴它,以防它有助于其他人,但更愿意这样做的正确。它使用两列,第一列的标签作为“/”或者一列可以同样使用“and”
相关问题 更多 >
编程相关推荐