我尝试使用matplotlib pcolormesh覆盖两组数值,其值介于0,1之间。这样做没问题:
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec
import matplotlib.colors as colors
%matplotlib inline
array1 = np.random.random([20,20])
array2 = np.random.random([20,20])
fig, ax = plt.subplots()
heatmap = ax.pcolormesh(array1, cmap=plt.cm.Reds, alpha=0.5)
heatmap2 = ax.pcolormesh(array2, cmap=plt.cm.Blues, alpha=0.5)
结果是正确混合的,除了动态范围被分成两部分(当一个高(接近1)而另一个是0时,我们不能得到全红色或全蓝色值,因为alpha混合使一切都变成了更加沉闷)。
我之后的颜色类似于颜色的乘法:接近[1,0]的值应为全红色,接近[0,1]的值应为全蓝色,值接近[1] ,1]完整品红色,值接近[0,0]白色。
可以有这样的2D色彩图吗?
现在我可以在Photoshop中实现它'乘以'混合,但我需要一个Python解决方案