Shikata Ga Nai

Private? There is no such things.

6. データの可視化入門 〜Matplotlib・Seaborn・Plotlyを使ってみよう〜

Hello there, ('ω')ノ

🔍 1. データ可視化の基本

なぜデータを可視化するのか?

データの分布や傾向を直感的に把握できる!
異常値(外れ値)や欠損値を発見しやすくなる!
データの相関関係を視覚的に理解できる!

Pythonでは Matplotlib、Seaborn、Plotly を使うことで、データの可視化が簡単にできます。

ライブラリ 特徴 主な用途
Matplotlib 最も基本的な可視化ライブラリ 棒グラフ・折れ線グラフ・散布図など
Seaborn 見た目が美しく、統計的な可視化が得意 ヒストグラム・相関行列・ボックスプロットなど
Plotly インタラクティブなグラフが作成可能 ダッシュボード・3Dプロット・地図データ

📌 2. Matplotlibを使ってみよう

まずは、Pythonの基本的な可視化ライブラリ Matplotlib を使ってみましょう!

✅ Matplotlibをインストール&インポート

(Kaggleノートブックでは、最初からインストールされています)

import matplotlib.pyplot as plt
import numpy as np

📊 折れ線グラフ(Line Plot)

まずはシンプルな 折れ線グラフ を描いてみます。

# データ作成
x = np.linspace(0, 10, 100)  # 0から10までの数値を100個生成
y = np.sin(x)  # yはxのsin値

# グラフの作成
plt.plot(x, y, label="sin(x)")
plt.xlabel("X軸")
plt.ylabel("Y軸")
plt.title("Matplotlibで折れ線グラフ")
plt.legend()
plt.show()

ポイント:
- plt.plot(x, y) で折れ線グラフを描画
- plt.xlabel() / plt.ylabel() でラベルを設定
- plt.title() でタイトルを追加
- plt.legend() で凡例を表示


📊 棒グラフ(Bar Chart)

categories = ["A", "B", "C", "D"]
values = [10, 25, 7, 30]

plt.bar(categories, values, color="skyblue")
plt.xlabel("カテゴリ")
plt.ylabel("値")
plt.title("Matplotlibで棒グラフ")
plt.show()

plt.bar() を使うと、棒グラフが簡単に描ける!


📊 散布図(Scatter Plot)

x = np.random.rand(50)
y = np.random.rand(50)

plt.scatter(x, y, color="red", alpha=0.5)
plt.xlabel("X")
plt.ylabel("Y")
plt.title("Matplotlibで散布図")
plt.show()

plt.scatter() で、データの分布を視覚化!


📌 3. Seabornでスタイリッシュな可視化

Matplotlibよりも 見た目が美しい グラフを簡単に作れるのが Seaborn です!

✅ Seabornをインポート

import seaborn as sns
import pandas as pd

📊 ヒストグラム(Histogram)

Seabornを使うと、簡単にデータの分布を確認できます!

# Titanicのデータセットを読み込む
df = pd.read_csv("/kaggle/input/titanic/train.csv")

# 運賃(Fare)の分布を可視化
sns.histplot(df["Fare"], bins=30, kde=True)
plt.title("Seabornでヒストグラム")
plt.show()

sns.histplot() でデータの分布を確認!
kde=True で滑らかな曲線を追加できる!


📊 箱ひげ図(Box Plot)

sns.boxplot(x=df["Pclass"], y=df["Fare"])
plt.title("Seabornで箱ひげ図")
plt.show()

sns.boxplot() で、データのばらつきを視覚化!


📊 相関行列(Correlation Matrix)

import seaborn as sns
import matplotlib.pyplot as plt

# 数値型の列のみを抽出
df_numeric = df.select_dtypes(include=['number'])

# 相関行列のヒートマップを作成
sns.heatmap(df_numeric.corr(), annot=True, cmap="coolwarm")
plt.title("Seabornで相関行列")
plt.show()

sns.heatmap() で、データの相関を視覚化!


📌 4. Plotlyでインタラクティブな可視化

Plotlyを使うと、マウス操作で拡大・移動できるグラフ が作れます!

✅ Plotlyをインポート

import plotly.express as px

📊 インタラクティブな散布図

fig = px.scatter(df, x="Age", y="Fare", color="Survived")
fig.show()

px.scatter() で、簡単に動的なグラフが作れる!


📊 インタラクティブな棒グラフ

fig = px.bar(df, x="Pclass", y="Fare", color="Sex", barmode="group")
fig.show()

Plotlyなら、見やすいグループ化棒グラフが作れる!


🎯 まとめ

Matplotlib:基本的なグラフを作成(折れ線・棒・散布図)
Seaborn:美しい可視化が簡単にできる(ヒストグラム・箱ひげ図・相関行列)
Plotly:インタラクティブなグラフを作成できる!

可視化をマスターすれば、データ分析のスキルがグッと向上します!✨

Best regards, (^^ゞ