【Python】Matplotlibで円グラフ作成・描く方法|データ分析・可視化入門

こんにちは、DXCEL WAVEの運営者(@dxcelwave)です!

pythonライブラリのMatplotlibを活用して円グラフを描く方法」を解説します。プログラムの組み立てや引数の利用方法も分かりやすく解説しておりますため、是非ご覧下さい。

目次

Python・Matplotlibを用いた円グラフ作成イメージ

本記事はPythonのMatplotlibを用いて円グラフを描けるようになることを目的とした記事です。具体的な例として、上図2つの円グラフを描けるよう解説していきます。

円グラフを描くプログラムのひな型

円グラフを描く際、下記のようなひな型を利用します。

""" ライブラリ """
import matplotlib.pyplot as plt
from matplotlib import rcParams
rcParams["font.family"]     = "sans-serif"
rcParams["font.sans-serif"] = "Hiragino Maru Gothic Pro"

""" (1) データの準備 (円グラフを描くための辞書を準備) """
data = [1,2,3,4]

""" (2) 円グラフのプロット方法指定 """
plt.pie(data)

""" (3) グラフの書式設定 """
plt.title("グラフタイトル")
plt.show()

ここでpie()メソッドには、後述する引数を指定することで、柔軟に円グラフをデザインできるようになります。

引数

スクロールできます
引数概要デフォルト値 (必須:★)
第一引数(data)円グラフ要素毎の値(サイズ)
autopctグラフ構成を百分率[%]で表示None
colors要素毎のカラーNone
counterclockTrue:時計回りで要素出力
False:反時計回りで要素出力
True
explode要素毎の中心からの距離None
labels要素毎のラベル名None
radius円の半径1
shadowTrue:影を表示False
wedgepropsウェッジ設定(枠線の太さ等)None

【実践】円グラフ出力プログラミング(基本形)

実際に円グラフを出力してみましょう!上図の円グラフ(基本形)は下記のようにプログラムを記述します。

""" ライブラリ """
import matplotlib.pyplot as plt
from matplotlib import rcParams
rcParams["font.family"]     = "sans-serif"
rcParams["font.sans-serif"] = "Hiragino Maru Gothic Pro"

""" (1) データの準備 (円グラフを描くための辞書を準備) """

data_dic =  {"Figure": [30, 40, 20, 10],                     # 値を指定
             "Label":  ["好き", "普通", "苦手", "嫌い"],        # ラベルを指定
             "Color":  ["blue", "red", "yellow", "green"],   # 円グラフの色を指定
            }

""" (2) 円グラフのプロット方法指定 """

plt.pie(
        data_dic["Figure"], 
        labels = data_dic["Label"],
        colors = data_dic["Color"],
        autopct = "%1.1f%%",
        wedgeprops = {"edgecolor":"black"}
       ) 

""" (3) グラフの書式設定 """

plt.title("トマト好き嫌いアンケート(N=20)")
plt.tight_layout()
# plt.savefig("円グラフ.png") # 画像を保存する場合
plt.show()

【実践】円グラフ出力プログラミング(強調形)

上図のような円グラフを描くには下記のようにプログラムを記述します。

""" ライブラリ """
import matplotlib.pyplot as plt
from matplotlib import rcParams
rcParams["font.family"]     = "sans-serif"
rcParams["font.sans-serif"] = "Hiragino Maru Gothic Pro"

""" (1) データの準備 (円グラフを描くための辞書を準備) """

data_dic =  {"Figure":  [30, 40, 20, 10],                     # 値を指定
             "Label":   ["好き", "普通", "苦手", "嫌い"],        # ラベルを指定
             "Color":   ["pink", "pink", "pink", "green"],    # 円グラフの色を指定
             "Feature": [0,0,0,0.2],                          # 特徴付け
            }

""" (2) 円グラフのプロット方法指定 """

plt.pie(
        data_dic["Figure"],            
        labels  = data_dic["Label"],     
        colors  = data_dic["Color"],    
        explode = data_dic["Feature"],   
        autopct = "%1.1f%%",                
        startangle = 90,                   
        shadow = True,
        wedgeprops = {"edgecolor":"black"},
       ) 

""" (3) グラフの書式設定 """

plt.title("トマト好き嫌いアンケート(N=20)")
plt.tight_layout()
# plt.savefig("円グラフ.png") # 画像を保存する場合
plt.show()

【参考】Pythonでのデータ前処理・分析・可視化

当サイトではPythonを用いた「データ前処理手法」「データ分析」「グラフや表を用いた可視化」手法について幅広く解説しております。AI・機械学習にも応用できる内容となっておりますため、興味がある方は併せてご確認下さい。

Pythonを活用したデータ処理・分析手法一覧



【参考】Pythonとは・できること一覧

最後に

この記事が気に入ったら
フォローしてね!

本記事をシェア!
目次