86 Matplotlibを使ったデータ分析マスター編 ①積み上げ棒グラフ②散布図③ヒストグラム
はじめに
こんにちは!TechCommitメンバーの友季子です♬
今回は、Matplotlibを使ったデータ可視化についてまとめてみます。データ分析や可視化に興味がある方にお役に立てればと思い、執筆しました。特に、Pythonを学ばれている方の参考になる部分があれば幸いです!
今回は、データ分析でよく使う3つのグラフを紹介します:
積み上げ棒グラフ
散布図
ヒストグラム
それぞれのグラフ作成の流れや使い方を、簡単に解説していきます!
1. 積み上げ棒グラフ
積み上げ棒グラフは、カテゴリごとの値がどのように分布しているかを視覚的に表現できます。複数のデータセットを一つの棒グラフに積み上げて表示するので、全体と部分の関係が把握しやすいです。
実装例
import matplotlib.pyplot as plt
import numpy as np
# データ
years = ['2020', '2021', '2022']
sales_A = [150, 180, 200]
sales_B = [100, 120, 160]
sales_C = [80, 90, 120]
#li 積み上げ棒グラフの作成p
plt.bar(years, sales_A, label='商品A')
plt.bar(years, sales_B, bottom=sales_A, label='商品B')
plt.bar(years, sales_C, bottom=np.array(sales_A) + np.array(sales_B), label='商品C')
# グラフの設定
plt.xlabel('年')
plt.ylabel('売上')
plt.title('年間商品別売上')
plt.legend()
# 表示
plt.show()
メソッド解説
plt.bar(): 棒グラフを作成するための関数。bottomを使って積み上げの開始位置を指定します。+で組み合わせているよ!
np.array(): NumPyの配列を使ってデータを操作し、別のデータを積み上げるために使います。
plt.legend(): グラフの凡例(商品名など)を表示します。
2. 散布図
散布図は、2つの変数の関係性を視覚化するために使います。データの点がどのように散らばっているかを見ることで、データ間の相関関係がわかりやすくなります。
実装例
import matplotlib.pyplot as plt
# データ
advertising = [50, 60, 70, 80, 90]
sales = [200, 250, 280, 350, 400]
# 散布図の作成
plt.scatter(advertising, sales, color='b', label='広告費と売上')
# グラフの設定
plt.xlabel('広告費 (万円)')
plt.ylabel('売上 (万円)')
plt.title('広告費と売上の関係')
plt.legend()
# 表示
plt.show()
メソッド解説
plt.scatter(): 散布図を描画する関数。2つの変数を指定し、データの相関を点で表現します。
color: 散布図の点の色を指定できます。
plt.xlabel() / plt.ylabel(): それぞれx軸とy軸のラベルを設定します。
3. ヒストグラム
ヒストグラムは、データの分布を視覚化するために使われます。特定の範囲内にどれだけのデータが含まれているか、データのばらつき具合を確認する際に便利です。
実装例
import matplotlib.pyplot as plt
# データ
sales_data = [200, 220, 250, 280, 300, 320, 350, 380, 400, 420, 450, 470, 500]
# ヒストグラムの作成
plt.hist(sales_data, bins=5, color='g', edgecolor='black')
# グラフの設定
plt.xlabel('売上 (万円)')
plt.ylabel('頻度')
plt.title('売上分布のヒストグラム')
# 表示
plt.show()
メソッド解説
plt.hist(): ヒストグラムを描画する関数。binsでデータの区切りを指定できます。
edgecolor: 棒の輪郭の色を設定するオプションで、見やすさが向上します。
終わりに
今回は、PythonのMatplotlibを使って、積み上げ棒グラフ、散布図、ヒストグラムの3種類のグラフを紹介しました。それぞれ異なるデータの可視化方法として、活用できる場面が多いです。もしこの記事が、Pythonやデータ分析の学習の参考になれば幸いです!
この記事が気に入ったらサポートをしてみませんか?