-
大小: 12.39MB文件类型: .zip金币: 2下载: 0 次发布日期: 2024-01-29
- 语言: Python
- 标签: python matplotlib
资源简介
python绘制新型冠状病毒疫情地图与疫情曲线。
读取腾讯的接口获得数据,再使用matplotlib库进行绘制。
读取腾讯的接口获得数据,再使用matplotlib库进行绘制。
代码片段和文件信息
# -*- coding: utf-8 -*-
import time # 时间库
import json # 处理json数据专用的库
import requests # 可以访问网址获得数据的一个库,爬虫中应用较为广泛
from datetime import datetime # 时间库
import numpy as np # python数字库,强化python对数学相关内容的处理能力
import matplotlib # python的matlib库
import matplotlib.figure # matplotlib的图形库
from matplotlib.font_manager import FontProperties # matplotlib的字体库
from matplotlib.backends.backend_agg import FigureCanvasAgg # matplotlib的可视化终端库
from matplotlib.patches import Polygon # matplotlib图形库中的“多边形”
from matplotlib.collections import PatchCollection # matplotlib收集库,用于集成检验每个小区域
from mpl_toolkits.basemap import basemap # 地图库
import matplotlib.pyplot as plt # matplotlib的绘图库
import matplotlib.dates as mdates # matplotlib的日期库
plt.rcParams[‘font.sans-serif‘] = [‘FangSong‘] # 设置默认字体
plt.rcParams[‘axes.unicode_minus‘] = False
def catch_daily():
“““抓取每日确诊和死亡数据“““
# 抓取数据的网址
url = ‘https://view.inews.qq.com/g2/getOnsInfo?name=wuwei_ww_cn_day_counts&callback=&_=%d‘ % int(
time.time()*1000)
# 获取数据并进行格式化处理
data = json.loads(requests.get(url=url).json()[‘data‘])
# 数据排序
data.sort(key=lambda x: x[‘date‘])
# 初始化5个列表,用于存放相关数据
date_list = list() # 日期
confirm_list = list() # 确诊
suspect_list = list() # 疑似
dead_list = list() # 死亡
heal_list = list() # 治愈
# 遍历获得的数
for item in data:
# 获取日期
month day = item[‘date‘].split(‘.‘)
# 把相关数据放入数组中
date_list.append(datetime.strptime(‘2020-%s-%s‘ %
(month day) ‘%Y-%m-%d‘))
confirm_list.append(int(item[‘confirm‘]))
suspect_list.append(int(item[‘suspect‘]))
dead_list.append(int(item[‘dead‘]))
heal_list.append(int(item[‘heal‘]))
return date_list confirm_list suspect_list dead_list heal_list
def catch_distribution():
“““抓取行政区域确诊分布数据“““
data = {‘西藏‘: 0}
url = ‘https://view.inews.qq.com/g2/getOnsInfo?name=wuwei_ww_area_counts&callback=&_=%d‘ % int(
time.time()*1000)
for item in json.loads(requests.get(url=url).json()[‘data‘]):
if item[‘area‘] not in data:
data.update({item[‘area‘]: 0})
data[item[‘area‘]] += int(item[‘confirm‘])
return data
def plot_daily():
“““绘制每日确诊和死亡数据“““
date_list confirm_list suspect_list dead_list heal_list = catch_daily() # 获取数据
# 初始化图表的基本信息
plt.figure(‘2019-nCoV疫情统计图表‘ facecolor=‘#f4f4f4‘ figsize=(10 8))
plt.title(‘2019-nCoV疫情曲线‘ fontsize=20)
plt.plot(date_list confirm_list label=‘确诊‘)
plt.plot(date_list suspect_list label=‘疑似‘)
plt.plot(date_list dead_list label=‘死亡‘)
plt.plot(date_list heal_list label=‘治愈‘)
plt.gca().xaxis.set_major_formatter(mdates.DateFormatter(‘%m-%d‘)) # 格式化时间轴标注
plt.gcf().autofmt_xdate() # 优化标注(自动倾斜)
plt.grid(linestyle=‘:‘) # 显示网格
plt.legend(loc=‘best‘) # 显示图例
plt.savefig(
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 6567 2020-01-28 13:15 nCoV.py
目录 0 2020-01-28 10:06 res\
目录 0 2018-11-04 17:41 res\shapefiles\
文件 169 2018-11-04 17:41 res\shapefiles\README.md
文件 162995 2018-11-04 17:41 res\shapefiles\china.dbf
文件 145 2018-11-04 17:41 res\shapefiles\china.prj
文件 3523112 2018-11-04 17:41 res\shapefiles\china.shp
文件 11036 2018-11-04 17:41 res\shapefiles\china.shx
文件 386 2018-11-04 17:41 res\shapefiles\china_country.dbf
文件 145 2018-11-04 17:41 res\shapefiles\china_country.prj
文件 967240 2018-11-04 17:41 res\shapefiles\china_country.shp
文件 108 2018-11-04 17:41 res\shapefiles\china_country.shx
文件 768 2018-11-04 17:41 res\shapefiles\china_nine_dotted_line.dbf
文件 145 2018-11-04 17:41 res\shapefiles\china_nine_dotted_line.prj
文件 9156 2018-11-04 17:41 res\shapefiles\china_nine_dotted_line.shp
文件 180 2018-11-04 17:41 res\shapefiles\china_nine_dotted_line.shx
文件 1702 2018-11-04 17:41 res\shapefiles\plot-sample.ncl
文件 19859 2018-11-04 17:41 res\shapefiles\shapefile_utils.ncl
文件 386 2018-11-04 17:41 res\shapefiles\simplied_china_country.dbf
文件 145 2018-11-04 17:41 res\shapefiles\simplied_china_country.prj
文件 9492 2018-11-04 17:41 res\shapefiles\simplied_china_country.shp
文件 108 2018-11-04 17:41 res\shapefiles\simplied_china_country.shx
文件 10512288 2008-04-14 20:00 res\simsun.ttc
文件 10499104 2012-05-14 11:30 res\simsun.ttf
相关资源
- XATU_Project.zip
- Python灰帽子-黑客与逆向工程师的Pyt
- python+pyqt图书管理系统
- Python数据挖掘入门与实践----Code完整代
- deep learning with python 中文版
- Python黑帽子 黑客与渗透测试编程之道
- 树莓派Python编程入门与实战
- python,pygame开发的太空大战源代码
- 最大匹配法分词Python
- 疫情数据爬虫并绘制柱状图.py
- 天天生鲜Python版前端页面
- Python-中国科学院大学教务抢课程序多
- 《Python绝技》:运用Python成为顶级黑
- Introduction to machine learning with python (
- python 去掉重复行
- 上采样/上变频/半带滤波器设计仿真代
- python遗传算法解决八皇后问题
- Data Science from Scratch First Principles wit
- python小说阅读系统
- python新浪微博爬虫,爬取微博和用户
- 计算机语言学n-gram算法的python实现
- pygame小游戏-全民打飞机(关卡选择飞
- Python 飞机大战 增强版本完整代码实现
- Learning Data Mining With Python book 代码及数
- Python数据挖掘入门与实践 数据集及代
- Python数据爬虫及可视化分析
- python小波包文档及论文.zip
- Python-100-Days-master.rar
- Introduction to Programming in Python An Inter
- Introduction to Machine Learning with Python.p
评论
共有 条评论