実現したいこと
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 です。
回答1件
あなたの回答
tips
プレビュー