在 Matplotlib 中根据像素值设置透明度

matplotlibserver side programmingprogramming更新于 2025/9/12 2:22:17

要在 Matplotlib 中根据像素值设置透明度,请在数据小于特定值时获取掩码数据。较小的值将导致两幅图像完全重叠。

步骤

  • 使用 numpy 创建 data1 和 data2。

  • 使用 numpy 的 masked_where() 方法获取掩码数据。

  • 使用 subplots() 方法创建一个图形和一组子图(fig 和 ax)。

  • 使用 imshow() 方法将数据(data1 和 掩码数据)显示为图像,即在二维常规栅格上显示。使用不同的颜色图:黑色和灰色。

  • 要显示该图,请使用 show()  方法。

示例

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.cm as cm
plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True
data1 = np.random.rand(50, 50)
data2 = np.random.rand(50, 50)
masked_data = np.ma.masked_where(data2 < .7, data2)
fig, ax = plt.subplots()
ax.imshow(data2, cmap=cm.gray)
ax.imshow(masked_data, cmap=cm.jet, interpolation='none')
plt.show()

输出


相关文章