【Python】バブルチャートを作る方法(Matplotlib)
Python/Matplotlibでバブルチャートを描く方法について解決します。以下の図が今回の完成です。
バブルチャートを作る方法をざっと書くとこんな感じです。
- 3つの配列データを用意(x軸、y軸、バブルサイズ)。
- x軸、y軸データを使って散布図を描画。
- マーカー1点1点をバブルサイズデータに応じてサイズを変える。
- マーカーの透明度を50%にする。
ソースコードはこちら。これを実行すると上のチャートが現れます。
import numpy as np
import matplotlib.pyplot as plt
#バブルのサイズ(好みに応じて)
bubble_size = 60
#利益率データ(X軸)
x =np.array( [ 6.7, 10.7, 2.8, 1.2, 8.6, 6.2])
#売上データ(Y軸)
y = np.array([ 628, 425, 450, 821, 543, 707])
#人員データ(バブルサイズ)
num = np.array([38,120,193,69,99,48])
fig = plt.figure()
ax1 = fig.add_subplot(1, 1, 1)
ax1.scatter(x, y, s=num*bubble_size, alpha=0.5)
# x軸の範囲を変更する
ax1.set_xlim(0, 12)
# y軸の範囲を変更する
ax1.set_ylim(200, 1000)
# x軸ラベル
ax1.set_xlabel('profit rate [%]')
# y軸ラベル
ax1.set_ylabel('sales [million yen]')
#バブル上に人員をラベル表示
for i in range(len(x)):
ax1.annotate(num[i],xy=(x[i],y[i]),size=10,color="black")
plt.show()
スポンサーリンク
