西柚实验:用geoplotlib绘制美国某天新冠疫情可视化的等值线图

您所在的位置:网站首页 新型冠状病毒图案怎么画的 西柚实验:用geoplotlib绘制美国某天新冠疫情可视化的等值线图

西柚实验:用geoplotlib绘制美国某天新冠疫情可视化的等值线图

2024-07-10 05:45| 来源: 网络整理| 查看: 265

1.问题描述

新型冠状病毒肺炎(Corona Virus Disease 2019,COVID-19),简称“新冠肺炎”,世界卫生组织命名为“2019冠状病毒病”,是指2019新型冠状病毒感染导致的肺炎。目前,美国已经成为确诊人数最多的国家,成为全球疫情风暴的中心。在本次实验中,请利用Geoplotlib绘制2021年12月某日美国疫情各州数据的等值线图,包括累计确诊人数、治愈率和死亡率。

2.数据集描述

COVID-19 Data.xlsx数据集:来自于百度新型冠状病毒肺炎疫情实时大数据报告,包括美国51个州(含华盛顿哥伦比亚特区)在2021年12月某日统计的累计确诊人数、治愈人数和死亡人数。

National_Obesity_By_State.geojson:美国各州肥胖率情况,该文件无需改动可直接绘制出美国各州肥胖率等值线图

3.思路:移花接木法

将National_Obesity_By_State.geojson文件载入后,分别把肥胖率换成COVID-19 Data.xlsx文件中的累计确诊人数、治愈人数和死亡人数,即可绘制某日美国疫情各州数据的等值线图

4.代码 import geoplotlib import pandas as pd import json import numpy as np from geoplotlib.utils import BoundingBox from geoplotlib.colors import ColorMap #载入新冠数据 covid = pd.read_excel('COVID-19 Data.xlsx') covid.head() #(1)各州累计确诊人数 #将Obesity的数据更换为各州累计确诊数量 with open('National_Obesity_By_State.geojson') as data: dataset = json.load(data) for i in range(51): state = dataset.get('features')[i] for j in range(51): b = covid['英文州名'][j] if b == state['properties']['NAME']: dataset['features'][i]['properties']['Obesity'] = covid['累计确诊'][j] #设置颜色 cmap = ColorMap('Reds', alpha=255, levels=40) def get_color(properties): return cmap.to_color(properties['Obesity'], maxvalue=6000000, scale='lin') #美国累计确诊等值线图 颜色越深,确诊人数越多 geoplotlib.geojson(dataset, fill=True, color=get_color) geoplotlib.geojson(dataset, fill=False, color=[0,0,0,255])#分割线为黑色 geoplotlib.set_bbox(BoundingBox.USA) geoplotlib.show() #(2)各州治愈率 #将Obesity的数据更换为各州治愈人数 with open('National_Obesity_By_State.geojson') as data: dataset = json.load(data) for i in range(51): state = dataset.get('features')[i] for j in range(51): b = covid['英文州名'][j] if b == state['properties']['NAME']: dataset['features'][i]['properties']['Obesity'] = covid['治愈'][j]/covid['累计确诊'][j] #设置颜色 cmap = ColorMap('Greens', alpha=255, levels=40) def get_color(properties): return cmap.to_color(properties['Obesity'], maxvalue=1, scale='lin') #美国治愈率等值线图 颜色越深治愈率越高 geoplotlib.geojson(dataset, fill=True, color=get_color) geoplotlib.geojson(dataset, fill=False, color=[255,255,255,255])#分割线为白色 geoplotlib.set_bbox(BoundingBox.USA) geoplotlib.show() #(3)各州死亡率 #将Obesity的数据更换为各州死亡数量 with open('National_Obesity_By_State.geojson') as data: dataset = json.load(data) for i in range(51): state = dataset.get('features')[i] for j in range(51): b = covid['英文州名'][j] if b == state['properties']['NAME']: dataset['features'][i]['properties']['Obesity'] = covid['死亡'][j]/covid['累计确诊'][j] #设置颜色 cmap = ColorMap('Reds', alpha=255, levels=10) def get_color(properties): return cmap.to_color(properties['Obesity'], maxvalue=0.5, scale='lin') #美国死亡率等值线图 颜色越深死亡率越高 geoplotlib.geojson(dataset, fill=True, color=get_color) geoplotlib.geojson(dataset, fill=False, color=[0,0,0,255])#分割线为黑色 geoplotlib.set_bbox(BoundingBox.USA) geoplotlib.show() 5.等值线图

(1)各州累计确诊人数

(2)各州治愈率

(3)各州死亡率



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3