【毎日Python】Pythonでデータフレームから円グラフを作成する方法|DataFrame.plot.pie

plot_pie
こつこつPython

Pythonで円グラフを作成する方法です。
使用するのはPythonのpandasライブラリのplot.pieメソッドです。
Pythonにはmatplitlibというライブラリがありますが、pandasのplotメソッドでも簡単にグラフ作成を行うことができます。

import pandas as pd
import numpy as np
import random

このようなデータフレームを使用します。

data = np.random.randint(10, 100,(5, 2))
idx =  ['Python', 'C++', 'SQL', 'Java', 'JavaScript']
col= ['2021', '2020']
df = pd.DataFrame(data=data, index=idx, columns=col)
df

実行結果:
df

まず、2021年のデータで円グラフを作成してみましょう。
dfに角括弧でカラムを指定して列を抽出します。
引数には、何も指定せずに実行します。
2021年の円グラフを作成することができました。

df['2021'].plot.pie()

実行結果:
graph01

このように、1つの列を抽出して円グラフを作成する場合には、引数yでカラムを指定することも可能です。
実行します。
同じく2021年の円グラフを作成することができました。
なお、引数yで作成した場合には、凡例が付きます。

df.plot.pie(y='2021')

実行結果:
graph02

次に、すべての列の円グラフを作成してみましょう。
引数subplotsにTrueを指定します。
また、グラフを見やすくするために、引数figsizeでサイズを大きめに設定します。
実行します。
2020年と2021年の円グラフを作成することができました。
このように、すべてのカラムのデータをグラフにしたい場合には、引数subplotsをTrueに指定します。

df.plot.pie(subplots=True, figsize=(7, 7))

実行結果:
graph03

次に、グラフ全体の色の種類も変更してみましょう。
引数colormapに色の種類を指定して実行します。
色を変更することができました。

df.plot.pie(y='2021',figsize=(7, 7),cmap='plasma')

実行結果:
graph04

最後に、それぞれのパーセンテージを表示させてみましょう。
引数autopctに、文字列のフォーマットで整数部分のパーセントのみ表示するように指定します。
それぞれパーセンテージを表示させることができました。

df.plot.pie(y='2021',figsize=(10, 10),autopct='%.f%%')

実行結果:
graph05

関連メソッド

【毎日Python】Pythonでデータフレームからグラフを作成|DataFrame.plot

【毎日Python】Pythonでデータフレームから棒グラフを作成|DataFrame.plot.bar

【毎日Python】Pythonで棒グラフを作成する方法|matplotlib.pyplot.bar

【毎日Python】Pythonでデータフレームから横棒グラフを作成|DataFrame.plot.barh

【毎日Python】Pythonでシリーズからヒストグラムを作成する方法|Series.plot.hist

【毎日Python】Pythonで円グラフを作成する方法 | matplotlib.pyplot.pie

未経験からはじめるPython学習「キノクエスト」 キノクエスト
  • スキルアップしたいけど何からはじめればよいかわからない…
  • プログラミングスクールに入りたいけど料金が高い…
  • プログラミングを学んでも業務やキャリアに活かせるか不安…

キノクエストは、このような悩みを持つ方にぴったりのプログラミング学習サービスです。
国内最大級のプログラミング学習系YouTubeチャンネル「キノコード」が提供しているから、未経験者にもわかりやすく質の高い学習体験を実感していただけます。

キノクエスト