【matplotlib】学习记录002.绘制柱状图

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()


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值