如何在美国单独绘制某些状态并标记它们?在R中绘制美国地图
目前我已经能够绘制使用此功能
library(maps)
map("state",c('New York','massachusetts','Pennsylvania'),fill=TRUE,col="dark green",projection="polyconic")
的国家,但我一直没能贴上标签。
如何在美国单独绘制某些状态并标记它们?在R中绘制美国地图
目前我已经能够绘制使用此功能
library(maps)
map("state",c('New York','massachusetts','Pennsylvania'),fill=TRUE,col="dark green",projection="polyconic")
的国家,但我一直没能贴上标签。
您可以使用ggmap和ggplot2包在美国地图中绘制美国州。
library(ggmap)
library(ggplot2)
usaState<- data.frame(c("new york", "massachusetts", "pennsylvania"))
colnames(usaState) <- "statename"
LatLon <- c(apply(usaState, 1, geocode))
LatLonDF <- do.call(rbind.data.frame, LatLon)
stateLatLonDF <- cbind(usaState, LatLonDF)
myMap <- ggmap(get_map(location = 'united states', zoom = 4, source = 'google', maptype="terrain"))
myMap <- myMap + geom_text(data = stateLatLonDF, aes(x = lon, y = lat, label = statename), size = 3, vjust = 0, hjust = -0.1, color = "red")
print(myMap)
缩放,文本参数等可以根据您的需要进行更改。希望这可以帮助。
感谢它帮助。是否有可能我只能放大东海岸我的情节集中? – Gughan 2014-12-22 13:31:33
@Gughan在前面的代码片段中,我使用了get_map(location ='united states')来获取地图,它带来了美国的整个地图。要放大某个特定位置,get_map()的位置可以通过纬度和经度的平均值获得。通过控制get_map()中的缩放参数,并运行下面的代码,我得到东海岸放大。
library(ggmap)
library(ggplot2)
usaState<- data.frame(c("new york", "massachusetts", "pennsylvania"))
colnames(usaState) <- "statename"
LatLon <- c(apply(usaState, 1, geocode))
LatLonDF <- do.call(rbind.data.frame, LatLon)
stateLatLonDF <- cbind(usaState, LatLonDF)
map <- get_map(location = c(lon = mean(stateLatLonDF$lon), lat = mean(stateLatLonDF$lat)), color="color",source="google", maptype="terrain", zoom=7)
ggmap(map) + geom_point(data = stateLatLonDF, aes(x = lon, y = lat, color = statename, alpha = 0.5, fill = "red"), size = 5, shape = 21) + geom_text(data = stateLatLonDF, aes(x = lon, y = lat, label = statename), size = 3, vjust = 0, hjust = -0.1, color = "blue") + scale_colour_discrete(name = "statename")
拼写正确的事情 – rawr 2014-12-19 07:03:21
@Gughan这或许有助于'map.text( “状态”,C( '纽约', '马萨诸塞州',“宾夕法尼亚州),列= '黑'); map(“state”,c('New York','Massachusetts','Pennsylvania'),fill = TRUE,col ='dark green',add = TRUE); ('State',c('New York','Massachusetts','Pennsylvania'),col ='black',add = TRUE)' – akrun 2014-12-19 08:05:35