matplotlib绘制双轴折线图后如何显示图例
时间: 2023-09-07 17:11:34 浏览: 103
python使用matplotlib绘图时图例显示问题的解决
要显示matplotlib绘制的双轴折线图的图例,可以使用plt.legend()函数。该函数可以接受一个包含每个线条标签的列表作为参数,并将其绘制在图表上方。下面是一个简单的双轴折线图例子,展示如何使用plt.legend()函数来显示图例:
```
import matplotlib.pyplot as plt
import numpy as np
# 生成数据
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
# 绘制双轴折线图
fig, ax1 = plt.subplots()
ax2 = ax1.twinx()
ax1.plot(x, y1, 'g-', label='sin')
ax2.plot(x, y2, 'b-', label='cos')
# 显示图例
lines = ax1.get_lines() + ax2.get_lines()
labels = [line.get_label() for line in lines]
plt.legend(lines, labels, loc='best')
plt.show()
```
在上面的例子中,我们首先生成了两个数据集y1和y2,然后使用ax1.plot()和ax2.plot()函数将它们分别绘制在左轴和右轴上。接着,我们使用ax1.get_lines()和ax2.get_lines()函数获取所有的线条对象,并将它们传递给plt.legend()函数,同时将每个线条的标签传递给labels参数。最后,我们使用loc='best'来指定图例的位置,使其尽可能地不遮挡数据。
阅读全文