Python matplotlib 绘制双Y轴曲线图的示例代码

Python matplotlib 绘制双Y轴曲线图的示例代码

在数据分析和可视化的过程中,我们经常需要绘制多个不同量级或者不同单位的变量的趋势变化,而这个变化通常存在非常大的差异性。这时,我们可以通过 matplotlib 库来绘制双Y轴曲线图,使得我们可以同时显示两种数据的趋势变化,从而更好地理解和分析数据。

下面,我们将细致介绍如何在 Python 中使用 matplotlib 库绘制双Y轴曲线图的示例代码。

1. 安装 matplotlib

在使用 matplotlib 库之前,我们需要先在 Python 中安装该库。使用 pip 安装 matplotlib 的命令如下所示:

pip install matplotlib

2. 导入库

在开始使用 matplotlib 绘制图表前,我们需要先导入该库。

import matplotlib.pyplot as plt

import numpy as np

3. 准备数据

在绘制双Y轴曲线图前,我们需要先准备好两组数据,这里我们使用 numpy 来生成两组数据进行演示。

x = np.arange(0, 5, 0.1)

y1 = np.sin(x)

y2 = np.power(x, 2) * temperature

上面的代码中,我们使用 arange 函数生成了[0,5)中间的等间距数字,步长为0.1。然后,我们使用 numpy 的 sin 函数生成了 y1 数据的值,并使用 x 作为自变量;同样地,我们使用 numpy 的 power 函数生成了 y2 数据的值。

4. 绘制双Y轴曲线图

接下来,我们将使用 matplotlib 库来绘制双Y轴曲线图。我们可以使用 subplot 函数来创建左右两个子图,分别绘制左右 Y 轴对应的数据,如下所示:

fig, ax1 = plt.subplots()

ax2 = ax1.twinx() # 建立共享x轴的两个y轴

ax1.plot(x, y1, 'g-') #设置第一个y轴

ax2.plot(x, y2, 'b-') #设置第二个y轴

ax1.set_xlabel('X data') # 设置X轴标签

ax1.set_ylabel('Y1 data', color='g') # 设置第一个Y轴标签

ax2.set_ylabel('Y2 data', color='b') # 设置第二个Y轴标签

plt.show()

上面的代码中,我们首先使用 subplot 函数创建了左右两个子图,而且使用 twinx 函数将右边的 y 轴与左边的 y 轴共享 x 轴。

然后,我们分别使用 plot 函数绘制了两组数据对应的曲线,其中 'g-' 和 'b-' 分别表示第一个曲线和第二个曲线的颜色以及线条类型。

最后,我们通过 set_xlabel、set_ylabel、set_ylabel 函数分别设置了 X 轴、左 Y 轴和右 Y 轴的标签。

5. 结果展示

下图是我们在 matplotlib 库中绘制的双Y轴曲线图的结果。可以看到,左边的绿色曲线对应 y1 值,而右边的蓝色曲线对应 y2 值。

6. 总结

本文从 matplotlib 库的安装、导入库、数据的准备、绘制双Y轴曲线图四个方面,详细介绍了如何在 Python 中使用 matplotlib 库绘制双Y轴曲线图的示例代码,并通过对示例代码的详细分析,使我们更好地理解和掌握该库的使用方法。

在实际应用过程中,我们可以通过修改 x 和 y 数据的值和类型,以及修改绘图函数的属性参数,来增强曲线图的可读性和美观性,从而更好地探索数据的趋势和变化。

后端开发标签