前提・実現したいこと
合計100%となるような帯グラフを、積み上げグラフの要領で作っています。
1つのグラフ内に複数の帯グラフを描き、カラーマップでグラデーション化します。
そのグラデーションのカラーバーを入れたいのですがうまくできません。
該当のソースコード
python
1fig, ax = plt.subplots() 2cmap = plt.get_cmap("Blues") 3 4#積み上げグラフ 5for i in df["Name"]: 6 #dfの行をリスト化 7 dl=df[df["Name"]==i] 8 lst=dl.values.tolist()[0][1:] 9 10 N=len(lst) 11 S=sum(lst)/100 12 #各項目のグラフを作成 13 for j in range(N): 14 ax.bar(i,lst[j]/S,bottom=sum(lst[:j])/S,color=cmap(float(j)/N)) 15#このようにグラフを複数入れています。
試したこと
fig.colorbar()やplt.colorbar()ではエラーを吐かれてしまいました。
ソースコードを見る限り、グラフの色はデータの量に関係なく、データの位置で一義的に決まるように記述されています。
であれば カラーバーではなく凡例の方が適切な気がしますが、どうしても カラーバーが良いのでしょうか?
(カラーバーがあると逆に混乱するだけのような気がするのですが)
あなたの回答
tips
プレビュー