截至3月28日,美国累计新冠肺炎确诊病例已经超过12万例,累计死亡病例超两千例。美国政府已宣布17个州和地区为应对新冠肺炎疫情“灾难状态”。美国疾控中心28日还对纽约州等疫情较严重的三州发布旅行建议。
有朋友就问能否介绍下如何使用Python绘制美国疫情地图。之前介绍的是使用
PyEcharts绘制了全球、中国、湖北的疫情地图,疫情的相关文章如下,有兴趣可查
但是
PyEcharts并没有美国各州的地图文件,无法绘制美国疫情地图,所以不得不找其他的工具进行绘制。皇天不负有心人,找到了
Plotly这个工具。
Plotly是新一代的Python数据可视化开发库,它通过构建基于浏览器显示的web形式的可交互图表来展示信息,可创建多达数十种精美的图表和地图。
Plotly
绘制的地图效果是这样的,因为纽约累计确诊确诊人数远大于其他地区,所以看到就是这个效果了。
# 安装plotly模块,直接安装就是最新的版本,我用的是4.5.4
pip install plotly
如果安装慢或不成功,可以使用下面的代码换个国内源地址进行安装
pip install plotly -i https://pypi.tuna.tsinghua.edu.cn/simple
# 导入需要使用的模块
import plotly.graph_objects as go
import pandas as pd
然后导入需要数据,数据是这样的,存在Excel表格中:
长按识别下方二维码,并关注公众号
回复“
US
”获取案例数据
# 导入数据
df = pd.read_excel('C:/Python/US/US.xlsx',sheet_name='1')
接下来就可以创建地图并设置相应的参数了,代码如下:
fig = go.Figure(data=go.Choropleth(
locations=df['code'], # 设置位置,各州的编号(缩写)
z = df['conNum'].astype(float), # 设置填充色数据
locationmode = 'USA-states', # 设置国家名称
colorscale = 'Reds', # 图例颜色
colorbar_title = "人数", # 图例标题
))
fig.update_layout(
title_text = '美国累计确诊人数', # 地图标题
geo_scope='usa', # 设置地图的范围为美国
#scope可选有"world","usa","europe","asia","africa","north america","south america"
)
# 将地图导出为html文件
fig.write_html("C:/Python/US/US.html")