欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

matplotlib使用ax绘制子图,让plot和vlines绘制的子图的图例共同显示

程序员文章站 2022-03-19 15:02:28
...
l1= ax1.plot()
ax2 = ax1.twinx()
l2= ax2.plot()
l3 = ax1.vlines()
lines = l1 + l2 + [l3]
labels = [l.get_label() for l in lines]
plt.legend(lines, labels)

ax.vlines返回的对象类型和ax.plot返回的类型不一致,导致直接加和为lines报错,发现l1和l2均为list类型,给l3加上[],类型一致,达到预期效果。