web-dev-qa-db-ja.com

Matplotlibでカラーマップの凡例を作成する

私はmatplotlibでimshow()を次のように使用しています:

import numpy as np
import matplotlib.pyplot as plt
mat = '''SOME MATRIX'''
plt.imshow(mat, Origin="lower", cmap='gray', interpolation='nearest')
plt.show()

さまざまなグレーの濃淡の数値を示す凡例を追加するにはどうすればよいですか。悲しいことに、私のグーグルは答えを明らかにしていません:(

助けてくれてありがとう。

ヴィンス

32
Vince

シンプル、ただ plt.colorbar()

import numpy as np
import matplotlib.pyplot as plt
mat = np.random.random((10,10))
plt.imshow(mat, Origin="lower", cmap='gray', interpolation='nearest')
plt.colorbar()
plt.show()
21
wordsforthewise

Pyplotには、組み込みの colorbar()function があります。

33
Vicki Laidler

いつものように、私はそれを尋ねた直後にそれを把握します;)。後世のために、ここに私の刺し傷があります:

m = np.zeros((1,20))
for i in range(20):
    m[0,i] = (i*5)/100.0
print m
plt.imshow(m, cmap='gray', aspect=2)
plt.yticks(np.arange(0))
plt.xticks(np.arange(0,25,5), [0,25,50,75,100])
plt.show()

もっとエレガントなソリューションが存在すると確信しています。

ヴィンス

3
Vince