您好,登錄后才能下訂單哦!
python怎樣繪制堆疊條形圖,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
目前在網絡上多是單個條形圖堆疊,沒看到一組的條形圖堆疊。
代碼如下:
import numpy as np import pandas as pd import matplotlib.pyplot as plt import matplotlib.ticker as ticker
導入一組自己造的數據
data = pd.read_excel('data.xlsx') In [4]: data Out[4]:
多使用幾個plt.bar()函數,就可以畫出來啦。。。
tick_label = list(data.columns) tick_label.remove(‘類別') x = np.arange(len(tick_label)) y1 = data.iloc[2,1:].values.tolist() #收入(剔除自己轉入) y2 = data.iloc[3,1:].values.tolist() #支出(剔除自己轉入) y3 = data.iloc[4,1:].values.tolist() #收入(自己轉入) y4 = data.iloc[5,1:].values.tolist() #支出(自己轉入) bar_with = 0.25 #柱體寬度plt.figure(figsize = (12,6)) #畫布大小 plt.bar(x, y1, width = bar_with, #柱體寬度 align = ‘center', #x軸上的坐標與柱體對其的位置 color = ‘orangered', alpha = 0.6, #柱體透明度 label = ‘收入(剔除自己轉入)') plt.bar(x,y3,width = bar_with, bottom = y1, #柱體基線的y軸坐標 align = ‘center', color = ‘lightsalmon', alpha = 0.6, label = ‘收入(自己轉入)') plt.bar(x + bar_with, y2, width = bar_with, align = ‘center', color = ‘deepskyblue', alpha = 0.6, label = ‘支出(剔除自己轉入)') plt.bar(x + bar_with, y4, width = bar_with, bottom = y2, align = ‘center', color = ‘lightskyblue', alpha = 0.6, label = ‘支出(自己轉入)') plt.title(‘月度收支表', fontsize = 10) #設置x軸標題 plt.xticks(x + bar_with/2, tick_label, rotation = 70) #設置x軸坐標 plt.xlabel(‘時間',fontsize = 8, verticalalignment = ‘top', horizontalalignment=‘right',rotation=‘horizontal') plt.xlabel(‘時間',fontsize = 8, verticalalignment = ‘bottom', horizontalalignment=‘center') #圖例設在圖形外面,控制坐標參數 plt.legend(loc = ‘center', bbox_to_anchor = (0.77, 1.1), ncol=2) plt.savefig(‘draw_bar.png', dpi=200, bbox_inches = ‘tight') plt.close()
繪制如圖:
是不是其實plt繪圖也沒有哪么辣眼睛了。
關于python怎樣繪制堆疊條形圖問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。