import pandas as pd
import matplotlib.pyplot as plt
#解决中文乱码问题
plt.rcParams['font.sans-serif']=['Arial Unicode Ms'] #解决中文乱码
data = {
"普通本科":[721,738,749,761,791],
"中等职业教育": [620,601,593,582,557],
"普通高中": [797,797,803,800,793]
}
df = pd.DataFrame(data=data)
#准备数据
x=np.arange(2014,2019)
bar_width=0.25
y1=df['普通本科']
y2=df['中等职业教育']
y3=df['普通高中']
#制图
plt.figure(figsize=(14,8))
plt.grid(axis='y')
plt.bar(x,y1,bar_width,color='b')
plt.bar(x+bar_width,y2,bar_width,color='y')
plt.bar(x+2*bar_width,y3,bar_width,color='r')
#图标美化
plt.ylim(500,1000)
plt.xlabel('年份')
plt.ylabel('报名人数')
plt.title("2014-2018年三类学校招生人数")
plt.legend(['普通本科','中等职业教育','普通高中'])
#打标签
for a,b in zip(x,y1):
plt.text(a,b+5,b,va='center',ha='center')
for a,b in zip(x,y2):
plt.text(a+bar_width,b+5,b,va='center',ha='center')
for a,b in zip(x,y3):
plt.text(a+2*bar_width,b+5,b,va='center',ha='center')
plt.show()
【matplotlib】学习记录002.绘制柱状图
最新推荐文章于 2024-08-10 10:46:00 发布