简介:本文介绍了如何在Python中使用Matplotlib库绘制包含两个纵坐标轴的图表,适用于需要同时展示不同量纲或范围数据的场景。通过实例和步骤说明,即使是初学者也能轻松上手。
在数据分析和可视化中,经常需要同时展示两组数据,而这些数据可能具有不同的量纲或范围,因此在一个图表中使用两个纵坐标轴(也称为双Y轴图)变得非常有用。Python的Matplotlib库提供了强大的绘图功能,可以轻松实现这一需求。
首先,确保你已经安装了Matplotlib库。如果未安装,可以通过pip安装:
pip install matplotlib
plt.figure()和plt.subplot()或plt.subplots()创建图表和第一个纵坐标轴。twinx()方法在当前轴上添加第二个纵坐标轴。plt.show()显示图表。假设我们有一组关于时间(月份)的销售额(单位:万元)和温度(单位:摄氏度)的数据,我们想要在同一个图表中展示它们。
import matplotlib.pyplot as pltimport numpy as np# 示例数据months = np.arange(1, 13, 1)sales = np.random.randint(100, 500, size=12) # 假设的销售额数据temperatures = np.random.uniform(low=5, high=30, size=12) # 假设的温度数据# 创建图表和第一个纵坐标轴fig, ax1 = plt.subplots()# 绘制销售额数据color = 'tab:red'ax1.set_xlabel('月份')ax1.set_ylabel('销售额 (万元)', color=color)ax1.plot(months, sales, color=color, marker='o', label='销售额')ax1.tick_params(axis='y', labelcolor=color)ax1.legend(loc='upper left')# 添加第二个纵坐标轴ax2 = ax1.twinx()# 绘制温度数据color = 'tab:blue'ax2.set_ylabel('温度 (°C)', color=color)ax2.plot(months, temperatures, color=color, marker='s', linestyle='--', label='温度')ax2.tick_params(axis='y', labelcolor=color)ax2.legend(loc='upper right')# 显示图表plt.title('月份销售额与温度对比图')plt.show()
通过Matplotlib的双纵坐标图功能,我们可以有效地在同一个图表中展示不同量纲或范围的数据,使得数据对比和分析更加直观和方便。希望本文的指南和示例代码能帮助你快速上手这一强大的数据可视化工具。