【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. 練習問題
以下の課題に挑戦してみましょう。
- matplotlibを使ってヒストグラムを作成してください。
- seabornを使ってカテゴリごとの箱ひげ図を作成してください。
- 折れ線グラフのタイトルや軸ラベルをカスタマイズしてください。
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でのデータ可視化の基本操作を学びました。これらを活用し、実データを使った分析やレポート作成に挑戦してみましょう。