Seabornは、Matplotlibを基盤にして構築されたPythonのデータ可視化ライブラリです。
主に統計データの視覚化に優れており、簡潔で美しいグラフを作成することができます。
しかし、Seaborn自体には円グラフを作成するための直接的な関数は提供されていません。
円グラフを作成する場合、通常はMatplotlibを使用しますが、Seabornと組み合わせてデータの前処理や他のグラフの作成を行うことができます。
以下にMatplotlibを使用して円グラフを作成する手順と、Seabornを使ったデータの前処理の例を示します。
目次
Matplotlibを使用した円グラフの作成
まず、Matplotlibを使用して円グラフを作成する基本的な方法を紹介します。
import matplotlib.pyplot as plt
# データの準備
labels = ['Category A', 'Category B', 'Category C', 'Category D']
sizes = [15, 30, 45, 10]
colors = ['gold', 'yellowgreen', 'lightcoral', 'lightskyblue']
explode = (0.1, 0, 0, 0) # Category Aだけを少し引き離す
# 円グラフの作成
plt.pie(sizes, explode=explode, labels=labels, colors=colors, autopct='%1.1f%%',
shadow=True, startangle=140)
plt.axis('equal') # 円グラフを円形に表示
plt.title('Pie Chart Example')
plt.show()
Seabornを使用したデータの前処理と円グラフの作成
Seabornを使用してデータの前処理を行い、その結果をMatplotlibで円グラフとして表示する例です。
import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd
# サンプルデータの作成
data = {
'category': ['A', 'B', 'C', 'D', 'A', 'B', 'C', 'D', 'A', 'B', 'C', 'D'],
'values': [10, 20, 30, 40, 15, 25, 35, 45, 20, 30, 40, 50]
}
df = pd.DataFrame(data)
# カテゴリごとの合計を計算
category_totals = df.groupby('category')['values'].sum().reset_index()
# 円グラフの作成
labels = category_totals['category']
sizes = category_totals['values']
colors = sns.color_palette('pastel')[0:len(labels)]
plt.pie(sizes, labels=labels, colors=colors, autopct='%1.1f%%', startangle=140)
plt.axis('equal') # 円グラフを円形に表示
plt.title('Pie Chart with Seaborn and Matplotlib')
plt.show()
詳細な説明
データの準備
labels
にはカテゴリの名前を、sizes
には各カテゴリの値(割合など)を指定します。colors
には色を指定します。Seabornのカラーパレットを使用することで、美しい色合いを簡単に適用できます。
円グラフの作成
plt.pie
関数を使用して円グラフを作成します。explode
パラメータを使用すると、特定のカテゴリを強調表示できます。autopct
パラメータを使用すると、各セグメントに割合を表示できます。
グラフの表示
plt.axis('equal')
は、円グラフを円形に表示するために使用します。plt.title
を使用してグラフにタイトルを追加します。
このように、SeabornとMatplotlibを組み合わせることで、データの前処理と美しい円グラフの作成が容易になります。
Seabornはデータの視覚化をより簡単に、そして美しくするための強力なツールです。
以上、Seabornの円グラフについてでした。
最後までお読みいただき、ありがとうございました。