Jay*_*Jay 1 maps r spatial r-sp
我想绘制一张澳大利亚地图,并将每个城市都表示为一个点.然后突出人口众多的城市(> 1M)
library(sp)
library(maps)
data(canada.cities)
head(canada.cities)
Run Code Online (Sandbox Code Playgroud)
我已经检查了sp包,可以为加拿大和其他一些国家做这件事.但澳大利亚的细节不存在.有没有一种特殊的方法来获取我们喜欢的国家的数据(城市名称,长,拉特,流行)?
现在您已经使用了数据world.cities,您可以通过几种方式绘制它们
library(maps)
df <- world.cities[world.cities$country.etc == "Australia",]
Run Code Online (Sandbox Code Playgroud)
点基本情节
plot(df[, c("long", "lat")])
Run Code Online (Sandbox Code Playgroud)
在...上 ggmap
library(ggmap)
myMap <- get_map(location = "Australia", zoom = 4)
ggmap(myMap) +
geom_point(data = df[, c("long","lat", "pop")], aes(x=long, y = lat, colour = pop > 1000000))
Run Code Online (Sandbox Code Playgroud)
在leaflet地图上
library(leaflet)
## define a palette for hte colour
pal <- colorNumeric(palette = "YlOrRd",
domain = df$pop)
leaflet(data = df) %>%
addTiles() %>%
addCircleMarkers(lat = ~lat, lng = ~long, popup = ~name,
color = ~pal(pop), stroke = FALSE, fillOpacity = 0.6) %>%
addLegend(position = "bottomleft", pal = pal, values = ~pop)
Run Code Online (Sandbox Code Playgroud)