登录
首页精彩阅读Pyecharts作图部分省市有数据显示,其他的省份都没有显示?
Pyecharts作图部分省市有数据显示,其他的省份都没有显示?
2022-07-12
收藏

作者:Python进阶者

来源:Python爬虫与数据挖掘

一、前言

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

Py<a href='/map/echarts/' style='color:#000;font-size:inherit;'>echarts</a>作图部分省市有数据显示,其他的省份都没有显示?

后来原始数据和代码都给到了,需要帮忙看看。

二、实现过程

下面是她自己的代码,如下所示:

# 可视化部分 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")
''' 

顺利解决问题。

Py<a href='/map/echarts/' style='color:#000;font-size:inherit;'>echarts</a>作图部分省市有数据显示,其他的省份都没有显示?

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

Py<a href='/map/echarts/' style='color:#000;font-size:inherit;'>echarts</a>作图部分省市有数据显示,其他的省份都没有显示?

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

三、总结

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

数据分析咨询请扫描二维码

客服在线
立即咨询