こんにちは、JS2IIUです。
Pandasは、Pythonでデータ分析を行うための強力なライブラリです。その中でも、.plotメソッドは、データフレームから簡単にグラフを作成できる便利な機能です。今回は、.plot.areaメソッドを使って、積み上げグラフを作成する方法を解説します。
積み上げグラフとは?
積み上げグラフは、複数のデータ系列の値を積み重ねて表示するグラフです。それぞれの系列の値の合計が全体の値となり、各系列が全体に占める割合を視覚的に把握することができます。
.plot.areaメソッドのシグネチャ
Python
DataFrame.plot.area(x=None, y=None, **kwargs)パラメータ:
- x: x軸に使用する列名またはインデックス。デフォルトはNoneで、データフレームのインデックスが使用されます。
- y: y軸に使用する列名またはインデックス。デフォルトはNoneで、すべての数値列が使用されます。
- kwargs: その他のキーワード引数。Matplotlibのplot()関数に渡されます。
kwargsでよく使うパラメータ:
- stacked: Trueに設定すると積み上げグラフになります。デフォルトはTrueです。
- alpha: 透明度を指定します。0.0 (透明) から 1.0 (不透明) の間の値を指定します。
- colormap: 色のグラデーションを指定します。Matplotlibで定義されているカラーマップ名を使用します。
- figsize: グラフのサイズをタプル(幅, 高さ)で指定します。
- title: グラフのタイトルを指定します。
- xlabel: x軸のラベルを指定します。
- ylabel: y軸のラベルを指定します。
- grid: Trueに設定するとグリッド線を表示します。
プログラム例
Python
import pandas as pd
import matplotlib.pyplot as plt
# サンプルデータの作成
data = {
'Year': [2020, 2021, 2022],
'Product A': [100, 120, 150],
'product B': [50, 60, 80],
'Product C': [30, 40, 50]
}
df = pd.DataFrame(data)
# 積み上げグラフの作成
df.plot.area(x='Year', stacked=True, figsize=(8, 6), title='Sales of Products Over Time')
plt.legend()
plt.xlabel('Year')
plt.ylabel('Sales')
plt.show()解説:
pandasとmatplotlib.pyplotをインポートします。- サンプルデータを作成し、DataFrameに格納します。
df.plot.area()メソッドで積み上げグラフを作成します。x='Year'でx軸に’年’列を使用することを指定します。stacked=Trueで積み上げグラフであることを指定します。figsize=(8, 6)でグラフのサイズを指定します。title='Sales of Products Over Time'でグラフのタイトルを指定します。
plt.xlabel()でx軸のラベルを指定します。plt.ylabel()でy軸のラベルを指定します。plt.show()でグラフを表示します。
カスタマイズ例
Python
import pandas as pd
import matplotlib.pyplot as plt
# サンプルデータの作成
data = {
'Year': [2020, 2021, 2022],
'Product A': [100, 120, 150],
'Product B': [50, 60, 80],
'Product C': [30, 40, 50]
}
df = pd.DataFrame(data)
# 積み上げグラフの作成
df.plot.area(x='Year',
stacked=True,
figsize=(8, 6),
title='Sales of Products Over Time',
colormap='viridis', # カラーマップを変更
alpha=0.7, # 透明度を調整
grid=True # グリッド線を表示
)
plt.xlabel('Year')
plt.ylabel('Sales')
plt.show()解説:
colormap='viridis'でカラーマップを’viridis’に変更しています。alpha=0.7で透明度を0.7に設定しています。grid=Trueでグリッド線を表示しています。
このように、kwargsで様々なパラメータを指定することで、グラフをカスタマイズすることができます。
参考になるWEBサイト
- pandas.DataFrame.plot.area — pandas 1.5.3 documentation
- pandasのplotメソッドでグラフを作成しデータを可視化 | note.nkmk.me
- とりあえずグラフを表示してみる|Pandas の使い方をざっくり知りたい演習 100 – Zenn
次回:
次回は、.plot.barメソッドを使って棒グラフを作成する方法を解説します。お楽しみに!
今回も少しだけPRです。
Pandasについて詳しく知りたいかた、もっと使いこなしたい方におすすめの本です。数年前に購入しましたが、今も手元に置いて時々見返しています。
「pandasクックブック Pythonによるデータ処理のレシピ」Theodore Petrou著、黒川利明訳。
最後まで読んでいただきありがとうございます。73

