CodeGym /コース /Python SELF JA /カテゴリーを視覚的に表示する円グラフの作成

カテゴリーを視覚的に表示する円グラフの作成

Python SELF JA
レベル 41 , レッスン 4
使用可能

1. 円グラフの概念と使用例

円グラフ(パイチャート)は、全体を部分的に分けた構成を視覚的に示す方法だよ。もし10人の友達に好きなプログラミング言語を聞いて、それをグラフで見せたい場合、この円グラフが完璧。市場シェアや、プログラミングと猫の動画を観る時間の配分のような、構成要素を示すのに最高だね。

pie()関数を使った円グラフの作成

Matplotlibにはpie()という素晴らしい関数があるから、円グラフを作るのが超簡単になるよ!

使い方の基本例を見てみよう:

Python

import matplotlib.pyplot as plt

# グラフ用データ
labels = ['Python', 'JavaScript', 'C++', 'Java']
sizes = [40, 30, 20, 10]  # 割合(パーセンテージ)
colors = ['gold', 'yellowgreen', 'lightcoral', 'lightskyblue']  # セグメントの色

# グラフを描画する
plt.pie(sizes, labels=labels, colors=colors, autopct='%1.1f%%', startangle=140)

# 円グラフの軸を調整
plt.axis('equal')

# グラフを表示
plt.show()
    

この例では、カテゴリ(プログラミング言語)、サイズ、そして使用する色を定義しているよ。その後、pie()関数を呼び出してグラフを作成してるんだね。パラメータautopct='%1.1f%%'はセグメントに割合を表示し、startangle=140はグラフを回転させて見た目を良くしてるよ。

2. 円グラフのカスタマイズ

円グラフは新年パーティーのドレスみたいなもの、自分の好みに合わせてカスタマイズできるよ。いくつか方法を見てみよう。

割合の表示 autopct

autopctパラメータを使うと、各カテゴリの割合をセクター内に表示できるよ。"%1.1f%%"っていう値は小数点以下1ケタで割合を表示するフォーマットなんだ。

Python

import matplotlib.pyplot as plt

labels = ["猫", "犬", "鳥", "魚"]
sizes = [35, 30, 20, 15]

plt.pie(sizes, labels=labels, autopct="%1.1f%%")
plt.title("ペットの人気度")
plt.show()
    

セグメントを強調する explode

explodeパラメータは、セクターを中心からずらして、1つまたは複数のセグメントを強調表示できるよ。特定のカテゴリに注目させたいときに便利だよ。

Python

import matplotlib.pyplot as plt

labels = ["猫", "犬", "鳥", "魚"]
sizes = [35, 30, 20, 15]
explode = (0.1, 0, 0, 0)  # 最初のセクター(猫)を強調

plt.pie(sizes, labels=labels, autopct="%1.1f%%", explode=explode)
plt.title("ペットの人気度")
plt.show()
    

ここでは「猫」のセクターが中心から10%ずれて(0.1)、注目を集めているね。

セクターの色を変更する colors

colorsパラメータを使って、各セクターに色を設定できるよ。

Python

import matplotlib.pyplot as plt

labels = ["猫", "犬", "鳥", "魚"]
sizes = [35, 30, 20, 15]
colors = ["#ff9999", "#66b3ff", "#99ff99", "#ffcc99"]

plt.pie(sizes, labels=labels, autopct="%1.1f%%", colors=colors)
plt.title("ペットの人気度")
plt.show()
    

この例では、各セクターに別の色を設定して、視覚的によりわかりやすくしているんだ。

開始角度の変更 startangle

startangleパラメータを使うと、グラフの開始角度を設定できるよ。メインカテゴリを特定の位置、例えばグラフの上部に配置したい場合に便利だよ。

Python

import matplotlib.pyplot as plt

labels = ["猫", "犬", "鳥", "魚"]
sizes = [35, 30, 20, 15]

plt.pie(sizes, labels=labels, autopct="%1.1f%%", startangle=90)
plt.title("ペットの人気度")
plt.show()
    

パラメータstartangle=90は、グラフを回転させて、最初のセクターが90度(垂直方向)から始まるようにしているよ。

3. 実用例

円グラフはクラシックなツールだけど、すべてのケースに適しているわけじゃないよ。小さいセグメントがたくさんある場合や、リングチャートで理解しづらいデータがある場合は、棒グラフなど別の可視化を選んだ方が良いかも。常に読みやすさと視聴者への配慮を考えてね。

例: 市場セグメントの分析

例えば、4つの会社の市場シェアのデータがあって、それを円グラフで視覚的に表示したいとするよ。

Python

import matplotlib.pyplot as plt

# 市場シェアデータ
labels = ["会社A", "会社B", "会社C", "会社D"]
sizes = [40, 25, 20, 15]
colors = ["#ff9999", "#66b3ff", "#99ff99", "#ffcc99"]
explode = (0.1, 0, 0, 0)  # 会社Aのセクターを強調

plt.pie(sizes, labels=labels, autopct="%1.1f%%", startangle=140, colors=colors, explode=explode)
plt.title("市場シェアの分布")
plt.show()
    

このグラフは、会社の市場シェアを示していて、会社Aがマーケットをリードしていることを強調しているね。

円グラフ作成のコツ

  • カテゴリ数を制限する: 円グラフは少数のカテゴリに適しているよ。カテゴリが多すぎると、グラフの理解が難しくなるから気をつけてね。
  • 割合を追加する: セクター内にパーセンテージを表示すると、データの解釈が早くなるよ。
  • 強調表示を活用する: 注目したいカテゴリを強調して、フォーカスを合わせるのもありだよ。
  • カラーパレットを工夫する: 色をちゃんと区別できるようにするのが大事、特に4つ以上のカテゴリがある場合はね。
  • 代替案を検討する: カテゴリが多い場合は、円グラフより棒グラフやヒストグラムを使った方がいいかも。

Matplotlibでの円グラフ作成を通じて、データの可視化スキルを磨こう!グラフやチャートを使ってどんなデータストーリーも伝えられるデータビジュアライゼーションの達人を目指してね。頑張って!そして君のグラフがいつも美味しそうに見えますように!🍕

1
アンケート/クイズ
Matplotlibでのグラフ描画、レベル 41、レッスン 4
使用不可
Matplotlibでのグラフ描画
Matplotlibでのグラフ描画
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION