Python matplotlib pcolormesh覆盖的颜色混合(倍增)

Python matplotlib pcolormesh覆盖的颜色混合(倍增),python,matplotlib,colormap,Python,Matplotlib,Colormap,我试图用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.ra

我试图用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‘multiply’blend中实现,但我需要一个Python解决方案

你希望输出是这样吗我使用的是你自己的数据,但我无法理解你期望的输出是什么,我给出代码的绘图,但饱和度更高;阿尔法消除了“纯”红色和蓝色以及混合紫色的饱和度。呃,[0,0]通常不是黑色吗?