使用plt.imshow()创建叠加光谱图

问题描述 投票:0回答:1

我正在尝试创建两个叠加的谱图,以便比较它们的差异。

整个情节将包含4个子图,其中(221) = A(223) = B(222) = A+B

我使用cmap来设置A和B的颜色,并希望混合图可以保持与分离图像相同的颜色。

第一直觉是两次调用ax3.imshow(),但它不起作用。


fig = plt.figure()

# SP1
ax1 = fig.add_subplot(221)
cm1 = plt.cm.Reds
cm1.set_under('white')
ax1.imshow(spec1, vmin = 0.1, cmap = cm1)

# SP2
ax2 = fig.add_subplot(223)
cm2 = plt.cm.Blues
cm2.set_under('white')
ax2.imshow(spec2, vmin = 0.1, cmap = cm2)


# mix
ax3 = fig.add_subplot(222)

ax3.imshow(spec1, vmin = 0.1, cmap = cm1)
ax3.imshow(spec2, vmin = 0.1, cmap = cm2)

有人可以分享一些建议吗?谢谢。

python matplotlib
1个回答
1
投票

如何设置透明度:

ax3 = fig.add_subplot(222)

ax3.imshow(spec1, vmin = 0.1, cmap = cm1, alpha=0.5)
ax3.imshow(spec2, vmin = 0.1, cmap = cm2, alpha=0.5)
© www.soinside.com 2019 - 2024. All rights reserved.