はじめに
Kaggleに投稿されたさまざまな円グラフを集めてみました。
Pythonには可視化のための豊富なツールがあり、それぞれ異なる魅力を持っています。
この記事では、円グラフを中心に、可視化方法やその特徴をご紹介します。
1.Matplotlib-円グラフ
・単純なカテゴリ分布を視覚化。colors オプションで指定した色を使用
・小カテゴリ(最大3~5程度)の割合をシンプルに表示
・カスタマイズが少なく、基礎的な円グラフ
python
# Randomly sample 10,000 rows
df_sampled = df.sample(n=50000, random_state=42)
df_sampled.head(3)
plt.figure(figsize=(3, 4))
extinction_reason_counts = df_sampled['Extinction Reason'].value_counts()
plt.pie(extinction_reason_counts, labels=extinction_reason_counts.index, autopct='%1.1f%%', colors=['lightcoral', 'gold', 'lightskyblue'])
plt.title('Breakdown of reasons for extinction')
plt.show()
2.plotly-円グラフ
・plotly.express による円グラフ
・color_discrete_sequence による色のシーケンスを活用
・視覚的にわかりやすいデザイン
python
import plotly.express as px
form_counts = df['Region'].value_counts().reset_index()
form_counts.columns = ['Region', 'Count']
fig = px.pie(form_counts, values='Count', names='Region', title='Distribution of Region',
color_discrete_sequence=px.colors.sequential.Blues)
fig.show()
3.Matplotlib-円グラフ
・上位5つのチームの割合を表示し、startangle や wedgeprops を利用して見た目を調整
・ラベルや順位を明示的に表示する比較対象が明確なデータ
・カスタマイズ性が高く、順位付きのカテゴリに適している
python
# Get the top 5 teams by points
top_5 = df.nlargest(5, 'points')
labels = [f"{team}({rank})" for team, rank in zip(top_5['team'], top_5['rank'])]
# Plot the pie chart with labels
plt.figure(figsize=(4, 4))
plt.pie(
top_5['points'],
labels=labels,
autopct='%1.1f%%',
startangle=140,
wedgeprops={'edgecolor': 'white', 'linewidth': 2} # Adds white spaces
)
plt.title('Top 5 Teams by Points')
plt.show()