Python matplotlib 柱狀堆積圖


1.柱狀堆積圖

import matplotlib.pyplot as plt
%matplotlib inline
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False

x=[1,2,3,4]
classes=['一班','二班','三班','四班']
ch=[70,80,85,77]
english=[80,85,88,82]
math=[90,96,88,87]

plt.bar(x,chinese,label='Chinese',color='orange')#設置圖表顏色
plt.bar(x,english,bottom=chinese,color='#43cd80',label='English')
cheng=[chinese[i]+english[i] for i in range(len(x))]
plt.bar(x,english,bottom=cheng,color='#804dff',label='Math')

plt.xlabel('班級')  #橫坐標
plt.ylabel('成績')  #縱坐標
plt.ylim([0,300])
plt.xlim([0,6])
plt.title("學生成績條形圖") #標題
plt.xticks(x,classes) #xticks() 對應坐標名稱

#plt.text(1,81,70) #添加文字text(橫坐標,縱坐標,文字)
for i in range(0,len(x)):
    plt.text(i+1,ch[i]-10,ch[i],color='white')
    plt.text(i+1,ch[i]+english[i]-10,english[i],color='white')
    plt.text(i+1,ch[i]+english[i]+math[i]-20,math[i],color='white')
    plt.text(i+1,ch[i]+english[i]+math[i]+5,ch[i]+english[i]+math[i],color='black')
plt.legend(loc='upper right')#圖例
plt.grid(axis='y',color='gray',linestyle='--',linewidth=1)
plt.show()

 2.分塊圖

import matplotlib.pyplot as plt
%matplotlib inline
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False

class_list=['一班','二班','三班','四班']
ch=[70,80,85,77]
english=[80,85,88,82]
math=[90,96,88,87]

w=0.4
x1=[1.0,3.0,5.0,7.0]
x2=[i+w for i in x1]
x3=[i+w for i in x2]

plt.bar(x1,ch,label='Chinese',color='orange',width=w)
plt.bar(x2,english,label='English',color='blue',width=w)
plt.bar(x3,math,label='Math',color='g',width=w)

plt.legend()

plt.title("學生成績分塊圖")
plt.xlabel('class')
plt.ylabel('score')
plt.xticks(x2,class_list)
plt.show()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM