python数据绘图-柱状图(pandas)

数据

链接: https://pan.baidu.com/s/1ip3XE6prVwVC4msaHqrArA?pwd=j6tt

提取码: j6tt 

import pandas as pd
data=pd.read_csv('/Users/tinawang/Documents/python/书店每月销量数据.csv',encoding='utf-8')
data

  

准备

#pip install matplotlib#安装
import matplotlib.pyplot as plt#导入
#设置中文字体
plt.rcParams["font.sans-serif"]="Arial Unicode MS"
#创建画布
plt.figure()

绘图

单维度柱状图

使用matplotlib.pyplot绘图

import matplotlib.pyplot as plt
#设置中文字体
plt.rcParams["font.sans-serif"]="Arial Unicode MS"
#创建画布
plt.figure(figsize=(15,10))
#绘制单维度的柱状图
plt.bar(data['month'],data["first_floor"])

分组柱状图

如果想绘制多个分组的柱状图,用matplotlib.pyplot的操作设置就比较麻烦,可以使用pandas模块进行绘图

pandas和matplotlib.pyplot模块绘图语法对比如下

matplotlib.pyplotplt.bar(data["变量x"],data["变量y1])
pandasdata.plot.bar(["变量x"],["变量y1","变量y2","变量y3"])

import pandas as pd
data.plot.bar('month',['first_floor','second_floor','third_floor'],stacked=False)
plt.xlabel("月份")
plt.ylabel('销量')
plt.title("簇形柱状图")
data.plot.bar('month',['first_floor','second_floor','third_floor'],stacked=True)
plt.xlabel("月份")
plt.ylabel('销量')
plt.title("堆积柱状图")

结果如下

 

如果要绘制百分比堆积柱状图,python暂时不能直接由原始数据绘制得到,需要先把数据转换成百分比,再绘制堆积柱状图

data["一楼"]=data["first_floor"]/data["sum"]
data["二楼"]=data["second_floor"]/data["sum"]
data["三楼"]=data["third_floor"]/data["sum"]

data.plot.bar('month',['一楼','二楼','三楼'],stacked=True)
plt.xlabel("月份")
plt.ylabel('销量占比')
plt.title("百分比堆积柱状图")

 结果如下:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值