【Python可視化】散布図とカスタマイズの基本|見やすいグラフを描くためのポイント

データ分析において「関係性」を見たいときに便利なのが散布図(scatter plot)です。特に、2つの変数の相関を直感的に理解するのに役立ちます。

今回は、matplotlib を使った散布図の描き方と、色・サイズ・透明度などのカスタマイズ方法を解説します。複数系列を視覚的に区別する方法も紹介するので、実務やレポートにも応用できる内容です。


🔰 基本の散布図を描こう

散布図は plt.scatter() を使って描画します。

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 4, 1, 3, 7]

plt.scatter(x, y)
plt.title("基本の散布図")
plt.xlabel("Xの値")
plt.ylabel("Yの値")
plt.grid(True)
plt.show()
  • x:横軸のデータ
  • y:縦軸のデータ

この基本形を理解しておけば、散布図のカスタマイズはとても簡単です。


🎨 色・サイズ・透明度を変えてみよう

plt.scatter() には以下のようなオプションがあります:

オプション説明
color or c点の色(”red”, “blue”など)
s点のサイズ(数値で指定)
alpha透明度(0〜1)
plt.scatter(x, y, color="red", s=100, alpha=0.6)
  • s=100 で点を大きめに
  • alpha=0.6 で少し透明にして重なりを見やすく

🧠 複数系列の散布図を描く

カテゴリ別に色を分けて描くことで、グループの違いがひと目でわかります。

x1 = [1, 2, 3]
y1 = [2, 3, 2]
x2 = [4, 5, 6]
y2 = [5, 6, 7]

plt.scatter(x1, y1, color="blue", label="Aグループ")
plt.scatter(x2, y2, color="orange", label="Bグループ")
plt.title("グループごとの散布図")
plt.xlabel("特徴量X")
plt.ylabel("特徴量Y")
plt.legend()
plt.grid(True)
plt.show()

label + plt.legend() を使うことで、グラフ内に凡例が表示されます。
プレゼン資料や報告書で非常に役立つ機能です。


📐 実践:変数の関係を可視化して傾向を探る

例えば以下のように、商品の価格と売上数の関係を見ることで「価格が高いと売れにくいのか?」といった傾向を視覚的に分析できます。

price = [100, 200, 300, 400, 500]
sales = [500, 450, 300, 150, 100]

plt.scatter(price, sales, color="green", s=80)
plt.title("価格と売上数の関係")
plt.xlabel("価格(円)")
plt.ylabel("売上数(個)")
plt.grid(True)
plt.show()

グラフを見れば、「価格が上がるほど売上が減っている」という負の相関が一目瞭然です。


💡 散布図の使いどころ

  • 2つの変数の関係性を視覚化したいとき
  • クラス分類やクラスタリング結果の可視化
  • モデルの誤差分析(予測値 vs. 実測値)

✅ まとめ

学んだこと内容
基本の散布図plt.scatter(x, y)
カスタマイズ色(color)、サイズ(s)、透明度(alpha
グループ分け表示系列ごとに label をつけて legend() を使う
実務活用例相関や傾向をビジュアルに伝えるのに最適

散布図は「データのパターンや傾向を見つける」ための強力な可視化手段です。
次回は複数グラフの同時表示(subplot)を扱うので、さらに表現力がアップします!


📝 練習問題(理解度チェック)

  1. 以下のデータで散布図を作成し、点の色を "purple"、サイズを 80、透明度を 0.5 にして表示してください。
x = [5, 10, 15, 20, 25]
y = [2, 4, 5, 7, 8]
  1. グループA(x = [1, 2, 3], y = [3, 4, 2])と、グループB(x = [4, 5, 6], y = [6, 7, 8])のデータを、それぞれ異なる色でプロットし、凡例を付けて表示してください。

次回

【Pythonグラフ作成】複数グラフを1つの画面に描く|subplotの使い方をやさしく解説

前回の内容

【Python初心者向け】matplotlibでグラフを描く基本|折れ線・棒グラフの描き方

コメント

タイトルとURLをコピーしました