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

今回は、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のオシャレなデザインと日本語表示を両立できます!



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()


4. まとめ:なぜエンジニアにSeabornが人気なのか
製品評価やデータ分析の現場では、スピード感も重要です。
- デザインの自動化:色選びやグリッド設定に悩まなくて良い。
- 統計機能が強力:平均値や信頼区間を自動で計算して表示してくれる。
- Matplotlibとの共存:これまで学んだ
plt.title()などもそのまま使える。
第4回はここまでです。1行コードを足すだけで、グラフの印象がガラッと変わるのがSeabornの面白いところですね。
次回は、いよいよ本番!実務で最も使う「CSVファイルからデータを読み込んでグラフ化する」という流れを実践します。