Python in Excel には、データ可視化のためのライブラリがあらかじめ含まれています。
この記事では、Seaborn を使って、Excel のバンドデータをもとに 複数の属性を同時に表現した散布図を作成する手順を確認します。
Python in Excelの導入記事↓
Python in Excelにおけるpandas DataFrameの基本 – Lean Data Office
Seabornについては過去に解説記事を上げています。
これを機に確認ください。
Seaborn入門:Pythonで始めるデータ可視化 – Lean Data Office
Seabornとは何か
Seaborn は、Python でデータを可視化するためのライブラリです。
Matplotlib をベースにしつつ、少ないコードで見やすいグラフを作成できることが特徴です。
Python in Excel の初期化環境にも含まれているため、追加設定なしで使用できます。

seaborn: statistical data visualization — seaborn 0.13.2 documentation
公式ドキュメントには Gallery が用意されており、
折れ線、棒グラフ、散布図、ヒートマップなど、さまざまな可視化例が確認できます。
Seaborn でどのような表現ができるのかを把握する際の参考になります。

今回使用するデータは、バンド情報をまとめた Excel テーブルです。
各行には、以下の情報が含まれています。
- バンド名
- ジャンル
- 結成年
- メンバー数
このデータを使って、ジャンルごとの分布や特徴を可視化します。

別シートの Python セルで、次のコードを実行します。
bands = xl("BandsData[#すべて]", headers=True)
これにより、Excel のテーブル全体が pandas の DataFrame として定義されます。
以降のグラフ作成処理は、この DataFrame を対象に行います。

Seabornを使った散布図の作成
Seaborn と Matplotlib を組み合わせて、散布図を作成します。
Seaborn はグラフそのものを描画するためのライブラリですが、
図の枠や軸の管理といった土台部分は Matplotlib が担っています。
Seaborn は Matplotlib の上に成り立っており、両者を組み合わせて使うのが一般的です。
まず、Seaborn のテーマを設定し、
Matplotlib で図(figure)と軸(axis)を作成します。
この axis に対して、軸ラベルの回転やグリッド線の調整を行います。
sns.set_theme(style="whitegrid")
f, ax = plt.subplots(figsize=(8, 8))
ax.tick_params(axis='x', rotation=90)
ax.grid(linewidth=.25)
グラフの土台が整ったら、Seaborn の scatterplot() を使って可視化を行います。
sns.scatterplot(x="Genre", y="Group", size="Members", hue="Year", data=bands, ax=ax)

ジャンルを横軸、バンド名を縦軸に配置し、
メンバー数を点の大きさ、結成年を色の違いとして表現しています。
このように、
- レイアウトや細かい調整は Matplotlib
- データ表現は Seaborn
という役割分担にすることで、
少ないコード量で見やすい散布図を作成できます。
コードを実行すると、Python の実行結果としてグラフが生成され、
Excel のセル内に画像として表示されます。
この時点では、セルの中に小さく表示された状態です。

セル内の画像をオーバーレイ表示に切り替え、
参照を作成することで、グラフ全体を確認しやすい状態にします。
これにより、Excel 上で通常の図として扱えるようになります。

作成した散布図の見方

作成された散布図では、次の情報が同時に表現されています。
- 横軸(Genre):バンドのジャンル
- 縦軸(Group):バンド名
- 点の大きさ(Members):バンドのメンバー数
- 点の色(Year):バンドの結成年
ジャンルごとの分布に加えて、
メンバー数の違いは円の大きさで、
結成年の違いは色の違いで確認できます。
少ないコード量で、複数の属性を同時に可視化できている点が、
Seaborn を使う大きなメリットです。
まとめ
Seaborn を使うことで、Excel データをもとにした散布図を、少ないコードで分かりやすく可視化できます。
Python in Excel 上でそのままグラフを作成できるため、データ分析や傾向把握を Excel の作業フローの中で完結させることが可能です。