カラープロットでマトリックスを表示し、2つ以上の特別な値に特定の色を付けたいです。
import numpy as np
from pylab import *
np.random.seed(10)
a=np.random.randint(-1,10, size=(5, 5))
print a
fig, ax = plt.subplots()
mat=ax.matshow(a, cmap=cm.jet, vmin=1, vmax=10)
colorbar(mat)
show()
a
マトリックスの値は次のとおりです。
[[ 8 3 -1 0 8]
[-1 0 9 7 8]
[-1 9 7 5 3]
[ 2 -1 3 5 7]
[ 9 0 7 3 0]]
プロットは次のとおり
です。
すべての-1エントリに黒色を割り当て、すべての0エントリに白色を割り当て、番号1の下のカラーバーに2つの個別の色として表示したいと思います。これが例です。私の写真編集スキルは貧弱ですが、私が何を望んでいるのかを明確にする必要があります(カラーバーは縮尺どおりである必要があります):
連続したjet
カラーマップを持つことは私にとって重要ではありません。私のカラーバーは個別で、たとえば10色で構成され、そのうち2色は白黒で、8色はjet
カラーマップの色です。ただし、値の合計範囲に関係なく、-1と0の色が異なることが重要です。
たとえば、値の範囲が-1から1000の場合: