2 つの 2D 配列があり、それぞれがマップ上のプロパティを表しています。それらの 1 つは雹の確率 (0% ~ 100%) を表し、もう 1 つは雹の重大度 (0 - 雹なし、1 - 低、2 - 中、3 - 高) を表します。
この配列は、matplotlibimshow
と定義済みのカラーマップを使用して個別にプロットできます。
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
が、データが非常に不規則で、プロットがかなり悪く見えます。
両方の特性を 1 つのカラーマップに結合することを考えていますが、その方法についてはよくわかりません。確率と重大度の組み合わせごとに色が必要だとしましょう。
これを行う方法についてのアイデアはありますか?