绘制简单的美国疫情地图(plotlty+request)
首先確定一下項(xiàng)目流程,數(shù)據(jù)采集→數(shù)據(jù)存儲(chǔ)→數(shù)據(jù)分析→數(shù)據(jù)挖掘→數(shù)據(jù)可視化,這里我用的是python對(duì)項(xiàng)目進(jìn)行可視化處理,python中的plotly圖形庫(kù)可以在線生成交互式的高質(zhì)量的圖形,它可以制作基本圖表,統(tǒng)計(jì)圖表,科學(xué)圖表,財(cái)務(wù)圖表,地圖和3維圖表。關(guān)于這個(gè)庫(kù)的詳細(xì)介紹和用法可以查看相關(guān)官方文檔:https://plotly.com/python/。
首先美國(guó)疫情的確診數(shù)據(jù)從哪里獲取呢,網(wǎng)上有很多數(shù)據(jù)來(lái)源,但大部分都需要自己去獲得,所以這里我寫(xiě)了一個(gè)程序獲取這個(gè)網(wǎng)頁(yè)的確診人數(shù)的病例數(shù)據(jù):https://www.guruin.cn/guides/covid19,這個(gè)網(wǎng)站每隔15分鐘顯示最新的美國(guó)疫情數(shù)據(jù),具有實(shí)時(shí)性,而且比較全面。
'''美國(guó)疫情統(tǒng)計(jì)''' from lxml import etree import requests import pandas as pd url='https://www.guruin.cn/guides/covid19' ua='Opera/9.99 (Windows NT 5.1; U; zh-CN) Presto/9.9.9' req=requests.get(url,headers={'User-agent':ua }) content=req.text html=etree.HTML(content) place=html.xpath("//*[@data-bury-bottom='0']/div[1]/div[1]/text()") definte=html.xpath("//*[@data-bury-bottom='0']/div[1]/div[2]/@data-total-positive") death=html.xpath("//*[@data-bury-bottom='0']/div[1]/div[3]/@data-total-death") rate=html.xpath("//*[@data-bury-bottom='0']/div[1]/div[4]/@data-detection-rate")dataframe=pd.DataFrame({"州(名)":place,"確診":definte,"死亡":death,"確診率(%)":rate}) dataframe.to_excel("america.xlsx",index=False)得到的部分表格展示如下:
僅僅獲得這些數(shù)據(jù)還不夠,我們還需要知道每個(gè)州的簡(jiǎn)寫(xiě)碼,這個(gè)可以百度查到,于是乎我就在表格后加上code一列的數(shù)據(jù),那么,接下來(lái)有了這些數(shù)據(jù)后,我們就可以將其映射到地圖上了:
import plotly.graph_objects as go import pandas as pddf = pd.read_excel('D:/pycharm_project/圖表/america(8月).xlsx') #導(dǎo)入數(shù)據(jù)表格 #繪圖 fig = go.Figure(data = go.Choropleth(locations=df['code'],#獲取各州編號(hào),設(shè)置位置z=df['definte'].astype(float),#設(shè)置填充色數(shù)據(jù)locationmode='USA-states',#繪制的地圖地區(qū)colorscale='Reds',#設(shè)置基礎(chǔ)變化顏色colorbar_title="確診人數(shù)",hovertext=df['state'],#顯示州名 )) #將數(shù)據(jù)渲染到地圖上顯示出地圖 fig.update_layout(geo_scope = 'usa'#選定美國(guó)地圖樣式#scope可選有"world","usa","europe","asia","africa","north america","south america" ) #保存到網(wǎng)頁(yè) fig.write_html('index.html')最后呈現(xiàn)的地圖就是下面這樣啦:
同時(shí),plotly和R的繪制地圖的能力都挺不錯(cuò)的,可以查看以下這個(gè)文章:
Kaggle | 使用Python和R繪制數(shù)據(jù)地圖的十七個(gè)經(jīng)典案例(附資源)
本文到此結(jié)束,后續(xù)還在學(xué)習(xí)。
?
總結(jié)
以上是生活随笔為你收集整理的绘制简单的美国疫情地图(plotlty+request)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: js截取视频第一帧_学学javascri
- 下一篇: keil报错: ERROR 118 (