前提・実現したいこと
Python2.7.10でmatplotlibを用いて積み上げグラフを作図しています。
下記リンクを参考にしました。
Python matplotlibで棒グラフ(2軸グラフと積み上げグラフ)
途中はできたのですが、棒グラフの上にそれぞれの合計値であるデータラベルを付けたいのですが、何を追加したらいいのかわからないので教えていただきたいです。
途中まで作成したコード
python
1 2#モジュール読み込み 3import matplotlib.pyplot as plt 4import numpy as np 5 6#データ準備 7Case=np.array(['a','b','c','d','e','f']) 8a8=np.array([5.68, 6.90, 0.00, 3.45, 5.68, 27.59]) 9a7=np.array([5.68, 10.34, 3.41, 3.45, 6.82, 10.34]) 10a6=np.array([9.09,3.45,3.41, 6.90, 7.95, 3.45]) 11a5=np.array([4.55,13.79, 2.27, 0.00, 6.82, 3.45]) 12a4=np.array([6.82,10.34, 11.36, 6.90, 20.45, 13.79]) 13a3=np.array([11.36,10.34, 10.23, 6.90, 19.32, 3.45]) 14a2=np.array([6.82,0.00, 10.23, 6.90, 5.68, 3.45]) 15a1=np.array([6.82,6.90,4.55, 6.90,7.95, 0.00]) 16 17a87=a8+a7 18a65=a6+a5 19a432=a4+a3+a2 20 21xx=np.array([1,2,4,5,7,8]) 22 23#作図領域定義 24fsz=14 25fig=plt.figure(figsize=(10,10),facecolor='w') 26plt.rcParams["font.size"] = fsz 27plt.subplot(111) 28plt.xticks(xx,Case) 29plt.xlim(0,9) 30plt.ylim(0,100) 31plt.xlabel('purpose') 32plt.ylabel('ratio') 33plt.grid(color='#999999',linestyle='--') 34 35#積み上げプロット 36b0=np.array([0,0,0,0,0,0]) 37b1=b0+a1 38b2=b1+a432 39b3=b2+a65 40b4=b3+a87 41plt.bar(xx,a78,bottom=b3,width=0.8,align='center',label='several times a year',color="dimgray") 42plt.bar(xx,a65,bottom=b2,width=0.8,align='center',label='several times a month',color="darkgray") 43plt.bar(xx,a432,bottom=b1,width=0.8,align='center',label='several times a week',color="lightgray") 44plt.bar(xx,a1,bottom=b0,width=0.8,align='center',label='almost everyday',color="whitesmoke") 45 46#凡例とタイトル描画 47plt.legend(shadow=True,loc='upper left') 48plt.title('frequency',loc='left',fontsize=14) 49 50#画像の保存 51fnameF='frequency.png' 52plt.tight_layout() 53plt.savefig(fnameF, dpi=100, bbox_inches="tight", pad_inches=0) 54plt.show() 55
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/02 07:37