Python

【Python】第7章第13回:データ可視化(matplotlibとseaborn)

本記事では、Pythonでデータ可視化を行う際に必須のライブラリ「matplotlib」と「seaborn」の基本操作を学びます。グラフを用いたデータ分析を実現しましょう。

0. 記事の概要

この記事を読むメリット

  • データ理解の向上:グラフを活用してデータの特徴や傾向を視覚的に把握できます。
  • 実践的なスキルの習得:matplotlibやseabornを使ったグラフ作成の基礎を学べます。
  • 分析力の強化:視覚化によってデータ分析の効率と精度を高められます。

この記事で学べること

  • matplotlibとseabornの概要と使い方
  • 基本的なグラフ作成(折れ線グラフ、棒グラフ、散布図など)
  • デザインのカスタマイズと応用例

1. データ可視化の重要性とmatplotlibの概要

1.1 データ可視化の目的

データ可視化とは、データを視覚的に表現することを指します。可視化によって以下が可能になります。

  • データの分布や傾向の把握
  • 異常値やパターンの発見
  • 分析結果の共有とコミュニケーションの向上

1.2 matplotlibの特徴

matplotlibはPythonで最も広く使われるデータ可視化ライブラリで、以下の特徴を持ちます。

  • 多様なグラフの作成が可能(折れ線グラフ、棒グラフ、ヒストグラムなど)
  • 高いカスタマイズ性
  • 簡単な構文で使いやすい

1.3 インストール方法

# matplotlibのインストール
pip install matplotlib

2. matplotlibを使った基本的なプロット

2.1 折れ線グラフ

# matplotlibによる折れ線グラフの作成
import matplotlib.pyplot as plt

# データ
x = [1, 2, 3, 4, 5]
y = [10, 20, 15, 25, 30]

# グラフの作成
plt.plot(x, y)
plt.title("折れ線グラフの例")
plt.xlabel("X軸")
plt.ylabel("Y軸")
plt.show()

2.2 棒グラフ

# matplotlibによる棒グラフの作成
x = ["A", "B", "C", "D"]
y = [10, 15, 7, 20]

plt.bar(x, y)
plt.title("棒グラフの例")
plt.xlabel("カテゴリ")
plt.ylabel("値")
plt.show()
動作解説
  • 折れ線グラフ: plt.plot()でデータの傾向を可視化。
  • 棒グラフ: plt.bar()でカテゴリごとの値を比較。

3. seabornを使った高度な可視化

3.1 seabornの基本概念

seabornは、matplotlibを基盤にしたデータ可視化ライブラリで、美しいデザインと簡単な操作性を提供します。

  • 統計的な可視化が得意
  • 複雑なグラフも少ないコードで作成可能
  • matplotlibと併用可能

3.2 インストール方法

# seabornのインストール
pip install seaborn

3.3 実践例:散布図

# seabornによる散布図の作成
import seaborn as sns
import pandas as pd

# ダミーデータの作成
data = pd.DataFrame({
    "X軸": [1, 2, 3, 4, 5],
    "Y軸": [10, 20, 15, 25, 30],
    "カテゴリ": ["A", "B", "A", "B", "A"]
})

sns.scatterplot(data=data, x="X軸", y="Y軸", hue="カテゴリ")
plt.title("散布図の例")
plt.show()

4. 練習問題

以下の課題に挑戦してみましょう。

  1. matplotlibを使ってヒストグラムを作成してください。
  2. seabornを使ってカテゴリごとの箱ひげ図を作成してください。
  3. 折れ線グラフのタイトルや軸ラベルをカスタマイズしてください。

5. 練習問題の解答と解説

問1〜3の解答例

# 問1: ヒストグラム
data = [1, 2, 2, 3, 3, 3, 4, 4, 5]
plt.hist(data, bins=5)
plt.title("ヒストグラムの例")
plt.show()

# 問2: 箱ひげ図
sns.boxplot(data=data, x="カテゴリ", y="Y軸")
plt.title("箱ひげ図の例")
plt.show()

# 問3: 折れ線グラフのカスタマイズ
plt.plot(x, y, color="red", linestyle="--", marker="o")
plt.title("カスタマイズされた折れ線グラフ")
plt.xlabel("新しいX軸")
plt.ylabel("新しいY軸")
plt.show()

6. まとめ

本記事では、Pythonでのデータ可視化の基本操作を学びました。これらを活用し、実データを使った分析やレポート作成に挑戦してみましょう。