疫情信息可视化

早过忘川 提交于 2020-02-03 02:54:16

数据来源

数据是用爬虫从网上爬取的,详情请见网络爬虫之疫情信息爬取
数据最后更新时间为2020-02-02 16:51:20

完整代码

# !/usr/bin/env python
# —*— coding: utf-8 —*—
# @Time:    2020/2/2 18:55
# @Author:  Martin
# @File:    疫情信息可视化.py
# @Software:PyCharm
import pandas as pd
from pyecharts import options as opts
from pyecharts.charts import Geo, Bar, Page, PictorialBar
from pyecharts.globals import ChartType, SymbolType
from pyecharts.datasets import COORDINATES
# 设置匹配的阈值
COORDINATES.cutoff = 0.75
data = pd.read_csv('./result/china.csv', encoding='utf_8_sig')
head = ['confirm', 'suspect', 'dead', 'heal']
data_dict = data.to_dict()
del data_dict['Unnamed: 0']
area = []
confirmed_nums = []
for key in data_dict:
    area.append(key)
    confirmed_nums.append(data_dict[key][0])
for index, item in enumerate(area):
    if Geo().get_coordinate(item) is None:
        area.remove(item)
        del confirmed_nums[index]
for index, item in enumerate(area):
    if Geo().get_coordinate(item) is None:
        area.remove(item)
        del confirmed_nums[index]


def china_show() -> Geo:
    g = (
        Geo()
        .add_schema(maptype='china')
        .add("", [list(z) for z in zip(area, confirmed_nums)], type_=ChartType.EFFECT_SCATTER)
        .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
        .set_global_opts(visualmap_opts=opts.VisualMapOpts(), title_opts=opts.TitleOpts(title="疫情信息可视化"))
        .render('./result/china_geo.html')
    )
    return g


if __name__ == '__main__':
    china_show()

效果展示

在这里插入图片描述
在这里插入图片描述

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!