哈喽,大家晚上好,今天給大家介紹一下如何利用matplotlib繪制疊加柱狀圖,大概樣子長這樣:
目的:将三門成績通過疊加柱狀圖進行展現
1.導入數據:
import pandas as pd
df=pd.read_excel('成績表.xlsx')
2.設置中文标簽正常顯示:
這一步是為了讓坐标軸的中文标簽能夠正常顯示:
from matplotlib.font_manager import FontProperties
plt.rcParams['font.sans-serif'] = ['Songti SC']
3.将第一列數據以柱狀圖形式顯示:
首先我們将語文成績按照柱形圖進行展示,高度為語文成績,x軸顯示的是姓名列:
plt.bar(x=df.姓名,height=df.語文,color='red',width=0.8)
4.将數學列進行疊加顯示:
1)首先設置x軸的坐标位置:
import numpy as np
x=np.arange(3)
2)高度為數學成績所對應的數據:
height=df.數學
3)通過bottom設置疊加效果:
bottom代表着y軸所在的坐标,應該摞在原本的語文成績之上,因此這樣寫:
bottom=df.語文
4)數學成績的代碼如下:
plt.bar(x=np.arange(3),height=df.數學,bottom=df.語文,color='blue',
width=0.8)
5.英語成績疊加顯示:
與數學成績的計算方法大同小異,不同的是注意bottom需要在前兩個數據再次進行疊加:
plt.bar(x=np.arange(3),height=df.英語,bottom=df.語文 df.數學,
color='yellow',width=0.8)
6.添加圖例:
分别在各科目中加入标簽:
plt.bar(x=df.姓名,height=df.語文,color='red',width=0.8,label='語文')
plt.bar(x=np.arange(3),height=df.數學,bottom=df.語文,color='blue',
width=0.8,label='數學')
plt.bar(x=np.arange(3),height=df.英語,bottom=df.語文 df.數學,
color='yellow',width=0.8,label='英語')
plt.legend()
好了,今天的文章就先到這裡了,明天見!
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!