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