Toma(とま)のゲーム日記

MHNOW、MHWIB、ELDEN RING、WILD HEARTSなどの役立ち情報をアップしていきます。ツイッターでの懸賞応募、自炊、家庭菜園といろいろ始めました。

記事内に商品プロモーションを含む場合があります。

【第4回】1行でプロ級のデザイン!Seabornでオシャレなグラフを作ろう【Pythonでグラフを作る短期連載】

これまでの連載で、Matplotlibを使って一通りのグラフが描けるようになりました。 しかし、「もう少し今風の、オシャレな色使いにしたい」「設定を細かく書くのが面倒」と感じることはありませんか?

Pythonでグラフを作る短期連載第4回のアイキャッチ。Seabornライブラリを使ったスタイリッシュなグラフ作成の紹介画像。

今回は、Matplotlibをベースにしながら、より簡単に、そして美しくデータを可視化できるライブラリ「Seaborn」の使い方を解説します!

 

第4回:1行でプロ級のデザイン!Seabornでオシャレなグラフを作ろう【Pythonでグラフを作る短期連載】

 

1. Seaborn(シーボーン)とは?

Seabornは、Matplotlibの上位互換のようなライブラリです。 最大のメリットは、「デフォルトのデザインが洗練されている」ことと、「統計的なグラフが短いコードで書ける」ことです。

Google Colabには最初からインストールされているので、インポートするだけで使えます。

2. 1行で変わる!基本のインポートとスタイル設定

まずは、Seabornを呼び出して「見た目」を整える魔法の1行を書いてみましょう。

import matplotlib.pyplot as plt
import seaborn as sns # snsという名前で呼ぶのが慣例
import japanize_matplotlib

# Seabornのスタイルを適用(日本語フォントを指定して文字化けを防止)
sns.set_theme(font='IPAexGothic')

x = ['A', 'B', 'C', 'D']
y = [10, 25, 15, 30]

plt.bar(x, y)
plt.title('Seaborn適用後の棒グラフ')
plt.show()

💡 豆知識:Seabornで日本語が「□」になる時は?

Seabornの sns.set_theme() は、実行するとフォント設定をリセットしてしまう特性があります。そのため、japanize_matplotlib を使っていても、その後にテーマを設定すると文字化け(豆腐現象)が起きてしまいます。
解決策は、今回のように set_themeの中で直接フォントを指定する こと。これでSeabornのオシャレなデザインと日本語表示を両立できます!

 

Google Colabでのライブラリ読込画面。japanize-matplotlibのインストール状況が表示されている。

初回実行時だけはライブラリのインストール情報が表示される

Google ColabでのSeabornスタイル適用コード。sns.set_themeを使用してグラフを描画するプログラム。

コード実行結果

Seabornのデフォルトテーマが適用された棒グラフ。背景にグリッドがあり、落ち着いた色合いで表示されている。

表示されたグラフ

 

3. Seabornならではの「色分け」テクニック

Seabornの真価は、データのグループ分けが簡単にできる点にあります。 例えば、sns.barplot() を使うと、複雑な設定なしで綺麗な色分けが可能です。

import seaborn as sns
import matplotlib.pyplot as plt
import japanize_matplotlib

# スタイルの再設定(フォント指定含む)
sns.set_theme(font='IPAexGothic')

# サンプルデータ(ランチの注文数イメージ)
menu = ['カレー', '定食', '麺類', 'カレー', '定食', '麺類']
orders = [40, 55, 30, 45, 60, 35]
day = ['平日', '平日', '平日', '休日', '休日', '休日']

# hue(色相)を指定するだけで「平日・休日」の比較が簡単に!
sns.barplot(x=menu, y=orders, hue=day)

plt.title('カテゴリ別の売上比較(Seaborn版)')
plt.show()

 

Seabornのbarplot関数を使用した比較グラフ作成コード。hue引数を用いてデータをグループ化している。

コード実行結果

平日と休日で色分けされたカテゴリ別売上の棒グラフ。凡例が自動で生成され、見やすく比較されている。

作成されたグラフ

 

4. まとめ:なぜエンジニアにSeabornが人気なのか

製品評価やデータ分析の現場では、スピード感も重要です。

  • デザインの自動化:色選びやグリッド設定に悩まなくて良い。
  • 統計機能が強力:平均値や信頼区間を自動で計算して表示してくれる。
  • Matplotlibとの共存:これまで学んだplt.title()などもそのまま使える。

第4回はここまでです。1行コードを足すだけで、グラフの印象がガラッと変わるのがSeabornの面白いところですね。

次回は、いよいよ本番!実務で最も使う「CSVファイルからデータを読み込んでグラフ化する」という流れを実践します。

 

【AI利用に関する開示】当ブログの一部コンテンツには、AI(人工知能)による執筆支援や画像生成を使用しています。