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

时间:2019-03-26 13:43:19

标签: python matplotlib

我正在尝试创建两个重叠的频谱图,以比较它们之间的差异。

整个图将包含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)

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

1 个答案:

答案 0 :(得分: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)