1. 円グラフの概念と使用例
円グラフ(パイチャート)は、全体を部分的に分けた構成を視覚的に示す方法だよ。もし10人の友達に好きなプログラミング言語を聞いて、それをグラフで見せたい場合、この円グラフが完璧。市場シェアや、プログラミングと猫の動画を観る時間の配分のような、構成要素を示すのに最高だね。
pie()
関数を使った円グラフの作成
Matplotlibにはpie()
という素晴らしい関数があるから、円グラフを作るのが超簡単になるよ!
使い方の基本例を見てみよう:
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ケタで割合を表示するフォーマットなんだ。
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つまたは複数のセグメントを強調表示できるよ。特定のカテゴリに注目させたいときに便利だよ。
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
パラメータを使って、各セクターに色を設定できるよ。
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
パラメータを使うと、グラフの開始角度を設定できるよ。メインカテゴリを特定の位置、例えばグラフの上部に配置したい場合に便利だよ。
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つの会社の市場シェアのデータがあって、それを円グラフで視覚的に表示したいとするよ。
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での円グラフ作成を通じて、データの可視化スキルを磨こう!グラフやチャートを使ってどんなデータストーリーも伝えられるデータビジュアライゼーションの達人を目指してね。頑張って!そして君のグラフがいつも美味しそうに見えますように!🍕
GO TO FULL VERSION