📅  最后修改于: 2023-12-03 15:40:46.924000             🧑  作者: Mango
在绘制 matplotlib 线图时,颜色条能够有效地展示数据集中某一特征的差异性,对于理解数据集非常有帮助。本文介绍如何添加颜色条以绘制 matplotlib 线图。
首先,我们需要准备一个含有不同特征值的数据集,以此来展示颜色条的作用。下面的代码片段可以生成一个二维数组作为数据集。
import numpy as np
# 生成含有不同特征值的数据集
N = 20
X = np.linspace(0, 10, N)
Y = np.linspace(0, 10, N)
Z = np.sin(np.outer(X, Y))
print(Z)
接下来,我们使用 matplotlib 库来绘制线图,可以使用 plt.plot()
函数来绘制线图。下面的代码片段用来绘制 Z
数组中的每一行。
import matplotlib.pyplot as plt
# 绘制每一行
for i in range(N):
plt.plot(X, Z[i, :])
# 显示图像
plt.show()
运行上述代码,可以看到每一行都被单独绘制成一个线条,但并没有颜色条来表示每个数据点的特征值。
为了给线图添加颜色条,可以使用 plt.imshow()
函数,将二维数据集绘制成彩色图片,再在图片旁边添加颜色条。下面的代码片段用来将 Z
数组绘制成图片。
# 将 Z 数组绘制成彩色图片
plt.imshow(Z, aspect='auto', origin='lower', extent=[0,10,0,10])
其中,aspect='auto'
表示自动调整图片宽高比,origin='lower'
表示将坐标系原点设置在左下角,extent=[0,10,0,10]
表示设置图片展示范围为 [0,10]
区间。
接着,我们可以使用 plt.colorbar()
函数来添加颜色条。
# 添加颜色条
plt.colorbar()
最后,我们在 plt.show()
函数之前调用 plt.gca().invert_yaxis()
函数,将纵坐标反转,让原点在左上角。
完整代码如下:
import numpy as np
import matplotlib.pyplot as plt
# 生成含有不同特征值的数据集
N = 20
X = np.linspace(0, 10, N)
Y = np.linspace(0, 10, N)
Z = np.sin(np.outer(X, Y))
# 将 Z 数组绘制成彩色图片
plt.imshow(Z, aspect='auto', origin='lower', extent=[0,10,0,10])
# 添加颜色条
plt.colorbar()
# 反转纵坐标
plt.gca().invert_yaxis()
# 显示图像
plt.show()
运行上述代码,即可看到绘制了含有颜色条的matplotlib线图。
本文介绍了如何给 matplotlib 线图添加颜色条,对于对比数据集中不同特征值之间的差异性非常有帮助。使用 plt.imshow()
函数可以方便地将二维数据集绘制成彩色图片,再结合 plt.colorbar()
函数添加颜色条。