heatmap作成のチュートリアル
それでは、具体的にいくつかの例を通してヒートマップを作成してみましょう。
基本的なヒートマップの作成
まず、Seabornが提供するload_dataset関数でデータセットをロードし、pivotメソッドを使用してDataFrameを再構成します。これにより、数字データの部分のみが読み込まれるようになります。この例ではglueデータセットを使用し、モデルごとのタスクスコアをヒートマップにします。
import seaborn as sns
# データセットのロードとピボット
glue = sns.load_dataset("glue").pivot(index="Model", columns="Task", values="Score")
# ヒートマップの作成
sns.heatmap(glue)
このコードを実行すると以下のようなヒートマップが生成されます。

セルの値の注釈付け
annot=Trueを指定することで、各セルに数値を注釈として表示できます。これにより、値を一目で確認できるようになります。
sns.heatmap(glue, annot=True)

注釈のフォーマット
fmtパラメータを使用して、注釈の数値フォーマットを制御できます。例えば、fmt=".1f"とすると、小数点以下1桁までの数値が表示されます。
sns.heatmap(glue, annot=True, fmt=".1f")

別のDataFrameを使った注釈
注釈に別のDataFrameを使用して、例えばランキングなど別の情報を表示することもできます。
sns.heatmap(glue, annot=glue.rank(axis="columns"))

セル間に線を追加
linewidthsパラメータを使ってセル間に線を追加し、視覚的な分離を強調できます。
sns.heatmap(glue, annot=True, linewidths=.5)

カラーマップの選択
cmapパラメータを使用して、様々なカラーマップから選択したり、カラーマップオブジェクトを渡してカスタマイズしたりできます。
# 名前で選択
sns.heatmap(glue, cmap="crest")
# カラーマップオブジェクトを使用
sns.heatmap(glue, cmap=sns.cubehelix_palette(as_cmap=True))
名前で選択
カラーマップオブジェクトを使用カラーマップの範囲の調整
vminとvmaxを設定することで、データ値に対応するカラーマップの最小点と最大点を指定できます。
sns.heatmap(glue, vmin=50, vmax=100)

matplotlibの軸オブジェクトを使用したカスタマイズ
sns.heatmapはmatplotlibの軸(Axes)オブジェクトを返すため、これを使用してプロットをさらに微調整することが可能です。
ax = sns.heatmap(glue, annot=True)
ax.set(xlabel="", ylabel="")
ax.xaxis.tick_top()

まとめ
以上の方法で、Seabornのheatmap関数を使って、さまざまなデータの相関やパターンを視覚的に表現するヒートマップを作成することができます。データの分析やプレゼンテーションに役立ててください。
heatmapのようなグラフは、何を見せたいかが決まると設定の選び方も自然に決まってきます。可視化を含めたデータ分析の基礎を順に学べるコースをSiiDでも用意しています。
AIプログラミングスクール「SiiD」について
AIプログラミングスクール「SiiD」は、未経験からITエンジニア転職を目指す方向けのオンラインスクールです。
SiiDの特徴
- 現役エンジニアでYouTube登録者約13万人の「セイト先生」が代表兼主任講師
- 採用側の実務知見(2,000人以上の選考・150名以上のエンジニア採用)にもとづく指導
- 生成AIを取り入れた学習設計と、実務レベルのフルスタックWeb開発スキル
- Workship CAREER(株式会社GIG)と連携した無料の転職伴走支援
- 経済産業省認定のReスキル講座で、給付金の条件を満たせば実質105,600円〜
- 学割あり(35%オフ)
こんな方におすすめ
- 未経験・文系・社会人からITエンジニア転職を本気で目指したい方
- 独学に限界を感じている方
- 費用を抑えながら実務スキルと転職サポートを両立したい方
「未経験だから」とあきらめる必要はありません。採用する側を知り尽くしたプロが、給付金で負担を抑えながら内定まで伴走します。