如何使用 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()

输出


相关文章