python matplotlib についての質問です。
添付した写真のようなコードを書きました(以下補足)。
-
df2のカラムであるpitch_typeにはaからfまでの6種類の文字列が違う数入っていて、pitch_type_listはその6つの文字列を重複なくリスト化したものです
-
同じくdf2のカラムであるpfx_x_cmとpxf_xz_cmには数値が入っています
この時、pitch_typeそれぞれ対応するpfx_x_cmの平均値をx、pfx_z_cmの平均値をyに当てはめた散布図を作りました。さらに、各プロットの大きさをpfx_x_cmとpfx_z_cmの標準偏差にし、色の濃さでそれぞれのpitch_typeの数で表したいと考えました(6種類のpitch_typeのうち数が多いものほど色が濃いなど)。しかし、色の濃さでデータの数を表す方法がわからずググって試行錯誤してみましたが添付ファイルのようなエラーが出てしまします。
解決策がわかる方がいらっしゃいましたら是非ご教授お願いします。
python3
1fig = plt.figure(figsize=(9,9)) 2ax = fig.add_subplot(1,1,1) 3 4for all_pitch_type in pitch_type_list : 5 6 a = df2.query('pitch_type == @all_pitch_type') 7 x = a.pfx_x_cm.mean() 8 y = a.pfx_z_cm.mean() 9 10 size = (a.pfx_x_cm.std() + a.pfx_z_cm.std())/2 * 1500 11 12 cl = a.pitch_type.count() / 10000 13 14 ax.scatter(x, y, s = size, linewidths = 2, c = cl, cmap="Blue") 15 16
回答1件
あなたの回答
tips
プレビュー