Pynote

Python、機械学習、画像処理について

matplotlib - 円グラフを作成する。

概要

matplotlib で円グラフを作成する方法について紹介する。


円グラフpyplot.pie() または Axes.pie() で作成できる。

import matplotlib.pyplot as plt

x = [100, 200, 300, 400, 500]
labels=['label1', 'label2', 'label3', 'label4', 'label5']

# 円グラフを作成する。
fig, axes = plt.subplots(figsize=(4, 4))
axes.pie(x, labels=labels, autopct='%1.1f %%')

plt.show()


一部の項目を強調する。

import matplotlib.pyplot as plt

x = [100, 200, 300, 400, 500]
labels=['label1', 'label2', 'label3', 'label4', 'label5']
explode = [0, 0.1, 0, 0, 0]

# 円グラフを作成する。
fig, axes = plt.subplots(figsize=(4, 4))
axes.pie(x, labels=labels, explode=explode)

plt.show()


最初の項目をどの角度から始めるかを設定する。

import matplotlib.pyplot as plt

x = [100, 200, 300, 400, 500]
labels=['label1', 'label2', 'label3', 'label4', 'label5']

# 円グラフを作成する。
fig = plt.figure(figsize=(6, 6))
fig.subplots_adjust(wspace=0.5, hspace=0.5)
params = [0, 90, 180, 270]

for i, param in enumerate(params):
    axes = fig.add_subplot(2, 2, i + 1)

    axes.pie(x, labels=labels, startangle=param)
    axes.set_title("startangle='{}'".format(param))

plt.show()


影を設定する。

import matplotlib.pyplot as plt

x = [100, 200, 300, 400, 500]
labels=['label1', 'label2', 'label3', 'label4', 'label5']

# 円グラフを作成する。
fig = plt.figure(figsize=(9, 4))
fig.subplots_adjust(wspace=0.5, hspace=0.5)
params = [True, False]

for i, param in enumerate(params):
    axes = fig.add_subplot(1, 2, i + 1)

    axes.pie(x, labels=labels, shadow=param)
    axes.set_title("shadow='{}'".format(param))

plt.show()