Pandasは、Pythonでデータ分析を行うための強力なライブラリです。その中でも、.plotメソッドは、データフレームから簡単にグラフを作成できる便利な機能です。今回は、.plot.pieメソッドを使って、円グラフを作成する方法を解説します。
円グラフとは?
円グラフは、全体に対する各部分の割合を視覚的に表現するグラフです。円を各部分の割合に応じた大きさに分割することで、データの構成比をわかりやすく示します。
.plot.pieメソッドのシグネチャ
Python
DataFrame.plot.pie(y=None, **kwargs)パラメータ:
- y: 円グラフを作成する際に使用する列名。デフォルトはNoneで、最初の数値列が使用されます。
- kwargs: その他のキーワード引数。Matplotlibのpie()関数に渡されます。
kwargsでよく使うパラメータ:
- figsize: グラフのサイズをタプル(幅, 高さ)で指定します。
- title: グラフのタイトルを指定します。
- labels: 各部分のラベルを指定するリスト。デフォルトはデータフレームのインデックスが使用されます。
- colors: 各部分の色を指定するリスト。Matplotlibで定義されている色名またはカラーコードを使用できます。
- autopct: 各部分の割合を表示する書式を指定する文字列。’%1.1f%%’のように指定します。
- startangle: 円グラフの開始角度を指定する数値。デフォルトは0度です。
- explode: 各部分を円の中心から離す距離を指定するリスト。デフォルトはすべて0です。
- shadow: Trueに設定すると影を表示します。
プログラム例
Python
import pandas as pd
import matplotlib.pyplot as plt
# Sample data creation
data = {
'Fruit': ['Apple', 'Orange', 'Grape', 'Banana'],
'Sales': [30, 25, 15, 10]
}
df = pd.DataFrame(data)
# Pie chart creation
df.plot.pie(y='Sales', figsize=(8, 6), title='Fruit Sales', labels=df['Fruit'])
plt.show()
解説:
pandasとmatplotlib.pyplotをインポートします。- サンプルデータを作成し、DataFrameに格納します。
df.plot.pie()メソッドで円グラフを作成します。y='Sales'で円グラフに使用する列を'Sales'に指定します。figsize=(8, 6)でグラフのサイズを指定します。title='Fruits Sales'でグラフのタイトルを指定します。labels=df['Fruits']で各部分のラベルに’果物’列の値を使用します。
plt.show()でグラフを表示します。
カスタマイズ例
Python
import pandas as pd
import matplotlib.pyplot as plt
# Sample data creation
data = {
'Fruit': ['Apple', 'Orange', 'Grape', 'Banana'],
'Sales': [30, 25, 15, 10]
}
df = pd.DataFrame(data)
# Pie chart creation
df.plot.pie(y='Sales',
figsize=(8, 6),
title='Fruit Sales',
labels=df['Fruit'],
colors=['red', 'orange', 'purple', 'yellow'], # 色を指定
autopct='%1.1f%%', # 割合を表示
startangle=90, # 開始角度を90度に設定
explode=[0.1, 0, 0, 0], # 'Apple'を少し離す
shadow=True # 影を表示
)
plt.show()
解説:
colorsパラメータで各部分の色を指定しています。autopct='%1.1f%%'で各部分の割合を小数点以下1桁まで表示しています。startangle=90で円グラフの開始角度を90度に設定しています。explode=[0.1, 0, 0, 0]で’りんご’の部分を円の中心から少し離しています。shadow=Trueで影を表示しています。
このように、kwargsで様々なパラメータを指定することで、グラフをカスタマイズすることができます。
参考になるWEBサイト
次回:
次回は、.plot.scatterメソッドを使って散布図を作成する方法を解説します。お楽しみに!
今回も少しだけPRです。
Pandasについて詳しく知りたいかた、もっと使いこなしたい方におすすめの本です。数年前に購入しましたが、今も手元に置いて時々見返しています。
「pandasクックブック Pythonによるデータ処理のレシピ」Theodore Petrou著、黒川利明訳。
最後まで読んでいただきありがとうございます。73


コメント