在 Python Matplotlib 中使用 NaN 对图像进行高斯滤波
matplotlibpythondata visualization
使用 NaN 值对图像进行高斯滤波会使矩阵的所有值都变为 NaN,从而生成一个 NaN 值矩阵。
步骤
- 创建一个图形和一组子图。
- 创建一个矩阵,该矩阵中包含 NaN 值。
- 将数据显示为图像,即在 2D 常规栅格上显示 data。
- 对数据应用高斯滤波器。
- 将数据显示为图像,即在 2D 常规栅格上显示 gaussian_filter_data。
- 要显示图形,请使用 show() 方法。
示例
import numpy as np from matplotlib import pyplot as plt from scipy.ndimage import gaussian_filter plt.rcParams["figure.figsize"] = [7.00, 3.50] plt.rcParams["figure.autolayout"] = True fig, axes = plt.subplots(2) data = np.array([[1., 1.2, 0.89, np.nan], [1.2, np.nan, 1.89, 2.09], [.78, .67, np.nan, 1.78], [np.nan, 1.56, 1.89, 2.78]]) axes[0].imshow(data, cmap="cubehelix_r") gaussian_filter_data = gaussian_filter(data, sigma=1) axes[1].imshow(gaussian_filter_data, cmap="cubehelix_r") plt.show()