在matplotlib中legend的创建只能是一个,在这篇文章中将讲述如何在一张figure中创建两个legend
传统的创建爱方法最后一个legend会覆盖前面的legend并且只会显示一个legend
本文章产考matplotlib英文手册,如有问题欢迎在评论栏提出
代码:
import matplotlib.pyplot as plt line1, = plt.plot([1,2,3],label = "text1",linestyle = '--') line2, = plt.plot([3,2,1],label = "text2",linewidth = 4) #创建一个图标 first_legend = plt.legend(handles = [line1],loc = 1) ax = plt.gca().add_artist(first_legend) plt.legend(handles = [line2],loc = 4) plt.show()
在代码中的gca()返回axes,就是返回figure对象,add_artist()是在原有的figure上添加内容,在此处添加的是一个legend
笔者也试过类似添加第二个legend方式添加第一个legend,但是第一个legend无法显示