简介
在本实验中,我们将学习如何使用 Python 中的 Matplotlib 库创建具有双轴的折线图。我们将在同一图表上绘制两组具有不同比例的数据。当我们想要比较两个具有不同测量单位的相关变量时,这非常有用。
虚拟机提示
虚拟机启动完成后,点击左上角切换到“笔记本”标签以访问 Jupyter Notebook 进行练习。
有时,你可能需要等待几秒钟让 Jupyter Notebook 完成加载。由于 Jupyter Notebook 的限制,操作验证无法自动化。
如果你在学习过程中遇到问题,请随时向 Labby 提问。课程结束后提供反馈,我们将立即为你解决问题。
导入库
我们将首先导入必要的库。我们需要 matplotlib.pyplot 来创建图表,以及 mpl_toolkits.axes_grid1 来创建双轴。
import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid1 import host_subplot
创建图表
接下来,我们将通过定义宿主轴和寄生轴来创建图表。宿主轴将用于主数据,寄生轴将用于辅助数据。
host = host_subplot(111)
par = host.twinx()
设置标签
我们将为两个轴设置标签以及图表的标题。
host.set_xlabel("Distance")
host.set_ylabel("Density")
par.set_ylabel("Temperature")
plt.title("Density and Temperature vs Distance")
添加数据
我们将通过使用 plot 函数把数据添加到图表中。我们会将每条线赋给一个变量,以便之后可以引用它。
p1, = host.plot([0, 1, 2], [0, 1, 2], label="Density")
p2, = par.plot([0, 1, 2], [0, 3, 2], label="Temperature")
设置图表格式
我们将通过设置图例、标签颜色和线条颜色来对图表进行格式设置。
host.legend()
host.yaxis.get_label().set_color(p1.get_color())
par.yaxis.get_label().set_color(p2.get_color())
显示图表
最后,我们将使用 show 函数来显示图表。
plt.show()
总结
在这个实验中,我们学习了如何使用 Python 中的 Matplotlib 库创建一个具有双轴的折线图。我们使用 host_subplot 和 twinx 函数来创建双轴,并使用 plot 函数添加数据。我们通过设置图例、标签颜色和线条颜色来格式化图表。最终得到的图表使我们能够比较两个具有不同计量单位的相关变量。