pyecharts交互式绘图

该实验使用Python的pyecharts库进行数据可视化,包括柱形图展示销量前5的商品,折线图显示售货机每月总交易额,饼图展示各类商品销售额,以及时间线轮播多图展示每月每台售货机的销售额变化。实验旨在掌握pyecharts的基础语法和各种图表的绘制技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实验项目名称:pyecharts交互式绘图

实验目的及要求:

(1)掌握pyecharts的基础语法
(2)掌握柱形图的绘制方法
(3)掌握折线图的绘制方法
(4)掌握饼图的绘制方法
(5)掌握并行多图的绘制方法
(6)掌握时间线轮播多图的绘制方法

实验内容:

(1)根据第2章实训2处理后的数据,统计2017年6月销量前5的商品销量、每台售货机每月的总交易额、每台售货机各类(按大类)商品的销售额,并利用这些数据绘制相关图形。
(2)根据第2章实训2处理后的数据,统计2017年每月每台售货机的销售额、每台售货机每月各类(按大类)商品的销售额,并利用这些数据绘制相关图形

实验步骤

(1)获取处理好的数据

In [179]:

#(1)获取处理好的数据
import pandas as pd
import numpy as np 
from pyecharts.charts import Bar,Pie,Line
from pyecharts import options as opts
data=pd.read_csv('./处理后的数据.csv',encoding='gbk')
data.head()

Out[179]:

订单号 设备ID 应付金额 实际金额 商品 支付时间 地点 状态 提现 大类 二级类
0 DD201708167493663618499909784 E43A6E078A07631 4.5 4.5 68g好丽友巧克力派2枚 2017-01-01 00:53:00 D 已出货未退款 已提现 非饮料 饼干糕点
1 DD201708167493663555814061164 E43A6E078A04172 3.0 3.0 40g双汇玉米热狗肠 2017-01-01 01:33:00 A 已出货未退款 已提现 非饮料 肉干/豆制品/蛋
2 DD201708167493578526890939886 E43A6E078A06874 5.5 5.5 430g泰奇八宝粥 2017-01-01 08:45:00 E 已出货未退款 已提现 非饮料 方便速食
3 DD201708167493683507186615837 E43A6E078A04228 5.0 5.0 48g好丽友薯愿香烤原味 2017-01-01 09:05:00 C 已出货未退款 已提现 非饮料 膨化食品
4 DD201708167493759548618252006 E43A6E078A04134 3.0 3.0 600ml可口可乐 2017-01-01 09:41:00 B 已出货未退款 已提现 饮料 碳酸饮料

(2)设置系统配置项和全局配置项,绘制销量前5的商品销量柱形图

In [180]:

#(2)设置系统配置项和全局配置项,绘制销量前5的商品销量柱形图
data1=data.groupby('商品').count()###按商品分组,统计商品的出现频次====>即为商品的销量
data2=data1.sort_values('订单号',ascending=False).head()['订单号']###获取销量前五的数据
columns={'订单号':'销量'}#对列进行重新命名
data2=pd.DataFrame(data2)###将其转换成一个DataFrame类型
data2=data2.rename(columns=columns)##对列索引进行重新命名
data3=data2.T##将获取已经处理好的数据进行一个转置
init_opts=opts.InitOpts(width='1000px', height='800px')
bar=(
    Bar(init_opts)
          .add_xaxis(data3.columns.tolist())
          .add_yaxis('销量', data3.loc['销量'].tolist(), 
                     label_opts=opts.LabelOpts(position='insideTop'))
         .set_global_opts(title_opts=opts.TitleOpts(
         title='销量前5的商品销量柱形图'))
     )
bar.render('销量前5的商品销量柱形图.html')
bar.render_notebook()

Out[180]:

 

(3)设置系统配置项和全局配置项,绘制售货机每月总交易额折线图

In [181]:

#(3)设置系统配置项和全局配置项,绘制售货机每月总交易额折线图
data['支付时间']=pd.to_datetime(data['支付时间'])#将支付时间转换成datetime类型,便于分析
data['月份']=data['支付时间'].dt.month##从数据中提取出销售月份具体是哪月,并将其添加到data当中去
temp=data.groupby(by=['月份','地点'],as_index=False)['实际金额'].sum()
x=sorted(list(set(data['月份'].values.tolist())))
x_data=[str(i)+'月' for i in x]
location=list(set(temp['地点'].values.tolist()))
location=sorted(location)
y=[]
for i in location:
    y.append(np.round(temp[temp['地点']==i]['实际金额'].values.tolist(),2))
line=(Line()
     .add_xaxis(x_data)
     .add_yaxis('售货机A',y[0],label_opts=opts.LabelOpts(is_show=False))
     .add_yaxis('售货机B',y[1],label_opts=opts.LabelOpts(is_show=False))
     .add_yaxis('售货机C',y[2],label_opts=opts.LabelOpts(is_show=False))
     .add_yaxis('售货机D',y[3],label_opts=opts.LabelOpts(is_show=False))
     .add_yaxis('售货
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值