ドーナツチャート

入門

6.1.3

ドーナツチャート

最終更新 2020-02-26 読了時間 1 分
まとめ
  • ドーナツチャートでカテゴリごとの構成比率を視覚的に表現する。
  • matplotlib.pyplot.pie と中央の空白円を組み合わせて描画する。
  • ポートフォリオ配分や売上構成など、割合の全体像を伝えたいときに使う。

ドーナツチャート(ドーナツグラフ)はカテゴリごとの比率を表示するために使用される円グラフの一種で、真ん中に空白があります。空白に特別な意味はありませんが、ここに全体の統計量(たとえば、『合計XXX円』など)を表示したりします。ドーナツチャートはmatplotlib.pyplot.pieを使ってpython上でドーナツチャートを作成します。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
import matplotlib.pyplot as plt

# プロット用のデータ
percent = [40, 20, 20, 10, 10]
explode = [0, 0, 0, 0, 0]
labels = ["米国", "エマージング", "日本", "欧州", "その他"]

percent.reverse()
explode.reverse()
labels.reverse()

# 円グラフを作成
plt.figure(figsize=(7, 7))
plt.pie(x=percent, labels=labels, explode=explode, autopct="%1.0f%%", startangle=90)

# 真ん中に空白の円を追加
background_color = "#fff"
p = plt.gcf()
p.gca().add_artist(plt.Circle((0, 0), 0.8, color=background_color))

plt.show()

ドーナツチャートはmatplotlib.pyplot.pieを使ってpython上でドーナツチャートを作成しますの図

いつ使うか #

  • 適している場面: 全体に対する各カテゴリの割合を直感的に伝えたいとき。カテゴリが5つ以下の場合に効果的です。
  • 不向きな場面: カテゴリが多いと小さいスライスが識別困難になり、角度の微妙な差も正確に比較できません。
  • 代替手段: 正確な比較には横棒グラフの方が長さで値を判別しやすく優れています。

よくある失敗パターン #

  • スライスが多すぎる: 6 カテゴリ以上に分割すると角度の差が小さくなり比較困難です。上位3〜5カテゴリに絞り、残りは「その他」にまとめてください。
  • 3D 効果の使用: 3D パイチャートは遠近法で手前のスライスが大きく見え、面積比がデータと一致しません。必ず 2D で描画してください。