R语言绘制美国疫情地图(可交互式)
前兩天用python的plotly畫了一個(gè)疫情圖,發(fā)現(xiàn)這個(gè)挺簡(jiǎn)單的,但是當(dāng)我用R畫的時(shí)候就有點(diǎn)陌生了,畢竟才學(xué)沒多久。。。一開始我嘗試用R中的ggplot2包和maps包繪制美國疫情地圖,但是發(fā)現(xiàn)它的呈現(xiàn)出來的是一張圖片式的,只能顯示宏觀的結(jié)果,而且繪制的前提是我需要知道對(duì)應(yīng)經(jīng)緯度下的疫情狀況,感覺有點(diǎn)麻煩呀。關(guān)于maps包所含的地圖數(shù)據(jù)集:
| 國家 | maps地圖數(shù)據(jù)名 |
| 法國 意大利 新西蘭 美國(郡) 美國(州) 美國(邊界) 全世界 | france italy nz country state usa world |
不錯(cuò),有我所需要的地理信息,我們可以繪制一個(gè)簡(jiǎn)單的美國地圖(qplot繪制散點(diǎn)):
library(maps) library(ggplot2) qplot(long,lat,data=us.cities,color=I('blue'))+borders("state",size=0.5)效果如下:
關(guān)于ggplot的函數(shù)基本使用可以參考。
更直接詳細(xì)的可以參考這位大佬的站點(diǎn):http://zevross.com/blog/2014/07/16/mapping-in-r-using-the-ggplot2-package/。
正如你所見,很宏觀的顯示出一些信息,但是我想讓我的地圖更具互動(dòng)式,我在查看plotly官網(wǎng)的時(shí)候,發(fā)現(xiàn)這個(gè)包不僅支持python還支持R,妙呀,來看看這些官網(wǎng)提供的互動(dòng)式地圖吧:https://plotly.com/r/maps/。
更妙的是我不需要知道在之前爬取的表格中添加經(jīng)度與緯度的信息,我直接用州的簡(jiǎn)寫碼就可以繪制對(duì)應(yīng)數(shù)據(jù):
這是部分表格數(shù)據(jù),ok,代碼呈現(xiàn):
#加載需要用到庫 library(plotly) library(xlsx) library(DT) df <- read.xlsx2("D:\\R\\RData\\america(8月).xlsx",sheetIndex = 1) #讀取表格 # datatable(df) df$hover <- with(df, paste(state, '<br>', "確診人數(shù):", definte,"<br>","死亡人數(shù):", death, "<br>","死亡率:",rate,"%")) #鼠標(biāo)放上顯示相關(guān)數(shù)據(jù) fig <- plot_geo(df, locationmode = 'USA-states') #將表格數(shù)據(jù)與美國地圖關(guān)聯(lián) #交互 fig <- fig %>% add_trace(locations = ~code,type='choropleth',z= ~definte,text = ~hover,colorscale="Reds" ) #添加標(biāo)題 fig <- fig %>% layout(title = '美國疫情狀況' ) #顯示 fig最后呈現(xiàn)的結(jié)果如下:
好啦,本文到此結(jié)束,R的學(xué)習(xí)仍在繼續(xù)。
總結(jié)
以上是生活随笔為你收集整理的R语言绘制美国疫情地图(可交互式)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Xcode各种运行报错及解决方法
- 下一篇: 03-sketch基本工具使用