imshowの画像の色を値で指定したい

実現したいこと

imshowの画像の色を値で指定したいです。

前提

発生している問題・エラーメッセージ

該当のソースコード

Python

1import numpy as np 2from matplotlib import pyplot as plt 3 4d = np.array([15,15,30,200,30,0,40,90,0])5d1 = d.reshape(3, 3)6fig, ax = plt.subplots()7im = ax.imshow(d1,cmap="coolwarm")8plt.colorbar(im)

試したこと

値が0なら 白 value=0 ,color='white'
値が20未満なら 青 value < 20 ,color='cyan'
値が20以上50未満なら 緑 value =>20 & <50 ,color='green'
値が50以上なら 赤 value >50 ,color='red'

を、cmap=""の部分に追加したらよいかと思い、
いろいろ調べてみましたが、よくわかりませんでした。

ネット(https://tech-market.org/matplotlib-cmap/)でしらべると、
「画像のcmapを変更したい場合はplt.imshow()のcmapにカラーマップ名を与えることで変更が可能」
とありました。すでにあるカラーマップだとよいのですが、良いものが見当たりません。
「自分でカラーマップを作成することもできる」(https://disassemble-channel.com/matplotlib-colormap-cmap/)という情報をみつけましたが、数値を色に変換する具体的なコードの書き方について読み取ることができませんでした。

どうぞよろしくお願いいたします。

補足情報(FW/ツールのバージョンなど)

Pythonは 3.10.12 です。

コメントを投稿

0 コメント