# yyds干货盘点 # Pyecharts作图部分省市有数据显示,其他的省份都没有显示,怎么肥四?

大家好,我是Python进阶者。

一、前言

前几天有个粉丝【Lethe】问了一道​​Pyecharts​​可视化的问题,如下图所示。

# yyds干货盘点 # 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")
'''

顺利解决问题。

# yyds干货盘点 # Pyecharts作图部分省市有数据显示,其他的省份都没有显示,怎么肥四?

其实就是数据处理的问题,关于这个之前有写过文章,惊!Pyecharts作图,发现无数据展示?,感兴趣的可以看下,看完之后就一目了然了。

# yyds干货盘点 # Pyecharts作图部分省市有数据显示,其他的省份都没有显示,怎么肥四?

如果有遇到问题,随时联系我解决,欢迎加入我的​​Python​​学习交流群。

三、总结

大家好,我是Python进阶者。这篇文章主要盘点了一道​​Pyecharts​​作图的问题,文中针对该问题给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。

最后感谢粉丝【Lethe】提问,感谢【此类生物】给出的思路和代码解析,感谢【dcpeng】等人参与学习交流。

发表评论

相关文章