爬虫爬取新冠肺炎统计数据,matplotlib数据可视化

------------------------------更新--------------------------------------
原网页https://news.qq.com/zt2020/page/feiyan.htm或已改变,以下代码仅供参参考。
另,可参考另一篇类似博客:https://blog.csdn.net/weixin_43636302/article/details/104289556

每日新增疑似和湖北省内外确诊对比

在这里插入图片描述

import json
import requests
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np

url="https://view.inews.qq.com/g2/getOnsInfo?name=disease_h5"
resp=requests.get(url)
html=resp.json()
data=json.loads(html["data"])

chinaDayAddList=data["chinaDayAddList"]
dailyNewAddHistory=data["dailyNewAddHistory"]
print(chinaDayAddList)
da=[]
for i in range(len(chinaDayAddList)):
    da.append([chinaDayAddList[i]["date"],chinaDayAddList[i]["confirm"] , chinaDayAddList[i]["suspect"], chinaDayAddList[i]["dead"],chinaDayAddList[i]["heal"],chinaDayAddList[i]["deadRate"],chinaDayAddList[i]["healRate"],dailyNewAddHistory[i]["hubei"],dailyNewAddHistory[i]["notHubei"]])
print(da)

df = pd.DataFrame({})
df["date"] =  [x[0] for x in da]
df["confirm"] = [x[1] for x in da]
df["suspect"] =  [x[2] for x in da]
df["dead"] =  [x[3] for x in da]
df["heal"] =  [x[4] for x in da]
df["deadRate"] =  [x[5] for x in da]
df["healRate"] =  [x[6] for x in da]
df["hubei"] =  [x[7] for x in da]
df["notHubei"] =  [x[8] for x in da]
print(df)
fig = plt.figure(figsize=(10, 5))
count = df.count()['date']
index = np.arange(count)
df['index'] = index
print(df)
#设置横坐标间隔
limit=1
# 设置横坐标的刻度与显示标签
plt.xticks(index[::limit], df['date'][::limit],rotation=90)
plt.title("每日新增疑似和湖北省内外确诊对比")
ax1 = plt.gca()
#设置坐标标题
ax1.set(xlabel='date', ylabel='人数')
#解决画图中文乱码问题
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
line1, = ax1.plot(index, df['confirm'], color='black',linestyle= '-',linewidth=2,alpha=0.9,label='confirm')
line2, = ax1.plot(index, df['suspect'], 'grey', label='suspect')
line3, = ax1.plot(index, df['hubei'], color='black',linestyle= '--',linewidth=2,alpha=0.9, label='hubei_confirm')
line4, = ax1.plot(index, df['notHubei'],color='black',linestyle= ':',linewidth=2,alpha=0.9, label='notHubei_confirm')
#设置图例
plt.legend(handles=[line1, line2,line3,line4])
plt.show()

每日新增死亡和治愈

在这里插入图片描述

import json
import requests
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np

url="https://view.inews.qq.com/g2/getOnsInfo?name=disease_h5"
resp=requests.get(url)
html=resp.json()
data=json.loads(html["data"])
chinaDayAddList=data["chinaDayAddList"]
print(chinaDayAddList)
print(len(chinaDayAddList))
da=[]
for i in range(len(chinaDayAddList)):
    da.append([chinaDayAddList[i]["date"],chinaDayAddList[i]["confirm"] , chinaDayAddList[i]["suspect"], chinaDayAddList[i]["dead"],chinaDayAddList[i]["heal"],chinaDayAddList[i]["deadRate"],chinaDay
  • 7
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值