[Python] Seabornのヒートマップでマップ上にラベルを表示する


概要


seabornでheatmapを作成する際、マップ上にラベルを表示したい場合があります。

今回はそんな方法についてご紹介します。



方法


heatmapを作る数値をそのまま表示する場合


annot=Trueとすればheatmapの引数に渡したデータの値をマップ上に値を表示できます。

import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns

x=np.random.randint(0, 10, (8, 8))

fig, ax=plt.subplots()
ax=sns.heatmap(x, annot=True)
plt.show()

heatmapを作る数値とは別のラベルを表示したい場合


heatmapを作るデータとは別のラベルを表示したい場合もあります。

例えば、各数値について、それがある条件を満たせば1、満たさなければ0を表示する、などです。

そのような場合は、annotにデータと同じサイズの配列を渡せば良いです。


y=np.zeros(x.shape)

for i in range(x.shape[0]):
    for j in range(x.shape[1]):
        if x[i][j]%2==0:
            y[i][j]=1   //xが偶数の場合yは1とする           
//略
ax=sns.heatmap(x, annot=y)
//略

最新記事

すべて表示

概要 フィッティングを行いたい場合、pythonならばscipy.optimize.leastsqなどでできます。 しかし、フィッティングを行う場合、フィッティングパラメータに条件を付けたい場合も多々あります。 例えば、下記のようにパラメータa、bは共に正の範囲で最適な値を求める、という感じです。 f(x, a, b)=a*x^2+b (a>0 and b>0) 今回はそんな手法についてご紹介しま

靴を大切にしよう!靴管理アプリ SHOES_KEEP

納品:iPhone6.5①.png

靴の履いた回数、お手入れ回数を管理するアプリです。

google-play-badge.png
Download_on_the_App_Store_Badge_JP_RGB_blk_100317.png

テーマ日記:テーマを決めてジャンルごとに記録

訂正①2040×1152.jpg

ジャンルごとにテーマ、サブテーマをつけて投稿、記録できる日記アプリです。

google-play-badge.png