**

各国疫情数据分析

**
1.英国与俄罗斯疫情分析
2.巴西与美国疫情分析
3.中国和印度疫情分析

一.英国与俄罗斯

1.全国新增确诊趋势图(附件1)
英国
导入python模块中的pandas模块,matplotlib.dates模块与matplotlib.pyplot模块
先运用pandas模块与数据所在的excel建起联系,进行有一定条件的数据筛选与调用,之后利用matplotlib型模块对于所采用的数据进行绘制展现。

对于上图所展现的折线,可以得出英国的每日新增确诊人数总体呈先上升后下降的趋势。自3月12日始,新增确诊人数呈波动上升趋势,在4月11日有大幅度的上升,达到近14000人数的峰值,之后便呈波动下降趋势,至7月初,疫情波动情况已渐渐趋于平稳,接近于3月初即疫情爆发初期的情况,可见英国对于应对疫情采取了一定的措施,并取得了明显的效果。

俄罗斯
导入python模块中的pandas模块,matplotlib.dates模块与matplotlib.pyplot模块
先运用pandas模块与数据所在的excel建起联系,进行有一定条件的数据筛选与调用,之后利用matplotlib型模块对于所采用的数据进行绘制展现。

对于上图所展现的折线,可以得出俄罗斯的每日新增确诊人数总体呈波动上升的趋势。三月下旬开始,疫情情况开始有较大幅度的波动上升,并长久持续的进行下去。其中值得注意的是,在6月19日,突然出现大幅度的下降,达812人,之后在6月20日又剧烈上升,达到2月初到7月初的峰值——近15000人,随后每日新增确诊人数持续下降至7月初,后又开始大幅度的上升。可见俄罗斯疫情局势十分不稳定,自疫情爆发以来每日新增确诊人数一直处于高水平。俄罗斯的疫情应对情况并不乐观,效果并未明显的表现出来。
结合上面两个图以及国家政策,海关政策等分析上述两图的关联:
对以上两图进行综合分析,不难发现俄罗斯的疫情爆发时期远远慢于英国,在这个时期俄罗斯的应对效果要远远高于英国,究其原因,一方面是俄罗斯在疫情爆发初期反应迅速,采取了关闭部分边境,国内严格管控,隔离确诊患者的措施。另一方面是英国在疫情爆发初期采取了令人震惊的“群体免疫”政策,造成了在这个重要的时间段里产生了大量的确诊病例出现,并同时埋伏着数不胜数的“等待免疫”的潜在患者。
但是我们又可以发现的是,在疫情爆发了2、3个月后,英国开始走下坡路,俄罗斯却持续稳定地走上坡路,并几乎居高不下。其中一个导致如今俄罗斯局势紧张的重要原因是欧洲输入,俄罗斯因为历史的关系,有多达几百万的侨民在欧洲。而长期频繁的交往,使得俄罗斯没能注意到危险,只顾管理内部和禁止我国的可能疫情输入,却没防住西方和欧洲。大量从欧洲回国的俄罗斯人,成为俄罗斯疫情的主要来源。另一个原因是俄罗斯的内部管理制度存在漏洞和不足,地方政府的不负责任以及对禁止集会的“非强制”命令。以上因素也是导致俄罗斯如今情况的罪魁祸首之一。

2. 治愈率,死亡率折线图(附件2)
英国
导入python模块中的pandas模块,matplotlib.dates模块与matplotlib.pyplot模块
先运用pandas模块与数据所在的excel建起联系,进行有一定条件的数据筛选与调用,之后利用matplotlib型模块对于所采用的数据进行绘制展现。

从上图表现出来的结果来看,可以简单概括为,英国的治愈率总体呈下降趋势,死亡率总体呈上升趋势,并在3月12日后稳定的高于治愈率。英国的治愈率一开始一直处于大幅度上升的状态,后一直急速下降至3月10日,之后趋于稳定。英国的死亡率开始一直处于波动上升的状态,到4月18日后趋于稳定。至7月初,英国的治愈率趋于0.1%,死亡率趋于1.3%。
俄罗斯
导入python模块中的pandas模块,matplotlib.dates模块与matplotlib.pyplot模块
先运用pandas模块与数据所在的excel建起联系,进行有一定条件的数据筛选与调用,之后利用matplotlib型模块对于所采用的数据进行绘制展现。

从上图表现出来的结果来看,可以简单概括为,俄罗斯的治愈率总体呈上升趋势,死亡率一直趋于稳定,并长期处于较低水平,始终低于治愈率。俄罗斯的治愈率一开始一直急速上升,到2月26日后,又处于急速下降的状态,之后处于波动上升的状态。俄罗斯的死亡率自疫情爆发以来一直无明显的波动,稳定的处于0%左右的低水平线。至7月初,俄罗斯的治愈率趋于0.7%,死亡率趋于0%。

3. 各个国家制作治愈人数,死亡人数占比饼图(附件3)
英国
对装载数据的excel表格预先处理,得出南美洲的治愈、死亡、现有确诊总人数,之后直接带入数据。定义图形的大小,表情,每块的颜色,将所显示的分数设置为小数点后两位,设置列表名为南美洲,同时保证x,y轴刻度设置一致,保证饼图为圆形。运用t.set_size调整字体大小,最后使用plot函数对其进行绘制展现。

对上图进行分析,不难得出死亡人数占最大比例,达97%左右,治愈人数达3%左右。英国的死亡人数比例远远大于治愈人数的比例,英国的疫情治理状况的恶劣程度可以用惨烈来形容。这张饼图直观且突出重点地清晰表达了英国的治愈人数与死亡人数之间的对比。

俄罗斯
对装载数据的excel表格预先处理,得出南美洲的治愈、死亡、现有确诊总人数,之后直接带入数据。定义图形的大小,表情,每块的颜色,将所显示的分数设置为小数点后两位,设置列表名为南美洲,同时保证x,y轴刻度设置一致,保证饼图为圆形。运用t.set_size调整字体大小,最后使用plot函数对其进行绘制展现。

对上图进行简单的分析,可以得出治愈人数占比最大,达98%左右,死亡人数达2%左右。俄罗斯的治愈人数比例远远高于死亡人数的比例这一现象,直接反映了俄罗斯在治疗患者方面做的较不错,应对措施效果较明显。这张饼图直观且突出重点地清晰表达了俄罗斯的治愈人数与死亡人数之间的对比。
为什么英国治愈率非常低:
首先要明确的是,英国属于发达国家一列,与俄罗斯相比,医疗条件要远远好于俄罗斯的医疗条件。但是由于短期时间内大量的确诊人数使得医疗资源紧缺,并且其中有大量的老人(英国的老龄化情况严重),直接导致了英国最终的治愈率低,死亡率高。再者,由于英国疫情爆发初期采用的“群体免疫”政策,导致了一部分患者无法得到及时救治。相比而言,俄罗斯积极管控,能对有限的医疗资源进行有效的调配,使得长期以来治愈率较高。
4. 各个国家累计确诊,累计治愈,累计死亡,的并列柱状图(附件4)
英国
读取“英国”表中各国的累计确诊、累计治愈、累计死亡人数,设置行名从2到7,总共6个月份,将列名设置为“疫情情况”,最后使用plot函数对其进行绘制展现。

上图直接且清晰地展示了,2月份相对于其他月份来讲,数值显示为“0”,可见2月份并未开始真正的爆发。3到6月份累计确诊人数与累计死亡一直呈大幅度上升的态势,累计治愈变化一直不明显。6月份到7月份累计确诊、累计死亡、累计治愈三个元素均未发现明显变化,可见英国的疫情得到了一定的控制。在7月份,三者峰值分别是314992人,1372人,43991人。
俄罗斯
读取“俄罗斯”表中各国的累计确诊、累计治愈、累计死亡人数,设置行名从2到7,总共6个月份,将列名设置为“疫情情况”,最后使用plot函数对其进行绘制展现。

对上图进行分析,2月份和3月份相对于其他月份来说数值过小,可见俄罗斯的疫情于4月份左右开始真正的爆发,要晚于英国的疫情爆发时期,或者是疫情初期处理情况要优于英国。在4月份到6月份,累计确诊、累计治愈呈大幅度上升,累计死亡变化并不明显,在6月份到7月份,累计确诊依然有小幅度的增加,累计治愈同样有部分的提升,值得注意的是,累计死亡人数的上升幅度比之前4个阶段要大。在7月份,三者峰值分别是680283人,449995人,10145人。
5. 各个国家按照月份做累计确诊人数的漏斗图(附件5)
英国
导入pyecharts与funnel模块。之后运用funnel模块初始化图形参数,读取所需要的英国每月累计确诊人数数据,使用funnel函数生成所需要的html文件,得到图片。

上图清晰的表达了英国的每月的累计确诊人数在2月份到5月份一直处于激增的状态,5到7月份变化较之前小了很多。英国前段时间疫情爆发速度快,压制效果不明显。后段时间疫情情况趋于稳定,英国采取了有效的应对措施。
俄罗斯
导入pyecharts与funnel模块。之后运用funnel模块初始化图形参数,读取所需要的俄罗斯每月累计确诊人数数据,使用funnel函数生成所需要的html文件,得到图片。

对上图进行分析,容易得到俄罗斯2到3月份较于其他月份几乎“没有”确诊人数,反映了俄罗斯疫情初期的防控措施做得可圈可点。然而,俄罗斯的每月确诊人数在4到7月份一直处于大幅度的上升,幅度并未削减。俄罗斯的前期工作做得有效果,后期的措施存在部分漏洞与不足,导致4到7月份产生难以抑制的爆发式增长。
6. 英国和俄罗斯两个国家的新增疫情对比图(附件6)
导入python模块中的pandas模块,time模块,numpy与matplotlib.pyplot模块,之后利用openpyxl函数与数据库建立联系,读取所需要的数据,之后利用matplotlib.pyplot模块对其进行绘制展现。

对上图进行综合分析。从上图体现出来的明显的两国每日新增确诊之间的对比可以看出,俄罗斯的疫情爆发时期大致处于4月初,英国的大致处于3月中旬,俄罗斯的疫情爆发时期要远远晚于英国。但在4月中旬左右,俄罗斯的每日新增确诊人数开始大于英国,并差距越拉越大,这种“俄大英小”的情况几乎一直稳定且延续至今。可见俄罗斯的早期工作优于英国,但较晚时期的应对措施存在不足。
7. 英国和俄罗斯两个国家的各项数据雷达图(附件7)
导入python模块中的numpy,xlrd与matplotlib.pyplot模块,利用xlrd函数建立与数据之间的联系,从而达到引用数据的目的, 之后利用matplotlib.pyplot模块对其进行绘制展现。

上图明显的表示出了俄罗斯的累计确诊几乎是英国累计确诊人数的两倍,累计治愈远远大于英国的累计治愈人数,但同时累计死亡却小于英国的累计死亡。反映出虽然俄罗斯的疫情感染人数远远大于英国的疫情感染人数,在疫情防治措施上不如英国,但在疫情治疗,即医疗资源的分配上要好于英国,导致最终累计治愈人数要远远大于累计死亡人数。然而,两国的累计确诊跟累计治愈人数依然有很大的差距,在战胜疫情的道路上不免任重而道远。

附件(源代码)

附件1
import matplotlib.dates as mdate
import matplotlib.pyplot as plt

def plot_curve1(data,title):
fig1 = plt.figure(figsize=(40,10))
ax1 = fig1.add_subplot(1,1,1)
ax1.xaxis.set_major_formatter(mdate.DateFormatter('%Y-%m-%d'))
plt.xticks(pd.date_range('2020-02-08','2020-07-06'),rotation=90)
plt.title(title)
plt.plot(data,'o-')
plt.show()
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False

附件2
import matplotlib.dates as mdate
import matplotlib.pyplot as plt

def plot_curve1(data,title):
fig1 = plt.figure(figsize=(40,10))
ax1 = fig1.add_subplot(1,1,1)
ax1.xaxis.set_major_formatter(mdate.DateFormatter('%Y-%m-%d'))
plt.xticks(pd.date_range('2020-02-08','2020-07-06'),rotation=90)
plt.title(title)
plt.plot(data,'o-')
plt.show()
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False

附件3
英国
#-
- coding: utf-8 -*-
from matplotlib import pyplot as plt
plt.rcParams[‘font.sans-serif’]=[‘SimHei’] #解决中文乱码
plt.figure(figsize=(8,9)) #调节图形大小
labels = [u’治愈人数’,u’死亡人数’] #定义标签
sizes = [1372,43991] #每块值
colors = [‘yellowgreen’,‘red’] #每块颜色定义
explode = (0,0) #将某一块分割出来,值越大分割出的间隙越大
patches,text1,text2 = plt.pie(sizes,
explode=explode,
labels=labels,
colors=colors,
autopct = ‘%3.2f%%’, #数值保留固定小数位
shadow = False, #无阴影设置
startangle =90, #逆时针起始角度设置
pctdistance = 0.6) #数值距圆心半径倍数距离
#patches饼图的返回值,texts1饼图外label的文本,texts2饼图内部的文本
#x,y轴刻度设置一致,保证饼图为圆形

for t in text1:
t.set_size(25)
for t in text2:
t.set_size(20)
plt.axis(‘equal’)
plt.title(“英国”,fontdict={‘weight’:‘normal’,‘size’: 30})
plt.legend()
plt.show()
俄罗斯
#-
- coding: utf-8 -*-
from matplotlib import pyplot as plt
plt.rcParams[‘font.sans-serif’]=[‘SimHei’] #解决中文乱码
plt.figure(figsize=(8,9)) #调节图形大小
labels = [u’治愈人数’,u’死亡人数’] #定义标签
sizes = [449995,10145] #每块值
colors = [‘yellowgreen’,‘red’] #每块颜色定义
explode = (0,0) #将某一块分割出来,值越大分割出的间隙越大
patches,text1,text2 = plt.pie(sizes,
explode=explode,
labels=labels,
colors=colors,
autopct = ‘%3.2f%%’, #数值保留固定小数位
shadow = False, #无阴影设置
startangle =90, #逆时针起始角度设置
pctdistance = 0.6) #数值距圆心半径倍数距离
#patches饼图的返回值,texts1饼图外label的文本,texts2饼图内部的文本

#x,y轴刻度设置一致,保证饼图为圆形

for t in text1:
t.set_size(25)
for t in text2:
t.set_size(20)
plt.axis(‘equal’)
plt.title(“俄罗斯”,fontdict={‘weight’:‘normal’,‘size’: 30})
plt.legend()
plt.show()

附件4
*英国
import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np

mpl.rcParams[“font.sans-serif”] = [“SimHei”]
mpl.rcParams[“axes.unicode_minus”] = False

x = np.arange(6)
y = [23, 29974, 171253, 274762, 313470,314992]
y1 = [8, 179, 813, 1918, 1367,1372]
y2 = [0, 1793, 26771, 38489, 43659,43991]
bar_width = 0.2
tick_label = [“2月份”, “3月份”, “4月份”, “5月份”, “6月份”,“7月份”]

plt.bar(x, y, bar_width, align=“center”, color=“c”, label=“累计确诊”, alpha=0.5)
plt.bar(x+bar_width, y1, bar_width, color=“b”, align=“center”, label=“累计治愈”, alpha=0.5)
plt.bar(x+bar_width+bar_width, y2, bar_width, color=“r”, align=“center”, label=“累计死亡”, alpha=0.5)
plt.xlabel(“英国”)
plt.ylabel(“疫情情况”)

plt.xticks(x+bar_width/2, tick_label)

plt.legend()

plt.show()
*俄罗斯
import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np

mpl.rcParams[“font.sans-serif”] = [“SimHei”]
mpl.rcParams[“axes.unicode_minus”] = False

x = np.arange(6)
y = [2, 2337, 106498, 405843, 646929,680283]
y1 = [2, 121, 11619, 171883, 411973,449995]
y2 = [0, 17, 1073, 4693, 9306,10145]
bar_width = 0.2
tick_label = [“2月份”, “3月份”, “4月份”, “5月份”, “6月份”,“7月份”]

plt.bar(x, y, bar_width, align=“center”, color=“c”, label=“累计确诊”, alpha=0.5)
plt.bar(x+bar_width, y1, bar_width, color=“b”, align=“center”, label=“累计治愈”, alpha=0.5)
plt.bar(x+bar_width+bar_width, y2, bar_width, color=“r”, align=“center”, label=“累计死亡”, alpha=0.5)
plt.xlabel(“俄罗斯”)
plt.ylabel(“疫情情况”)

plt.xticks(x+bar_width/2, tick_label)

plt.legend()

plt.show()
附件5
*英国
from pyecharts import Funnel
funnel = Funnel(“英国每月累计确诊人数”, width=600, height=400, title_pos=‘center’)

funnel.add(“英国每月累计确诊人数”, [‘7月’,‘6月’,‘5月’,‘4月’,‘3月’,‘2月’],
[314992,313470,274762,171253,29974,23], is_label_show=True,label_formatter=’{a} {b} {c} {d}’,
label_pos=“outside”,legend_orient=‘vertical’, legend_pos=‘left’)
funnel.render()
*俄罗斯
from pyecharts import Funnel
funnel = Funnel(“俄罗斯每月累计确诊人数”, width=600, height=400, title_pos=‘center’)

funnel.add(“俄罗斯每月累计确诊人数”, [‘7月’,‘6月’,‘5月’,‘4月’,‘3月’,‘2月’],
[680283,646929,405843,106498,2337,2], is_label_show=True,label_formatter=’{a} {b} {c} {d}’,
label_pos=“outside”,legend_orient=‘vertical’, legend_pos=‘left’)
funnel.render()

附件6
import openpyxl
import matplotlib.pyplot as plt
import time
import matplotlib.pyplot as plt
from pylab import *
import numpy as np
mpl.rcParams[‘font.sans-serif’] = [‘SimHei’]
data=openpyxl.load_workbook(‘data1.xlsx’)
data1=data[‘英国’]
data2=data[‘俄罗斯’]
mei={}
ba={}
t={}
for row in data1.values:
if row[0]‘日期’:
pass
else:
mei[row[0]]=row[1]
t[row[0]]=row[15]
for row in data2.values:
if row[0]‘日期’:
pass
else:
ba[row[0]]=row[1]
x1=list(mei.values())
y1=list(ba.values())
plt.figure(figsize=(24,18))
x=np.array(x1)
y=np.array(y1)
t=list(t.values())
plt.xlim((-15000,15000))
plt.xticks((-15000,-10000,-5000,0,5000,10000,15000),(‘15000’,‘10000’,‘5000’,‘0’,‘5000’,‘10000’,‘15000’))
plt.yticks((t),
(ba.keys()))
plt.barh(range(len(y1)), -x,color=‘darkorange’,label=‘英国’)
plt.barh(range(len(x1)), y,color=‘limegreen’,label=‘俄罗斯’)
plt.title(“英国与俄罗斯新增确诊对比图”)
plt.legend()
plt.show()
附件7
import numpy as np
import matplotlib.pyplot as plt
import xlrd

plt.rcParams[‘font.sans-serif’] = ‘SimHei’
plt.rcParams[‘axes.unicode_minus’] = False
plt.style.use(‘ggplot’)
workbook=xlrd.open_workbook(r’C:\Users\D\Desktop\资料和要求\data1.xlsx’)
sheet1=workbook.sheets()[4]
a=sheet1.row_values(122)
values = [0,0,0,0,0,0]
values[0]=a[1]
values[1]=a[3]
values[2]=a[4]
values[3]=a[8]
values[4]=a[10]
values[5]=a[11]
print(a)
feature = [‘当日新增确诊’, ‘当日新增治愈’, ‘当日新增死亡’, ‘累计确诊’, ‘累计治愈’, ‘累计死亡’]
angles = np.linspace(0, 2 * np.pi, len(values), endpoint=False)
values = np.concatenate((values, [values[0]]))
angles = np.concatenate((angles, [angles[0]]))
sheet2=workbook.sheets()[5]
b=sheet2.row_values(122)
values_2 = [0,0,0,0,0,0]
values_2[0]=b[1]
values_2[1]=b[3]
values_2[2]=b[4]
values_2[3]=b[8]
values_2[4]=b[10]
values_2[5]=b[11]
print(values_2)
values_2 = np.concatenate([values_2, [values_2[0]]])
fig = plt.figure()
ax = fig.add_subplot(111, polar=True)
ax.plot(angles, values, ‘o-’, linewidth=2, label=‘英国’)
ax.fill(angles, values, alpha=0.25)
ax.plot(angles, values_2, ‘o-’, linewidth=2, label=‘俄罗斯’)
ax.fill(angles, values_2, alpha=0.25)
ax.set_thetagrids(angles * 180 / np.pi, feature)
ax.set_ylim(0,700000)
plt.legend(loc=‘best’)
ax.grid(True)
plt.show()
plt.show()

二.巴西与美国
1. 绘制全国新增确诊/新增境外输入确诊趋势图
导入python模块中的pandas模块,matplotlib.dates模块与matplotlib.pyplot模块
先运用pandas模块与数据所在的excel建起联系,进行有一定条件的数据筛选与调用,之后利用matplotlib型模块对于所采用的数据进行绘制展现。


由上图可知:
美国在疫情中后期,疫情爆发严重,当日新增病例也有较大的增加。
巴西在疫情前期的由于本地人回国带有病毒,导致印度在疫情后期至现在,每日增加病例都在大幅度上升。
将美国与巴西进行对比,我们可知美国与巴西类似都是前期每日新增病例较小,而在疫情后期至现在,每日新增病例却大幅度上升。
2. 治愈率,死亡率折线图
对装载数据的excel表格预先处理,得出中国和印度的治愈、死亡、现有确诊总人数,之后直接带入数据。定义图形的大小,表情,每块的颜色,将所显示的分数设置为小数点后两位,设置列表名为中国或印度,同时保证x,y轴刻度设置一致,保证饼图为圆形。运用t.set_size调整字体大小,最后使用plot函数对其进行绘制展现。


由上图可知:
美国和巴西的死亡率在一开始都超过了治愈率,美国在4月治愈率才反超死亡率,巴西在4月中旬才反超。到7月美国与巴西的治愈率都在90%,巴西更高一点。可以看出巴西在疫情防控这块做的更好一点。
3.国家治愈人数,死亡人数占比饼图
对装载数据的excel表格预先处理,得出美国的治愈、死亡累计总人数,之后直接带入数据。定义图形的大小,表情,每块的颜色,将所显示的分数设置为小数点后两位,设置列表名为北美洲,同时保证x,y轴刻度设置一致,保证饼图为圆形。运用t.set_size调整字体大小,最后使用plot函数对其进行绘制展现。


由上图可知:
巴西的治愈人数占比较大,占其中的94.07%,死亡人数较小,仅占其中的5.93%。两者的比例为20:1。
美国的治愈人数与死亡人数之比为9:1,这代表着10个患者中便会有1个死亡,这个比例是十分恐怖的。而美国的医疗条件肯定不能说差说落后,所以只能说美国的疫情政策等相关方面做得不好
将美国与巴西相对比,我们可以知道,巴西由于医疗方面比较落后,但死亡人数占比却比美国的死亡人数占比少了进一半,这便是美国可对此次疫情的不作为导致的。

4. 绘制柱状图,按照月份,做累计确诊,累计治愈,累计死亡,累计境外输入的柱状图
读取表中每日的累计确诊,累计治愈,累计死亡,累计境外输入之和,设置行名为月份,将列名设置为人数,使用plot函数对其进行绘制展现。


简单分析:
由上图进行分析,我们可以得知,美国从4月开始有确诊人数然后变直接爆发式增长,并从4月变有的死亡人数,在之后的几月中死亡人数也是在不停的增长中;治愈人数虽然也在不断上升,但可以清晰的看出,美国并没有做好相关的疫情防控准备。
巴西从4月开始有少量的确诊人数出现,并在4月中旬变出现了很多治愈人数,但在5月开始后确诊人数开始暴增,并出现死亡人数,治愈人数的增长变得缓慢了起来,直到6月治愈人数开始大规模的增长。可以确认巴西在疫情初期对疫情防控的较好,但因为中期的大意导致疫情的大规模扩散,医疗条件的缺少也导致治愈人数增加的缓慢。
美国与巴西相比,巴西队在前期对疫情的防控还是比较完善的。

5.各个国家按照月份做累计确诊人数的漏斗图
安装funnel模块,初始化图形参数,输入美国每月累计确诊人数,使用funnel函数。


由上图可知:
美国的累计确诊人数,在4,5,6,7月份时剧增,而2,3月美国的累计确诊人数增加较少,可以说4月是美国开始疫情爆发时期。
巴西的累计确诊人数,在4月开始出现,在5,6,7月剧增,可见巴西目前仍处于疫情爆发时期。
巴西与美国相比,虽然疫情前期巴西防控的较好,但疫情爆发中期巴西的确诊人数与美国一样暴增。可见两国的疫情防控并不理想。

6.两个国家的死亡人数对比图

由上图可知:
美国的死亡人数远远早于巴西,早在3月美国便有了死亡案例,巴西在4月才开始出现。在美国在4月是,死亡人数开始暴增,而巴西是在5月开始大规模增长死亡人数。可以得出美国在一开始便没有做好疫情的防控工作,而巴西在一开始虽然防控疫情取得了一定的成效,但在之后却没有抵抗住疫情的压力。

7.两个国家的各项数据做雷达图


由上图可知:
美国的累计治愈和累计确诊人数要远高于巴西,而死亡人数要超过巴西。由于确诊人数差距过大所以死亡人数超过巴西并不是很出人意料。而通过累计确诊和累计治愈来看,我们可以得出美国和巴西距离疫情结束还有很远的一段距离。

附件(附录)
附件1
import matplotlib.dates as mdate
import matplotlib.pyplot as plt
import csv
import pandas as pd
import xlrd
plt.rcParams[‘font.sans-serif’] = [‘SimHei’]
plt.rcParams[‘font.family’] = ‘sans-serif’
plt.rcParams[‘axes.unicode_minus’] = False

data = pd.read_excel(‘C:\Users\Bruce\Desktop\美国.xlsx’,encoding=“GB2312”)
x=data[‘日期’]
y=data[‘当日新增确诊’]

plt.figure(figsize=(20,12))
plt.xticks(rotation=270)
plt.plot(x,y)
plt.title(“美国新增确诊趋势”,size=20) #设置表名为“表名”
plt.xlabel(‘日期’,size=20) #设置x轴名为“x轴名”
plt.ylabel(‘新增确诊人数’,size=20) #设置y轴名为“y轴名”
plt.savefig(“美国新增人数趋势图.jpg”)

附件2
import matplotlib.dates as mdate
import matplotlib.pyplot as plt
import pandas as pd

plt.rcParams[‘font.sans-serif’] = [‘SimHei’]
plt.rcParams[‘font.family’] = ‘sans-serif’
plt.rcParams[‘axes.unicode_minus’] = False

data = pd.read_excel(‘C:\Users\Bruce\Desktop\巴西.xlsx’,encoding=“GB2312”)
x=data[‘日期’]
y1=data[‘治愈率’]
y2=data[‘死亡率’]
plt.figure(figsize=(20, 8), dpi=80)
plt.plot(x, y1, label=“治愈率”, color="#F08080")
plt.plot(x, y2, label=“死亡率”, color="#DB7093", linestyle="–")
plt.title(“巴西治愈率/死亡率变化趋势”,size=20) #设置表名为“表名”
plt.xlabel(‘日期’,size=20) #设置x轴名为“x轴名”
plt.ylabel(‘百分比’,size=20) #设置y轴名为“y轴名”
plt.legend()
plt.show()

附件3
import matplotlib
from matplotlib import pyplot as plt
plt.rcParams[‘font.sans-serif’]=[‘SimHei’] #解决中文乱码
plt.figure(figsize=(9,9)) #调节图形大小
labels = [u’治愈人数’,u’死亡人数’] #定义标签
sizes = [1029045,64867] #每块值
colors = [‘yellowgreen’,‘red’] #每块颜色定义
explode = (0,0) #将某一块分割出来,值越大分割出的间隙越大
patches,text1,text2 = plt.pie(sizes,
explode=explode,
labels=labels,
colors=colors,
autopct = ‘%3.2f%%’, #数值保留固定小数位
shadow = False, #无阴影设置
startangle =90, #逆时针起始角度设置
pctdistance = 0.7) #数值距圆心半径倍数距离
#patches饼图的返回值,texts1饼图外label的文本,texts2饼图内部的文本

#x,y轴刻度设置一致,保证饼图为圆形

for t in text1:
t.set_size(30)
for t in text2:
t.set_size(25)
plt.axis(‘equal’)
matplotlib.rcParams.update({‘font.size’: 15})
plt.legend()
plt.title(“巴西饼图”,fontdict={‘weight’:‘normal’,‘size’: 30})
plt.show()

附件4
import openpyxl
import matplotlib.pyplot as plt
import time
import matplotlib.pyplot as plt
from pylab import *

mpl.rcParams[‘font.sans-serif’] = [‘SimHei’]
data=openpyxl.load_workbook(‘data2.xlsx’)
data1=data[‘美国’]
death= {}
care={}
dead={}
input1={}
for row in data1.values:
if row[0]==‘日期’:
pass
else:
death[row[0]]=row[8]
care[row[0]]=row[10]
dead[row[0]]=row[11]
input1[row[0]] = row[13]
sorted_dict = death.items()
sorted_dict2 = care.items()
sorted_dict3 = dead.items()
sorted_dict4 = input1.items()
plt.figure(figsize=(26,8))
death1={}
care1={}
dead={}
input1={}
for i, j in sorted_dict:
death1[i]=j
for i, j in sorted_dict2:
care1[i]=j
for i, j in sorted_dict3:
dead[i]=j
for i, j in sorted_dict4:
input1[i]=j
x = tuple(death1.keys())
y = tuple(death1.values())
y1=tuple(care1.values())
y2=tuple(dead.values())
y3=tuple(input1.values())
plt.bar(x, y, color=‘r’,label=‘累计确诊’)
plt.bar(x, y1, color=‘b’,label=‘累计治愈’)
plt.bar(x, y2, color=‘g’,label=‘累计死亡’)
plt.bar(x, y3, color=‘y’,label=‘累计境外输入’)
plt.xlabel(“日期”) # 指定x轴描述信息
plt.ylabel(“人数”) # 指定y轴描述信息
plt.title(“美国累计确诊(红)治愈(蓝)死亡(绿)人数柱状图”) # 指定图表描述信息
plt.ylim(0,3200000) # 指定Y轴的高度

plt.legend()

plt.show()

附件5
from pyecharts import Funnel
funnel = Funnel(“巴西每月累计确诊人数”, width=600, height=400, title_pos=‘center’)

funnel.add(“巴西每月累计确诊人数”, [‘7月’, ‘6月’, ‘5月’, ‘4月’, ‘3月’, ‘2月’], [1603055, 1368195, 514849, 85380, 5717, 2],
is_label_show=True, label_formatter=’{b} {c}’, label_pos=“outside”,
legend_orient=‘vertical’, legend_pos=‘left’)
funnel.render()

附件6
import openpyxl
import matplotlib.pyplot as plt
import time
import matplotlib.pyplot as plt
from pylab import *
import numpy as np
mpl.rcParams[‘font.sans-serif’] = [‘SimHei’]
data=openpyxl.load_workbook(‘data1.xlsx’)
data1=data[‘美国’]
data2=data[‘巴西’]
mei={}
ba={}
t={}
for row in data1.values:
if row[0]‘日期’:
pass
else:
mei[row[0]]=row[11]
t[row[0]]=row[15]
for row in data2.values:
if row[0]‘日期’:
pass
else:
ba[row[0]]=row[11]
x1=list(mei.values())
y1=list(ba.values())
plt.figure(figsize=(12,24))
x=np.array(x1)
y=np.array(y1)
#x = np.array(list(mei.values()))
#y = np.array(list(ba.values()))
#x=list(x)
#y=list(y)

t=list(t.values())
plt.xlim((-150000,150000))
plt.xlim((-150000,150000))
plt.xticks((-150000,-100000,-50000,0,50000,100000,150000),(‘150000’,‘100000’,‘50000’,‘0’,‘50000’,‘100000’,‘150000’))
plt.yticks((t),
(ba.keys()))
plt.barh(range(len(y1)), -x,color=‘darkorange’,label=‘美国’)
plt.barh(range(len(x1)), y,color=‘limegreen’,label=‘巴西’)
plt.title(“美国与巴西累计死亡对比图”)
plt.legend()
plt.show()

附件7
import numpy as np
import matplotlib.pyplot as plt

#正常显示中文

plt.rcParams[‘font.sans-serif’] = ‘Microsoft YaHei’
plt.rcParams[‘axes.unicode_minus’] = False

#使用ggplot的风格绘图
plt.style.use(‘ggplot’)

#构造数据
values = [2982928, 1289564, 132569, 0, 0, 0]
values_1 = [1603055,1029045,64867, 0, 0, 0]
feature = [‘累计确诊’,‘累计治愈’,‘累计死亡’,‘累计疑似’,‘累计重症’,‘累计累计境外输入’]

N = len(values)

#生成角度
angles = np.linspace(0,2*np.pi,N,endpoint=False)

#数据闭合
values = np.concatenate((values,[values[0]]))
angles = np.concatenate((angles,[angles[0]]))
values_1 = np.concatenate((values_1,[values_1[0]]))
#绘图
fig = plt.figure()
#设置为极坐标格式
ax = fig.add_subplot(111, polar=True)
#绘制折线图
ax.plot(angles,values,‘o-’,linewidth=2,label=‘美国’)
ax.fill(angles,values,‘r’,alpha=0.5)

#填充颜色
ax.plot(angles,values_1,‘o-’,linewidth=2,label=‘巴西’)
ax.fill(angles,values_1,‘b’,alpha=0.5)

#通过这一个命令调整背景线
ax.set_thetagrids(angles*180/np.pi,feature)
#设置极轴范围
ax.set_ylim(0,3000000)
#添加标题
plt.title(‘美国与巴西各项数值比’)
#增加网格纸
plt.legend(loc=‘best’)
ax.grid(True)
plt.show()

三.中国与印度

1、绘制全国新增确诊/新增境外输入确诊趋势图,结合上面两个图以及国家政策,海关政策等分析上述两图的关联(附录1)
制作简述:
导入python模块中的pandas模块,matplotlib.dates模块与matplotlib.pyplot模块
先运用pandas模块与数据所在的excel建起联系,进行有一定条件的数据筛选与调用,之后利用matplotlib型模块对于所采用的数据进行绘制展现。


由上图可知:
中国在疫情前期,疫情爆发严重,当日新增病例也有较大的增加,但无境外病例的输入,而后又逐渐减弱,现在中国当日增加大多数均来自境外输入,但增加人数较少。
印度在疫情前期的由于本地人回国带有病毒,导致印度在疫情后期至现在,每日增加病例都在大幅度上升,由图可知,印度无境外输入病例。
将中国与印度进行对比,我们可知中国的疫情是在疫情前期急剧爆发,而如今每日增加病例已经等同于境外输入病例了,而印度在疫情前期每日新增病例较小,而在疫情后期至现在,每日新增病例却大幅度上升,这导致印度有条件的人选择来到中国或者其他医疗条件发达国家进行救治和躲避。而面对境外输入人员,应当积极配合当地的防疫工作,进行隔离和救治,不隐瞒自己的行程和身体状况。不对当地的防疫增添难度。
2、治愈率,死亡率折线图(附录2)
制作简述:
对装载数据的excel表格预先处理,得出中国和印度的治愈、死亡、现有确诊总人数,之后直接带入数据。定义图形的大小,表情,每块的颜色,将所显示的分数设置为小数点后两位,设置列表名为中国或印度,同时保证x,y轴刻度设置一致,保证饼图为圆形。运用t.set_size调整字体大小,最后使用plot函数对其进行绘制展现。


由上图可知:
印度的死亡率较低,治愈率在逐渐上升,但目前印度的治愈率还不是很高,但一直有上升的趋势,由于印度患病的人数基数较大,所以印度的死亡人数还是很多,由此可见,印度的疫情仍然处于严重状况。
中国的治愈率现在以平稳在90%以上,而中国的死亡率比较低,由此可见,中国的疫情
已经逐渐得到控制。
将中国与印度相比较,可知中国的治愈率远高于印度的治愈率,可见中国的防疫措施和医疗设施均好于印度,而中国与印度的死亡率接近,但是由于印度患病的人数远大于中国,所以印度的死亡人数也远高于中国。可见,中国对疫情的防控和治疗要比印度好。

3、各个国家制作治愈人数,死亡人数占比饼图,分析为什么有的国家会治愈率非常低(结合当地医疗条件去分析)(附录3)
制作简述:
对装载数据的excel表格预先处理,得出中国和印度的治愈率和死亡率、之后直接带入数据。定义图形的大小,表情,每块的颜色,将所显示的分数设置为小数点后两位,设置列表名为中国或印度,同时保证x,y轴刻度设置一致,保证饼图为圆形。运用t.set_size调整字体大小,最后使用plot函数对其进行绘制展现。

由上图可知:
印度的确诊人数占比较大,占其中的61.09%,其中,印度的治愈人数的占比较小,占其中的37.18%,但印度的死亡人数较小,仅占其中的1.7%。由于印度的人口众多,人口密度极大,人均占地面积仅有1.7平方米,导致印度的传播速度极快,如果没有及时对患病的患者进行隔离,将会导致更多的人确诊。其次,由于印度医疗不发达,包括床位的严重不足。医患比例极不均衡,医疗机构严重短缺等,这些均会导致印度的治愈人数下降,由于医务人员中存在极大的患病几率,这倒是印度的医患比例急剧下降,从而使印度的医疗倒退。而医疗和经济的极具倒退,会导致印度各方面的实力倒退,届时,军队也很有可能出现感染最终结果便是富人们逃离印度,印度成为了一个真正意义上的死亡疫区。我们看到的印度会是一片人间惨状,特别是印度的贫民窟,这与2014年非洲埃博拉疫情肆虐时只强不弱。
中国虽然确诊的人数占比过半,占其中的50.15%,但是中国的治愈人数也较多,占其中的47.12%,而死亡人数仅占其中的2.73。由此可见,中国的疫情已经处于即将治愈的状态。%从中国的防疫措施来看,疫情初期,虽然处于中国的春运时期,人流量较大,导致疫情的爆发,但中国政府立即采取行动,每个省都对外来人口进行隔离,这使得疫情的传播受到阻断,各省的医务人员,前往重灾区进行支援,这导致大多数患者杯治愈,但如今,中国仍未放松警惕,对境外输入的人员进行隔离检测,确保未携带病毒进入中国。
将中国与印度相对比,我们可以知道,印度由于医疗方面比较落后,以及在疫情初期未有较快速度的应对方法,以及印度的人口众多,人口密度较大,人均占地面积较小,导致病毒的传播速度较快,而中国有着快速的应对措施,减缓了病毒的传播速度,使得中国在对疫情的控制现已经卓有成效了。

4、绘制柱状图,按照月份,做累计确诊,累计治愈,累计死亡,累计境外输入的柱状图
制作简述:
读取“中国”“印度”表中各国的累计确诊,累计治愈,累计死亡,设置行名为累计确诊,累计治愈,累计死亡,将列名设置为“疫情情况”,最后使用plot函数对其进行绘制展现。


由图可知:
中国从一月份开始就出现了疫情,2月的累计确诊病例达到最高,6月中国的累计治愈与累计死亡的总人数与累计确诊的人数接近,由此可知,中国的疫情已经得到控制和好转。
印度从四月才开始出现确诊病例,四月还未出现死亡病例,但是五月和六月的累计确诊病例大幅度上升,六月的累计治愈和累计死亡的人数之和与累计确诊的人数仍然存在较大差距。可见,印度的疫情仍然比较严重。
中国与印度相比,印度疫情的爆发时间晚于中国的疫情爆发时间,但是目前中国的疫情已经得到了较好的控制,但是印度还在处于疫情的严重时期。

5、各个国家按照月份做累计确诊人数的漏斗图(附录5)


由上图可知:
中国的累计确诊人数,在2月份时剧增,而3,4,5,6月中国的累计确诊人数增加较少,可以说2月是中国的疫情爆发时期。
印度的累计确诊人数,在4月开始出现,但是印度5月比四月累积确诊人数增加较多,6月比五月的累计确诊人数增加较多,可见印度目前仍处于疫情爆发时期。
中国与印度相比,虽然疫情爆发早于印度,但疫情爆发时长远小于印度,可见,中国在疫情期间的防疫措施要好于印度的防疫措施。

6、两个国家的新增确诊对比图:(附录六)

由上图可知:
中国的新增确诊病例早于印度的新增确诊病例,但是印度目前仍然处于新增病例持续增加的情况,而中国目前的新增确诊病例却已经减小,甚至趋于0新增确诊病例。由图可知,二月是中国的疫情爆发时期,而5,6,7月是印度的爆发时期,由新增确诊病例可知,印度的疫情还未得到控制,仍处于爆发时起。两国相比,中国处于疫情爆发时期短于印度,由此可见,中国的防疫措施,政策以及医疗水平均高于印度。

7、两个国家的各项数据做雷达图(附录7)

由上图可知:
印度的累计确诊人数要远高于中国,从累计治愈看,印度的累计治愈人数远高于中国,但于累计确诊人数相比差距还较大,而中国累计确诊人数与累计治愈人数相差不大,由此可知,印度目前仍处于疫情严重区,而中国的疫情已经有着明显的好转和控制了。

附录(源代码)
附录1:当日新增,境外输入病例的折线图
#模块导入
import pandas as pd
import matplotlib.pyplot as plt

#读取表格中的数据
data=pd.read_excel('数据.xlsx',None)
#设置字体
plt.rcParams['font.sans-serif']=['simhei']
data_in=data['中国']
data_out=data['印度']
plt.plot(range(175),data_in['当日新增确诊'])
plt.plot(range(175),data_in['新增境外输入'])
plt.legend(['当日新增','新增境外输入'])
plt.title('中国新增确诊/新增境外输入确诊趋势图')
plt.show()

附录2:治愈率、死亡率的折线图
印度:
#模块导入
import pandas as pd
import matplotlib.pyplot as plt

#读取表格中的数据
data=pd.read_excel('数据1.xlsx',None)
#设置字体
plt.rcParams['font.sans-serif']=['simhei']

data_in=data['中国']
data_out=data['印度']

plt.plot(range(126),data_out['治愈率'])
plt.plot(range(126),data_out['死亡率'])
plt.legend(['治愈率','死亡率'])
plt.title('印度治愈率/死亡率趋势图')
plt.show()
中国:
#模块导入
import pandas as pd
import matplotlib.pyplot as plt

#读取表格中的数据
data=pd.read_excel('数据1.xlsx',None)
#设置字体
plt.rcParams['font.sans-serif']=['simhei']

data_in=data['中国']
data_out=data['印度']

plt.plot(range(175),data_in['治愈率'])
plt.plot(range(175),data_in['死亡率'])
plt.legend(['治愈率','死亡率'])
plt.title('中国治愈率/死亡率趋势图')

plt.show()

附录3:饼图
#模块导入
import pandas as pd
import matplotlib.pyplot as plt

#读取表格中的数据
data=pd.read_excel('数据.xlsx',None)
#设置字体
plt.rcParams['font.sans-serif']=['simhei']

data_in=data['中国']
data_out=data['印度']

#两国治愈,死亡人数占比饼图
plt.subplot(2,1,1)
plt.pie([424433,19693,697413],labels=['治愈','死亡','确诊'],autopct='%.2f%%')
plt.title('印度')
plt.subplot(2,1,2)
plt.pie([80157,4648,85320],labels=['治愈','死亡','确诊'],autopct='%.2f%%')
plt.title('中国')

plt.show()

附录4:柱状图
印度:
import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np

mpl.rcParams[“font.sans-serif”] = [“SimHei”]
mpl.rcParams[“axes.unicode_minus”] = False

x = np.arange(5)
y = [3,1397,33160,190609,566840]
y1 = [3,124,8373,91852,334822]
y2 = [0,35,1075,5408,16893]
bar_width = 0.2
tick_label = [ “2月份”, “3月份”, “4月份”, “5月份”,“6月份”]

plt.bar(x, y, bar_width, align=“center”, color=“c”, label=“累计确诊”, alpha=0.5)
plt.bar(x+bar_width, y1, bar_width, color=“b”, align=“center”, label=“累计治愈”, alpha=0.5)
plt.bar(x+bar_width+bar_width, y2, bar_width, color=“r”, align=“center”, label=“累计死亡”, alpha=0.5)
plt.xlabel(“印度”)
plt.ylabel(“疫情情况”)

plt.xticks(x+bar_width/2, tick_label)

plt.legend()

plt.show()
中国:
import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np

mpl.rcParams[“font.sans-serif”] = [“SimHei”]
mpl.rcParams[“axes.unicode_minus”] = False

x = np.arange(6)
y = [11821,79968,82631,84385,84588,85232]
y1 = [243,41675,76415,78845,79812,80068]
y2 = [259,2873,3321,4643,4645,4648]
bar_width = 0.2
tick_label = [“1月份”, “2月份”, “3月份”, “4月份”, “5月份”,“6月份”]

plt.bar(x, y, bar_width, align=“center”, color=“c”, label=“累计确诊”, alpha=0.5)
plt.bar(x+bar_width, y1, bar_width, color=“b”, align=“center”, label=“累计治愈”, alpha=0.5)
plt.bar(x+bar_width+bar_width, y2, bar_width, color=“r”, align=“center”, label=“累计死亡”, alpha=0.5)
plt.xlabel(“中国”)
plt.ylabel(“疫情情况”)

plt.xticks(x+bar_width/2, tick_label)

plt.legend()

plt.show()

附录5:漏斗图
中国:
from pyecharts import Funnel
funnel = Funnel(“中国每月累计确诊人数”, width=600, height=400, title_pos=‘center’)

funnel.add(“中国每月累计确诊人数”, [‘6月’,‘5月’,‘4月’,‘3月’,‘2月’,‘1月’],
[85232,84588,84385,82631,79968,11821], is_label_show=True,label_formatter=’{a} {b} {c} {d}’,
label_pos=“outside”,legend_orient=‘vertical’, legend_pos=‘left’)
funnel.render()
印度:
from pyecharts import Funnel

funnel = Funnel(“印度每月累计确诊人数”, width=600, height=400, title_pos=‘center’)

funnel.add(“印度每月累计确诊人数”, [‘6月’,‘5月’,‘4月’,‘3月’,‘2月’],
[566840,190609,33160,1397,3], is_label_show=True,label_formatter=’{a} {b} {c} {d}’,
label_pos=“outside”,legend_orient=‘vertical’, legend_pos=‘left’)
funnel.render()

附录6:对比图
import xlrd
from pylab import *

mpl.rcParams['font.sans-serif'] = ['SimHei']
workbook=xlrd.open_workbook('数据.xlsx')
sheet1=workbook.sheets()[0]
a=sheet1.col_values(1)
a.pop(0)
sheet2=workbook.sheets()[1]
b=sheet2.col_values(1)
b.pop(0)
x=np.array(a)
y=np.array(b)
plt.figure(figsize=(12,18))
plt.barh(range(len(x)), -x,color='darkorange',label='中国')
plt.barh(range(len(y)), y,color='limegreen',label='印度')
plt.xlim((-15000,15000))
plt.xticks((-20000,-15000,-10000,-5000,0,5000,10000,15000,20000),('20000','15000','10000','5000','0','5000','10000','15000','20000'))
plt.yticks((0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123),
('3.3', '3.4', '3.5', '3.6', '3.7', '3.8', '3.9', '3.10',
'3.11', '3.12', '3.13', '3.14', '3.15', '3.16', '3.17', '3.18',
'3.19', '3.20', '3.21', '3.22','3.23', '3.24', '3.25', '3.26', '3.27', '3.28', '3.29', '3.30', '3.31', '4.1', '4.2', '4.3', '4.4', '4.5', '4.6', '4.7', '4.8', '4.9', '4.10', '4.11', '4.12', '4.13', '4.14', '4.15', '4.16', '4.17', '4.18', '4.19', '4.20', '4.21', '4.22', '4.23', '4.24', '4.25', '4.26', '4.27', '4.28', '4.29', '4.30','5.1','5.2','5.3','5.4','5.5','5.6','5.7','5.8','5.9','5.10','5.11','5.12','5.13','5.14','5.15','5.16','5.17','5.18','5.19','5.20','5.21','5.22','5.23','5.24','5.25','5.26','5.27','5.28','5.29','5.30','5.31','6.1','6.2','6.3','6.4','6.5','6.6','6.7','6.8','6.9','6.10','6.11','6.12','6.13','6.14','6.15','6.16','6.17','6.18','6.19','6.20','6.21','6.22','6.23','6.24','6.25','6.26','6.27','6.28','6.29','6.30','7.1','7.2','7.3','7.4'))
plt.xlabel('新增确诊(人)')
plt.legend()
plt.show()

附录7:雷达图
import numpy as np
import matplotlib.pyplot as plt
import xlrd
plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False
plt.style.use('ggplot')
workbook=xlrd.open_workbook('数据.xlsx')
sheet1=workbook.sheets()[0]
a=sheet1.row_values(122)
values = [0,0,0,0,0,0]
values[0]=a[1]
values[1]=a[3]
values[2]=a[4]
values[3]=a[8]
values[4]=a[10]
values[5]=a[11]
print(a)
feature = ['当日新增确诊', '当日新增治愈', '当日新增死亡', '累计确诊', '累计治愈', '累计死亡']
angles = np.linspace(0, 2 * np.pi, len(values), endpoint=False)
values = np.concatenate((values, [values[0]]))
angles = np.concatenate((angles, [angles[0]]))
sheet2=workbook.sheets()[1]
b=sheet2.row_values(122)
values_2 = [0,0,0,0,0,0]
values_2[0]=b[1]
values_2[1]=b[3]
values_2[2]=b[4]
values_2[3]=b[8]
values_2[4]=b[10]
values_2[5]=b[11]
print(values_2)
values_2 = np.concatenate([values_2, [values_2[0]]])
fig = plt.figure()
ax = fig.add_subplot(111, polar=True)
ax.plot(angles, values, 'o-', linewidth=2, label='中国')
ax.fill(angles, values, alpha=0.25)
ax.plot(angles, values_2, 'o-', linewidth=2, label='印度')
ax.fill(angles, values_2, alpha=0.25)
ax.set_thetagrids(angles * 180 / np.pi, feature)
ax.set_ylim(0,700000)
plt.legend(loc='best')
ax.grid(True)
plt.show()

新冠疫情可视化(7月9日,7月10日)相关推荐

  1. Python新冠疫情可视化分析系统 计算机专业毕业设计源码08504

    摘 要 文中首先对新冠疫情可视化分析的项目需求进行了背景分析,接着介绍了项目的总体设计思路,然后具体阐述了疫情数据库的设计.疫情数据的查询.疫情数据的展示,并分析了核心代码.文中利用MySQL数据库存 ...

  2. 基于Springboot的新冠疫情可视化管理系统(可视化展示+后台管理功能)

    这里写自定义目录标题 基于Springboot的新冠疫情可视化管理系统 基础环境: 功能快捷键 实现效果图 源码查看 基于Springboot的新冠疫情可视化管理系统 本项目有基于Springboot ...

  3. 新冠疫情可视化(7月11日,7月12日)

    ** 各省疫情数据分析 ** 1.黑龙江与香港疫情分析 2.湖南与湖北疫情分析 3.安徽与上海疫情分析 一.黑龙江与香港 1. 绘制两个省份累计确诊人数随时间变化折线图,结合当地政策进行分析(附录一) ...

  4. 基于geoplotlib包的美国某天新冠疫情可视化的等值线图

    1.问题描述 新型冠状病毒肺炎(Corona Virus Disease 2019,COVID-19),简称"新冠肺炎",世界卫生组织命名为"2019冠状病毒病" ...

  5. 新冠疫情可视化(7月7日,7月8日)

    各州的疫情数据分析 1. 大洋洲相关疫情数据分析 2. 北美洲相关疫情分析 3. 亚洲相关疫情分析 4.南美洲相关疫情分析 5.非洲相关疫情分析 6.欧洲相关疫情分析 大洋洲疫情情况 1.确诊人数箱线 ...

  6. 2021年暑假数学建模第一次模拟赛:新冠疫情预测(插值,时间序列,微分方程建模)

    本系列赛题.数据获取: 2021年暑假数学建模模拟赛(赛题+数据+分析) 不直接提供论文等资料,分析已经很详细了 整理不易,欢迎点赞+关注+收藏 2021年暑假数学建模第一次模拟赛:新冠疫情预测(插值 ...

  7. 北大研究团队面向新冠疫情的数据可视化分析与模拟预测

    本次pythonday开发者日活动有幸请到北京大学的陈宝权教授做分享,以下是陈教授近期进行的面向新冠疫情的数据可视化分析与模拟预测项目,陈教授将会在本次活动上做分享与答疑,欢迎大家参与! 指导教师:陈 ...

  8. 新冠疫情数据采集,分析及其可视化

    新冠疫情数据采集,分析及其可视化 文章目录 新冠疫情数据采集,分析及其可视化 前言 一.数据采集与清洗 二.数据可视化 1.历史新增确诊与累计确诊条形图 2.6月25日个省份疫情情况 3.中国地图疫情 ...

  9. 利用Python实现新冠疫情数据可视化(获取疫情历史数据,制作南丁格尔玫瑰图、疫情地图、动态疫情组合图、词云)

    文章目录 前言 1.获取疫情历史数据 2.制作南丁格尔玫瑰图 2.1 全球各国确诊人数玫瑰图 2.2 全国各省市零新增天数玫瑰图 3.制作疫情地图 3.1全国各省市目前确诊总人数疫情地图 3.2全球各 ...

最新文章

  1. Android初学第36天
  2. Windows 7运行命令大全
  3. MFC_Combo_Box(组合框)的详细用法
  4. Py:利用pickle模块和API天气接口实现输入城市得到该城市的天气预报
  5. Checkstyle 简介 以及各版本下载地址
  6. 【文献学习】强化学习1:基于值函数的方法
  7. 基于scikit-learn的朴素贝叶斯实战
  8. 手机组态软件_安卓平板组态软件​_移动端组态软件介绍
  9. NCBI数据上传(二):转录组测序(RNA-Seq)数据
  10. 计算机网络知识竞赛没有分数,计算机网络知识竞赛.ppt
  11. 《公路测设技术》课程网课最新作业测验考试
  12. 多道程序设计有哪些新特性呢?它又是如何实现程序的并发执行的呢?
  13. 四元数与欧拉角之间的换算关系
  14. 华为主题锁屏壁纸换不掉_华为手机去掉壁纸 华为主题换不了锁屏壁纸
  15. 东方博宜OJ 1863 - 【入门】特殊的数字四十
  16. 查询跟踪多家快递单号,筛选某一时间发货的单号
  17. 共享充电线项目市场分析报告
  18. eclipse怎样设置字体及推荐字体
  19. 线性回归方程b保留几位小数_实验室原始数据怎么保留最准确?(一)
  20. R语言使用caret包的confusionMatrix函数计算混淆矩阵、基于混淆矩阵的信息手动编写函数计算accuray、准确率指标

热门文章

  1. java基础入门-04-【集合学生管理系统】
  2. 【科研】2023年CCF-B和CCF-C类会议截稿时间整理
  3. 百分点大数据技术团队:可插拔OSS架构设计和实战经验
  4. android极光推送原理,【揭秘】极光推送ios、Android消息推送达率的原理
  5. Live800:回复慢十秒流量往外跑,客服不应答推广费白花
  6. UI复习练习——防QQ的登录下拉列表
  7. python selenium 爬虫 网站seo刷流量 第一篇:百度搜索
  8. succi -测手速游戏
  9. 连接池原理介绍+常用连接池介绍
  10. 一个等号(=)和三个等号和两个等号的区别(“===”和“==”)