# 可视化部分
import pandas as pd
from pyecharts.charts import Map, Page
from pyecharts import options as opts
# 设置列对齐
pd.set_option('display.unicode.ambiguous_as_wide', True)
pd.set_option('display.unicode.east_asian_width', True)
# 打开文件
df = pd.read_excel('国内疫情统计表1.xlsx')
locations = []
for location in df['省']:
if "广西" in location:
location = "广西"
if "新疆" in location:
location = "新疆"
if "宁夏" in location:
location = "宁夏"
if "西藏" in location:
location = "西藏"
if "内蒙古" in location:
location = "内蒙古"
else:
location = location.strip("省市")
locations.append(location)
values = [value for value in df['当前确诊']]
print(values, locations)
datas1 = list(zip(locations, values))
#
data2 = locations
data2_list = list(data2)
print(data2_list)
data3 = df['当前确诊']
data3_list = list(data3)
# print(data3_list)
data4 = df['疑似确诊']
data4_list = list(data4)
data5 = df['累计确诊']
data5_list = list(data5)
data6 = df['死亡人数']
data6_list = list(data6)
data7 = df['治愈人数']
data7_list = list(data7)
#
#
#
a = (
Map()
.add("当前确诊", datas1, "china")
.set_global_opts(
title_opts=opts.TitleOpts(),
visualmap_opts=opts.VisualMapOpts(max_=100),
)
)
#
#
#
b = (
Map()
.add("疑似确诊", [list(z) for z in zip(data2_list, data4_list)], "china")
.set_global_opts(
title_opts=opts.TitleOpts(),
visualmap_opts=opts.VisualMapOpts(max_=200),
)
)
c = (
Map()
.add("累计确诊", [list(z) for z in zip(data2_list, data5_list)], "china")
.set_global_opts(
title_opts=opts.TitleOpts(),
visualmap_opts=opts.VisualMapOpts(max_=200),
)
)
d = (
Map()
.add("死亡人数", [list(z) for z in zip(data2_list, data6_list)], "china")
.set_global_opts(
title_opts=opts.TitleOpts(),
visualmap_opts=opts.VisualMapOpts(max_=200),
)
)
e = (
Map()
.add("治愈人数", [list(z) for z in zip(data2_list, data7_list)], "china")
.set_global_opts(
title_opts=opts.TitleOpts(),
visualmap_opts=opts.VisualMapOpts(max_=200),
)
)
page = Page(layout=Page.DraggablePageLayout)
page.add(
a,
b,
c,
d,
e,
)
# 先生成render.html文件
page.render()
# 完成上一步之后把 page.render()这行注释掉
# 然后循行这下面
'''
Page.save_resize_html("render.html",
cfg_file="chart_config.json",
dest="my_test.html")
'''