如何使用 Matplotlib 中的 imshow 将 NaN 值绘制为特殊颜色?
matplotlibserver side programmingprogramming更新于 2025/5/11 10:52:17
首先,我们可以创建一个包含一些 np.nan 值的数组矩阵,然后使用 imshow 方法为该矩阵创建一个图表。
步骤
创建一个新图形,或激活现有图形。
将 `~.axes.Axes` 添加到图形中作为子图排列的一部分,nrows = 1、ncols = 1、index = 1。
使用 np.nan 创建 2D 数组。
将数据显示为图像,即在 2D 常规栅格上。
使用 draw() 方法在给定的位置绘制图形位置。
要显示图形,请使用 plt.show() 方法。
示例
import numpy as np import matplotlib.pyplot as plt f = plt.figure() ax = f.add_subplot(111) a = [ [1, 3, 5, np.nan, 8, 9, np.nan], [11, 13, 51, 71, 18, 19, 10], [11, 31, 51, 71, 81, 91, 10], [10, 30, 50, 70, np.nan, np.nan, np.nan], [np.nan, 3, 5, np.nan, 8, 9, np.nan] ] ax.imshow(a, interpolation='nearest', vmin=0, vmax=24) f.canvas.draw() plt.show()