程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

用python绘制简单的疫情地图

发布于2020-02-24 23:46     阅读(1908)     评论(0)     点赞(17)     收藏(2)


一、获得疫情数据

1.从网站查找相关信息

打开网页,找到地图
https://news.qq.com//zt2020/page/feiyan.htm在这里插入图片描述
从右上角: 工具—开发人员工具
在这里插入图片描述
找到代码所在URL
在这里插入图片描述
打开PyCharm,编写代码,获取全国各地确诊数

import json
import requests

#1.目标网址
url = 'https://view.inews.qq.com/g2/getOnsInfo?name=disease_h5'
#2.模拟浏览器实现访问url
data = json.loads(requests.get(url).json()['data'])
#3.从网页源代码提取数据
china = data['areaTree'][0]['children']
#print(china)
china_total = "确诊:" + str(data['chinaTotal']['confirm']) + \
              "疑似:" + str(data['chinaTotal']['suspect']) + \
              "死亡:" + str(data['chinaTotal']['dead']) + \
              "治愈:" + str(data['chinaTotal']['heal']) + \
              "更新日期:" + data['lastUpdateTime']
#print(china_total)
info = []
for i in range(len(china)):
    info.append([china[i]['name'],china[i]['total']['confirm']])
print(info)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

代码结果:

[['湖北', 64084], ['广东', 1342], ['河南', 1271], ['浙江', 1205], ['湖南', 1016], ['安徽', 989], ['江西', 934], ['山东', 754], ['江苏', 631], ['重庆', 573], ['四川', 526], ['黑龙江', 480], ['北京', 399], ['上海', 335], ['河北', 311], ['福建', 293], ['广西', 249], ['陕西', 245], ['云南', 174], ['海南', 168], ['贵州', 146], ['天津', 135], ['山西', 132], ['辽宁', 121], ['甘肃', 91], ['吉林', 91], ['新疆', 76], ['内蒙古', 75], ['香港', 74], ['宁夏', 71], ['台湾', 28], ['青海', 18], ['澳门', 10], ['西藏', 1]]
  • 1

二、绘制疫情曲线

导入地理图表绘制的包

from pyecharts.charts import Map,Geo
from pyecharts import options as opts
from pyecharts.globals import GeoType,RenderType
  • 1
  • 2
  • 3

关于包的详细信息可查询官网:
https://pyecharts.org/#/zh-cn/intro

参考包中相应代码,绘制疫情地图

geo = Geo(init_opts=opts.InitOpts(width="1200px",height="600px",bg_color="#404a59",page_title="全国疫情实时报告"))
geo.add_schema(maptype="china",itemstyle_opts=opts.ItemStyleOpts(color="rgb(49,69,72)",border_color="rgb(0,0,0)"))
geo.add( series_name = "geo", data_pair = info,type_=GeoType.EFFECT_SCATTER)
geo.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
geo.set_global_opts(visualmap_opts=opts.VisualMapOpts(min_=0,max_=349),title_opts=opts.TitleOpts(title="全国疫情地图"))
geo.render("render.html")
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

地图绘制如下:
在这里插入图片描述

发布了1 篇原创文章 · 获赞 0 · 访问量 18


所属网站分类: 技术文章 > 博客

作者:yoyo

链接:https://www.pythonheidong.com/blog/article/232860/5e396e802a4dcc06882f/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

17 0
收藏该文
已收藏

评论内容:(最多支持255个字符)