Seabornを使ってPythonで3列のデータからヒートマップを作成する方法
Pythonの可視化ライブラリSeabornを使用すると、数行のコードで美しいヒートマップを簡単に作成できます。この記事では、3列のデータフレームからヒートマップを描画する手順を解説します。
ヒートマップ作成の基本手順
Seabornで3列のデータのヒートマップを描画するには、以下の手順に従います。
- 図のサイズを設定し、サブプロット間および周囲の余白を調整します。
- 3列を持つデータフレーム(df)を作成します。
sns.heatmap()を使って、長方形データを色分けされたマトリックスとして描画します。- show()メソッドを呼び出して、図を画面に表示します。
サンプルコード
以下は、NumPyで生成したランダムな3×3のデータをヒートマップとして表示する完全なコード例です。
import seaborn as sns import pandas as pd import numpy as np import matplotlib.pyplot as plt # 図のサイズとレイアウトを設定 plt.rcParams["figure.figsize"] = [7.50, 3.50] plt.rcParams["figure.autolayout"] = True # 3列(a, b, c)を持つデータフレームを作成 df = pd.DataFrame(np.random.random((3, 3)), columns=["a", "b", "c"]) # ヒートマップを描画(カラーバーは非表示) sns.heatmap(df, cbar=False) plt.show()
コードのポイント解説
- plt.rcParams["figure.figsize"]:図のサイズを幅7.50インチ、高さ3.50インチに設定しています。用途に応じて自由に変更できます。
- plt.rcParams["figure.autolayout"]:Trueにすることで、ラベルやタイトルが図の外にはみ出さないよう余白が自動調整されます。
- np.random.random((3, 3)):0〜1の範囲の一様乱数で構成される3×3の配列を生成します。実際の分析では、自分のデータセットに置き換えてください。
- cbar=False:右側に表示されるカラーバー(カラースケール)を非表示にするオプションです。値の目安を表示したい場合は、この引数を省略するか
Trueを指定してください。
実行結果
上記のコードを実行すると、行と列(a・b・c)の交差するセルが数値の大きさに応じて色の濃淡で表現されたヒートマップが表示されます。

まとめ
Seabornのheatmap()関数を使えば、相関行列やクロス集計表など、表形式の数値データを直感的に把握できるヒートマップを最小限のコードで作成できます。cmap引数でカラーマップを変更したり、annot=Trueで各セルに数値を表示したりすることで、さらに見やすいグラフにカスタマイズすることも可能です。
-
Python(Matplotlib)とSeabornで作成したプロットを画像ファイルとして保存する方法
Seabornで作成したプロットをファイルに保存するには、savefig()メソッドを使用します。このメソッドはMatplotlibのFigureオブジェクトが持つ機能で、グラフをPNGやPDFなどの画像ファイルとして出力できます。 手順 図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。 pandasを使って、2次元の表形式データ(DataFrame)を作成します。サイズは変更可能で、異なるデータ型を含むこともできます。 sns.pairplot()を使って、データセット内の変数間のペアワイズ関係(ペアごとの関係性)をプロットします。 savefig()メソッド
-
SeabornのヒートマップからX軸・Y軸ラベルを削除する方法
Seabornで作成したヒートマップからX軸またはY軸のラベルを削除したい場合は、yticklabels=False(またはxticklabels=False)を指定するだけで簡単に実現できます。手順図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。5つの列を持つPandasのデータフレームを作成します。heatmap()メソッドを使用して、データを色分けされた行列として可視化します。このときyticklabels=Falseを指定すると、Y軸のラベルが非表示になります。X軸のラベルを消したい場合はxticklabels=Falseを使用してください。最後にshow