现有一组浙江省内明康汇门店的销售数据,使用pyecharts对每个月各个城市门店的销售业绩进行可视化展现,Excel表样如下所示(Excel文档详见附件):
省份(直辖市) 城市 门店 销售额 月度
0 浙江省 杭州市 闸弄口 3210 2020-05
1 浙江省 杭州市 草庄 8004 2020-05
2 浙江省 杭州市 滨康路 8654 2020-05
... ... ... ... ... ...
22 浙江省 绍兴市 诸暨 3013 2020-08
23 浙江省 绍兴市 新昌 3386 2020-08
24 浙江省 绍兴市 上虞 8401 2020-08
我的代码实现如下:
from pyecharts import options as opts #对图表进行参数配置
from pyecharts.charts import Bar,Timeline #引入柱状图
from pyecharts.globals import ThemeType #从全局变量中引入配色主题
import pandas as pd
data=pd.read_excel(r'D:\python学习\网易微专业数据分析课程\python数据分析基础\2020年5-8月浙江省内明康汇门店销售数据2.xls')
tl = Timeline() #建立时间序列
count=0
for i in data['月度'].unique():
bar=Bar(init_opts=opts.InitOpts(theme=ThemeType.ESSOS,height='1080px',width='1920px')) #创建柱形图实例
city_list=data.loc[data['月度']==i]['城市'].unique().tolist() #获取城市列表
print('城市列表:{}'.format(city_list))
for j in city_list:
print(j)
count+=1
city_data = data.loc[(data['月度'] == i) & (data['城市'] == j)] #得到一个城市当月所有门店的销售数据(dataframe)
print(city_data)
stores_data=city_data[['门店','销售额']].values #将一个城市所有门店的销售数据提取出来(ndarray数组)
for k in stores_data:
list1=[]
list1.append(k[1]) #将某门店的销售额添加到一个列表
bar.add_xaxis(j) #使用当前城市名称作为x轴数据
bar.add_yaxis(k[0],list1,stack='stack'+str(count)) #使用门店名称作为标签,销售额作为数值写入柱形图y轴,同一个城市的所有门店业绩堆叠在一个柱形图上
bar.set_global_opts(title_opts=opts.TitleOpts("明康汇门店{}月营业额".format(i))) #将图表标题设置为明康汇某月销售业绩
tl.add(bar, "{}月".format(i)) #为图表添加时间线
tl.render("timeline_multi_axis.html") #渲染生成一个名为timeline_multi_axis的HTML文档
但是运行之后每个月度各个城市的数据没有在x轴上生成正确的标签(详见附件图片),请各位大佬帮忙查找原因,并给出修改建议,谢谢啦~图片说明