seabornで大きいヒートマップを出力すると自動で軸を省略してくれる。
数値ならいいけど軸が文字列だったりすると困る。
seaborn 0.9.0 documentationに設定が載ってたので、
今後また躓いた時のために軸を省略しない方法を簡単に書き残す。
何も考えずに出力した場合
seabornを用いて以下のようなコードで30×30のランダム行列をヒートマップ化してみる。
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
import numpy as np
N = 30 #正方行列サイズ
X = np.random.rand(N,N) #ランダムな行列の生成
hoge = [str(i+1) for i in range(N)] #適当なラベル
df = pd.DataFrame(X,index = hoge,columns = hoge) #データフレーム化
sns.heatmap(df) #ヒートマップ作成
plt.show() #表示
このような マイクラのブロック ヒートマップが作成される。
1,3,5...と軸が省略される。
普段は困らないけど軸が文字列だったりすると困る時がある。
軸を省略しないで出力する
以下のようにキーワード引数を設定する。
sns.heatmap(df,
xticklabels = 1, #x軸
yticklabels = 1 #y軸
) #ヒートマップ作成
無事軸ラベルが省略されずに幸せになれる。
以上。