【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()
スポンサーリンク