📜  辅助 y 轴 matplotlib - Python (1)

📅  最后修改于: 2023-12-03 15:28:17.240000             🧑  作者: Mango

辅助 y 轴 matplotlib - Python

在数据可视化中,我们常常需要展示多个不同量纲或者变化范围差别较大的数据。此时,将多个 y 轴叠加在同一图中可能使得图像难以理解,因此我们需要通过设置辅助 y 轴的方式来解决。

本文将介绍如何在 Matplotlib 中创建带有辅助 y 轴的图表。

准备工作

首先,我们需要导入 Matplotlib 库和 NumPy 库。

import matplotlib.pyplot as plt
import numpy as np

我们将使用 NumPy 库创建一些随机数据,以便在后续的示例中使用。

np.random.seed(0)

# 创建两个随机数组
x = np.arange(10)
y1 = np.random.randint(0, 10, size=10)
y2 = np.random.randint(0, 100, size=10)
创建带有辅助 y 轴的图表

Matplotlib 中实现辅助 y 轴的方法是通过创建两个坐标系,并将它们放在同一张图表中。下面就是创建带有两个 y 轴的图表的代码:

fig, ax1 = plt.subplots()

# 设置主坐标系上的线条
ax1.plot(x, y1, 'g-', label='y1', linewidth=2.0)

# 设置主坐标系的坐标轴标签
ax1.set_xlabel('x')
ax1.set_ylabel('y1')

# 创建一个与主坐标系共享x轴的辅助坐标系
ax2 = ax1.twinx()

# 设置辅助坐标系上的线条
ax2.plot(x, y2, 'r-', label='y2', linewidth=2.0)

# 设置辅助坐标系的坐标轴标签
ax2.set_ylabel('y2')

# 添加图例
ax1.legend(loc='upper left')
ax2.legend(loc='upper right')

# 显示图像
plt.show()

在这段代码中,我们首先创建了一个主坐标系 ax1,并画了一个绿色的实线图。然后,我们设置了主坐标系的 x 轴和 y 轴的标签。接着,我们创建了一个与主坐标系共享 x 轴的辅助坐标系 ax2,并画了一个红色的实线图。最后,我们设置了辅助坐标系的 y 轴的标签,并添加了两个图例(分别位于左上角和右上角)。

运行以上代码,我们将得到一个带有两个 y 轴的图表,如下所示:

image-20220119183308348

在这个图表中,我们可以很直观地看到两个不同取值范围的变量的变化趋势。同时,我们也可以通过辅助坐标系的 y 轴标签和图例了解到每个变量对应的线条。

总结

在 Matplotlib 中,我们可以通过创建多个坐标系来将多个不同量纲或变化范围差异较大的变量的变化趋势展示在同一张图表上。本文介绍了如何创建带有辅助 y 轴的图表,希望能够帮助大家更好地理解数据可视化中的常见技巧。