在 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()
输出


