京公网安备 11010802034615号
经营许可证编号:京B2-20210330
作者:Python进阶者
来源:Python爬虫与数据挖掘
前几天有个粉丝【Lethe】问了一道Pyecharts可视化的问题,如下图所示。
后来原始数据和代码都给到了,需要帮忙看看。
下面是她自己的代码,如下所示:
# 可视化部分 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('D:python-basepython实训项目文档国内疫情统计表1.xlsx')
locations = [location for location in df['省']]
values = [value for value in df['当前确诊']]
datas1 = list(zip(locations, values))
data2 = df['省']
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")
'''
后来【此类生物】修改了下代码,顺利解决了问题,代码如下所示。
# 可视化部分 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")
'''
顺利解决问题。
其实就是数据处理的问题,关于这个之前有写过文章,惊!Pyecharts作图,发现无数据展示?,感兴趣的可以看下,看完之后就一目了然了。
如果有遇到问题,随时联系我解决,欢迎加入我的Python学习交流群。
大家好,我是Python进阶者。这篇文章主要盘点了一道Pyecharts作图的问题,文中针对该问题给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
先回答:下半年能考的证书,大致分四类 2026年下半年仍有报名或考试安排的证书,主要集中在四个方向:财会金融类(如注册会计师 ...
2026-10-27毕业后该考什么证书,答案不是一张热门榜单,而是一个顺序问题:先确定你要投的岗位方向,再判断哪些证书现在就能报、哪些要等工 ...
2026-10-2734岁考证,和二十多岁刚毕业时不是同一道题。这个年龄找工作,招聘方通常已经默认你有十年上下的工作积累,会拿“经验能不能直接 ...
2026-10-27咨询岗位最该优先掌握的不是某个工具,而是四类能串起项目全流程的能力:问题定义与结构化拆解、指标与对比分析、数据获取与清洗 ...
2026-10-27多数咨询岗位需要一定程度的数据分析能力,但“需要”不等于“必须会写代码或建模型”。咨询顾问至少要能看懂客户给的数据、把业 ...
2026-10-27咨询岗位的分析能力,不是“会套框架”或“PPT写得漂亮”,而是一条从问题到结论的能力链:问题拆解—假设验证—信息获取—数据 ...
2026-10-27需要,而且它不是“加分项”,是日常工作的基本工具。直播运营每天要面对选品排期、流量承接、转化复盘和投流决策,这些任务的结 ...
2026-10-27证券分析师的培训需求,最好从“最终要交什么”往回推。日常输出大致四类:行业跟踪报告、财报拆解与盈利预测、估值模型、路演与 ...
2026-10-27先给答案:一张四层知识地图 如果只用一句话回答“证券分析师最重要的知识是什么”,答案是:以财务分析和估值建模为硬核,以行 ...
2026-10-27市场策划不是“会写文案、能办活动”这么简单。招聘方真正考察的,是你能否围绕一个业务目标,完成从调研、人群判断、创意主题、 ...
2026-10-27市场运营想靠学习推动职业发展,容易掉进两个坑:一是把课程清单当能力清单,学完不知道用在哪;二是只补营销方法,遇到渠道效果 ...
2026-10-27产品运营做久了,很容易陷入一种忙碌:活动一场接一场,功能推了一版又一版,日报周报天天写,但说不清自己到底积累了什么。想提 ...
2026-10-27运营岗的“快速提升”,不是把Excel、SQL、Python挨个学一遍,而是先补上能立刻改变工作产出的能力。判断标准很直接:同样一场活 ...
2026-10-27优秀市场专员的能力不是单点技能堆出来的,而是“用户洞察—内容与活动策划—渠道获客—数据复盘”四块形成闭环。想快速上手,正 ...
2026-10-27运营专员的“通用知识”,不是一份越长越好的工具清单,而是能支撑日常任务判断的一套底盘。不同细分方向差异很大:用户运营更关 ...
2026-10-27运营专员最常见的困境不是不忙,而是忙完之后说不清效果:活动做了、内容发了、社群拉了人,汇报时却只有“曝光多少、入群多少” ...
2026-10-27运营经理提升职业知识,靠的不是多报几门课,而是先有一张自己的“知识地图”,再按当前岗位最卡壳的环节排顺序。比较实用的做法 ...
2026-10-27运营岗位的能力素质提升,核心不是把工具学一遍,而是围绕“目标拆解—用户洞察—执行落地—数据复盘”四层能力逐层补齐。工具是 ...
2026-10-27运营岗位的能力提升,最容易走成两条弯路:一是把“提升”等同于学工具,Excel、SQL、Python挨个报班,回到工作里还是凭经验拍脑 ...
2026-10-27运营岗最容易陷入的学习误区,是把“提升”等同于收藏平台玩法、追热点模板、背活动话术。这些内容有用,但迁移性差:换个行业、 ...
2026-10-27