matplotlibで、seabornを使わないでヒートマップを書く方法
Python でヒートマップを書きたいなぁと調べていたら、seabornを使わないで書く方法もあるるということを知ったのでメモ的に書き残します。
参考にしたサイトは下記です。 spcx8.hatenablog.com
具体的には下記のように、imshowを使います
import numpy as np import matplotlib.pyplot as plt # 10x10のダミーデータ作成 mat = np.random.rand(10,10) # ヒートマップ表示 plt.figure() plt.imshow(mat,interpolation='nearest',vmin=0,vmax=1,cmap='jet') plt.colorbar() plt.show()
注意点としては、 * 引数の interpolation='nearest' は設定しないと、データ間を補間して表示してしまうい、データ間の境界がはっきりしなくなる。 * imshow は画像表示用のため、原点が左上にとられてしまう。これを避けるには、引数に origin='lower' を加えてやる必要がある。
まとめると、以下のようにimshowの引数を書くと私好みな簡単ヒートマップが書けそうです
plt.imshow(ary, interpolation='nearest', vmin=0, vmax=1, cmap='viridis', origin='lower')