吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 6734|回复: 30
收起左侧

[Python 转载] 无聊时做的本省疫情地图

[复制链接]
ciker_li 发表于 2020-1-31 22:57
本帖最后由 ciker_li 于 2020-2-1 22:09 编辑

最近疫情严重,在家无聊,每天看疫情通报时,只能看到全国的疫情地图,找不到本省的。闲着也是闲着,自己动手做个本省的疫情地图
话不多说,直接上代码吧

# -*- coding: utf-8 -*-
import re
import time
from fake_useragent import UserAgent
from pyecharts.charts import Map
from pyecharts import options as opts
import requests
import json

ua = UserAgent()
headers = {'User-Agent': ua.random}
url = "https://c.m.163.com/ug/api/wuhan/app/index/feiyan-data-list?t=1580469818264"

#爬取疫情数据
def geturl(url):
    try:
        response = requests.get(url,headers=headers)
        print(response.status_code)
        if response.status_code == 200:
            content_field = json.loads(response.text)
            list_datas_1 = content_field['data']['list']            
            return list_datas_1
        else:
            print('返回代码:'+response.status_code)
            return None
    except Exception as e:
        print('此页有问题!',e)
        return None

#制作疫情地图
def makemap(dict):
    # 省和直辖市
    province_distribution = dict
    value=province_distribution.values()
    # maptype='china' 只显示全国直辖市和省级
    title = str(int(time.strftime("%Y%m%d"))-1)+"山西疫情地图"
    map = Map()
    map.set_global_opts(
        title_opts=opts.TitleOpts(title=title),
        visualmap_opts=opts.VisualMapOpts(max_=200, is_piecewise=True,
                                        pieces=[
                                            {"max": 30, "min": 16, "label": ">16", "color": "#780707"},   #数据范围分段,分颜色,可以根据数据大小具体分配大小
                                            {"max": 15, "min": 11, "label": "15-11", "color": "#8A0808"},
                                            {"max": 10, "min": 9, "label": "10-9", "color": "#B40404"},
                                            {"max": 8, "min": 7, "label": "8-7", "color": "#CD1111"},
                                            {"max": 6, "min": 5, "label": "6-5", "color": "#DF0101"},
                                            {"max": 4, "min": 3, "label": "4-3", "color": "#F68181"},
                                            {"max": 2, "min": 1, "label": "2-1", "color": "#F5A9A9"},
                                            {"max": 0, "min": 0, "label": "0", "color": "#FFFFFF"},
                                            ], )  #最大数据范围,分段
        )
    map.add(title, data_pair=province_distribution.items(), maptype="山西", is_roam=True)
    map.render('山西疫情地图.html')

#生成本省疫情列表
def makedict(list):
    dict1 = {}
    for item in list:
        for k,v in item.items():
            if( v == "山西"):   #替换“山西”,可以查各省的数据
                dict1[item['name']+'市'] = int(item["confirm"])
    return dict1



if __name__ == '__main__':
    list_data = geturl(url)
    dict_data = makedict(list_data)
    makemap(dict_data)

数据是网易新闻客户端的,没有再具体到县区的,只能做到各省了
由于本省具体到各市感染人数不多,所以分的比较细,可以看出点差别,要是湖北,就得更改颜色范围

免费评分

参与人数 5吾爱币 +2 热心值 +5 收起 理由
jerome970520 + 1 + 1 谢谢@Thanks!
夜已初寒 + 1 我很赞同!
泳诗 + 1 我很赞同!
末轨 + 1 + 1 谢谢@Thanks!
FleTime + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| ciker_li 发表于 2020-2-5 09:24
wolaileo 发表于 2020-2-4 22:25
要安装什么库啊。。。

我运行后 一片红色。。。。

需要安装的库在前面import里都有提示。
pyecharts
选择自己需要的安装
$ pip install echarts-countries-pypkg
$ pip install echarts-china-provinces-pypkg
$ pip install echarts-china-cities-pypkg
$ pip install echarts-china-counties-pypkg
$ pip install echarts-china-misc-pypkg
$ pip install echarts-united-kingdom-pypkg

一片红是因为你没有根据你们当地的情况修改颜色范围吧。
 楼主| ciker_li 发表于 2020-3-19 22:38
嘟鲁鲁 发表于 2020-3-19 18:34
很奇怪,我哪儿没改到哇,改成四川就是白板,我看原始数据里面也有四川的数据哇

数据变化了,加上一个判断就好了
if( v == "四川" and item['name'] != '未明确地区'):
                dict1[item['name']+'市'] = int(item["confirm"])

还有凉山,甘孜,阿坝这三个州得另外命名,否则跟数据不匹配
iWorm 发表于 2020-1-31 23:04
 楼主| ciker_li 发表于 2020-1-31 23:05
本帖最后由 ciker_li 于 2020-1-31 23:07 编辑
iWorm 发表于 2020-1-31 23:04
做出来的效果是什么样的,可以展示下 哈哈

在本地生成一个HTML,效果跟网站的上差不多
shili.jpg
Lyon. 发表于 2020-1-31 23:13
ciker_li 发表于 2020-1-31 23:05
在本地生成一个HTML,效果跟网站的上差不多

本地没看到html啊...可能是因为我是mac?
 楼主| ciker_li 发表于 2020-1-31 23:14
Lyon. 发表于 2020-1-31 23:13
本地没看到html啊...可能是因为我是mac?

mac没用过
civilcool 发表于 2020-1-31 23:16
这是用什么语言?
jun57663796 发表于 2020-2-1 00:52
这代码用什么打开
末轨 发表于 2020-2-1 01:23
学习了 感谢分享
神隐帝一 发表于 2020-2-1 05:18
厉害,学到了
qxtlyf 发表于 2020-2-1 07:42
如何现市分县的地图,需要什么地图文件?
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-17 07:38

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表