您好,登錄后才能下訂單哦!
這篇文章給大家介紹R語言數據地圖中的美國地圖是怎樣的,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
之前有過一段時間,特別熱衷于數據地圖,也分享很多篇關于地圖制作的教程(涉及到各種作圖軟件),但大多是整理拼湊,自己發揮的不多。
今天這一篇主要分享美國地圖的繪圖代碼,同樣是我們之前分享世界地圖、中國地圖時的代碼(局部地方有小改動)。
之前遲遲沒有找到好用的美國全境的地理信息數據,最近終于在某網站上找到了。(雖然R語言的Map包中存有可以用的美國地圖,但是自己還是喜歡用自定義方式來做)。
平臺環境:
R x64 3.31/Rstudio 0.99.903/ggplot2 2.1.0
關于包的安裝及加載更新問題,昨天的教程已經講得很清楚了。
以下是代碼步驟:
1、加載代碼運行所需的環境包
library(ggplot2)
library(plyr)
library("maptools")
2、讀取并轉化美國各州地理信息數據(該數據會共享在魔方學院的QQ群里)
American_map <-readShapePoly("C:/rstudy/USA_map/STATES.SHP") #將地理信息數據導入R環境
x <- American_map@data #讀取行政信息
xs <- data.frame(x,id=seq(0:50)-1) #共51個形狀
American_map1 <- fortify(American_map) #轉化為數據框
American_map_data <- join(American_map1, xs, type = "full") #合并兩個數據框
3、讀取業務指標數據(該文件也會打包分享)
該數據文件是.CSV格式的,可以用excel直接打開替換指標數據即可,然后另存為.CSV格式。
mydata <- read.csv("C:/rstudy/USA_map/USA_data.csv")#讀取業務指標數據,csv格式
4、將地理數據與業務指標數據合并為作圖數據(數據框)
American_data <- join(American_map_data, mydata, type="full") #合并兩個數據框
5、地圖映射代碼(ggplot2包所支持的ggplot函數,感興趣可以自行探索,若不感興趣,直接忽略跑代碼即可)。
ggplot(American_data, aes(x = long, y = lat, group = group,fill = Sale)) +
geom_polygon(colour="grey40") +
scale_fill_gradient(low="white",high="steelblue") + #指定漸變填充色,可使用RGB
coord_map("polyconic") + #指定投影方式為polyconic,獲得常見視角美國地圖,如要獲得平面視角地圖,此句可省略
theme( #清除不需要的元素
panel.grid = element_blank(),
panel.background = element_blank(),
axis.text = element_blank(),
axis.ticks = element_blank(),
axis.title = element_blank(),
legend.position = c(0.1,0.3)
)
帶空間投影方式的美國地圖全境:
以下是刪除coord_map("polyconic")字句后的地圖映射效果:
其中填充的顏色漸變可以通過scale_fill_gradient(low="white",high="steelblue")參數修改;
各州區域輪郭線可以通過geom_polygon(colour="grey40")參數修改;
填充數據指標可以通過fill = Sale參數修改;
由于美國州較多,州名不便全部標出,所以以上不含各州標簽。
關于R語言數據地圖中的美國地圖是怎樣的就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。