13行Python代碼畫美國疫情地圖!美國現(xiàn)在可怕哇!
截至3月28日,美國累計(jì)新冠肺炎確診病例已經(jīng)超過12萬例,累計(jì)死亡病例超兩千例。美國政府已宣布17個(gè)州和地區(qū)為應(yīng)對(duì)新冠肺炎疫情“災(zāi)難狀態(tài)”。美國疾控中心28日還對(duì)紐約州等疫情較嚴(yán)重的三州發(fā)布旅行建議。
有朋友就問能否介紹下如何使用Python繪制美國疫情地圖。
但是PyEcharts并沒有美國各州的地圖文件,無法繪制美國疫情地圖,所以不得不找其他的工具進(jìn)行繪制。皇天不負(fù)有心人,找到了Plotly這個(gè)工具。
Plotly是新一代的Python數(shù)據(jù)可視化開發(fā)庫,它通過構(gòu)建基于瀏覽器顯示的web形式的可交互圖表來展示信息,可創(chuàng)建多達(dá)數(shù)十種精美的圖表和地圖。
Plotly可繪制的部分效果圖如下



Plotly繪制的地圖效果是這樣的,因?yàn)榧~約累計(jì)確診確診人數(shù)遠(yuǎn)大于其他地區(qū),所以看到就是這個(gè)效果了。

首先我們來安裝需要的模塊:
- # 安裝plotly模塊,直接安裝就是最新的版本,我用的是4.5.4
- pip install plotly
如果安裝慢或不成功,可以使用下面的代碼換個(gè)國內(nèi)源地址進(jìn)行安裝
- pip install plotly -i https://pypi.tuna.tsinghua.edu.cn/simple
然后導(dǎo)入需要使用的模塊:
- # 導(dǎo)入需要使用的模塊
- import plotly.graph_objects as go
- import pandas as pd
然后導(dǎo)入需要數(shù)據(jù),數(shù)據(jù)是這樣的,存在Excel表格中:

導(dǎo)入數(shù)據(jù),代碼如下:
- # 導(dǎo)入數(shù)據(jù)
- df = pd.read_excel('C:/Python/US/US.xlsx',sheet_name='1')
接下來就可以創(chuàng)建地圖并設(shè)置相應(yīng)的參數(shù)了,代碼如下:
- fig = go.Figure(data=go.Choropleth(
- locations=df['code'], # 設(shè)置位置,各州的編號(hào)(縮寫)
- z = df['conNum'].astype(float), # 設(shè)置填充色數(shù)據(jù)
- locationmode = 'USA-states', # 設(shè)置國家名稱
- colorscale = 'Reds', # 圖例顏色
- colorbar_title = "人數(shù)", # 圖例標(biāo)題
- ))
- fig.update_layout(
- title_text = '美國累計(jì)確診人數(shù)', # 地圖標(biāo)題
- geo_scope='usa', # 設(shè)置地圖的范圍為美國
- #scope可選有"world","usa","europe","asia","africa","north america","south america"
- )
最后導(dǎo)出地圖,代碼如下:
- # 將地圖導(dǎo)出為html文件
- fig.write_html("C:/Python/US/US.html")