はじめに
今回はmatplotlibを使ったデータ可視化についての備忘録を兼ねた記事です。
matplotlibは、Pythonのライブラリで折れ線グラフや棒グラフ等を作成してくれます。
今回使用するライブラリは下記になります。
• pandas
• matplotlib
• seaborn(おまけ)
インストールしてない方は以下でインストールできます。半角スペースを入れると一括でインストールしてくれます。
pip install pandas matplotlib seaborn
CSVを読み込む
今回はサンプルとして、以下のような「仮想の売上データ」を使っていきます(実際には自作DataFrameにするので、CSV不要です)。
import pandas as pd
# サンプルデータを作成
data = {
'日付': ['2025-04-01', '2025-04-02', '2025-04-03', '2025-04-04', '2025-04-05'],
'売上': [10000, 12000, 8000, 15000, 13000],
'商品数': [20, 25, 15, 30, 28]
}
df = pd.DataFrame(data)
print(df)
折れ線グラフで可視化
import matplotlib.pyplot as plt
plt.plot(df['日付'], df['売上'])
plt.title('売上推移')
plt.xlabel('日付')
plt.ylabel('売上(円)')
plt.xticks(rotation=45)
plt.tight_layout()
plt.show()
ポイント:
• plt.plot() で線グラフを描く
• xticks(rotation=45) で日付を見やすくする
• tight_layout() でレイアウトを自動調整する
棒グラフで商品数を比較してみる
plt.bar(df['日付'], df['商品数'])
plt.title('日別商品販売数')
plt.xlabel('日付')
plt.ylabel('商品数')
plt.xticks(rotation=45)
plt.tight_layout()
plt.show()
棒グラフは「数量比較」に向いています。
おまけ
seabornを使用するとでおしゃれなグラフにすることも可能です。
import seaborn as sns
sns.set(style='whitegrid') # スタイルを設定
sns.lineplot(x='日付', y='売上', data=df, marker='o')
plt.title('【seaborn】売上推移')
plt.xticks(rotation=45)
plt.tight_layout()
plt.show()
Seabornはスタイルが良くて、色も自動で綺麗ですね。
使い方はmatplotlibと似ているので、すぐに慣れると思います。
⸻
まとめ
以上がmatplotlibの基本的な使い方になります。
他にもヒストグラムや散布図など様々なグラフを描画しデータを可視化してくれます。
可視化は、データ分析の最初のステップとしてとても大事です。「数字だけじゃよくわからない」を、「パッと見てわかる」に変えてくれる力があります。