我有两个二维数组,分别代表地图上的一种属性。其中一个表示冰雹的概率(0%-100%),另一个表示冰雹的严重程度(0-无冰雹,1-低,2-中,3-高)。
我可以使用matplotlib的
我可以使用matplotlib的
imshow
和预定义的颜色映射单独绘制这些数组:import matplotlib.pyplot as plt
import matplotlib.colors as cl
cmap = cl.ListedColormap(['#00FF00', '#FFFF00', '#FF0000'])
bounds = [0, 30, 60, 100]
norm = cl.BoundaryNorm(bounds, cmap.N)
plt.subplot(121)
plt.imshow(hail_prob, cmap=cmap, norm=norm)
cmap = cl.ListedColormap(['#00FF00', '#FFFF00', '#FF0000'])
bounds = [0.5, 1.5, 2.5, 3.5]
norm = cl.BoundaryNorm(bounds, cmap.N)
plt.subplot(122)
plt.imshow(hail_sev, cmap=cmap, norm=norm)
如上所述,这很容易。
然而,我希望有一个独特的情节,结合了两个特征。我已经测试过contour
函数,但是数据相当不规则,绘图效果很差。
我一直在考虑将两种特性合并成一个颜色映射,但我不太确定如何做到这一点。假设我想要每个概率和严重程度的组合颜色。
有什么想法吗?