在R中绘制并刻划一张地图

问题描述 投票:1回答:1

主要数据框架

data.frame(lat = c(38.6938, 38.4262, 32.7607, 37.083, 39.4619, 41.0042),
                 lon = c(-9.20587, -8.90007, -16.9595, -8.90918, -8.38391, -7.9699),
                 views = c(13565, 27020, 74420, 18550, 73253, 14615),
                 challenge = c("SPOT CIDADE", "SPOT NATUREZA I",
                               "SPOT NATUREZA II", "SPOT ROMANCE",
                               "SPOT PATRIMONIO", "SPOT GASTRONOMIA"),
                 stringsAsFactors = FALSE)

我正在尝试绘制地图,用于打印,结果将是每个挑战的地图,并根据每个视频的视图更改其大小。

到目前为止,我的代码将所有点都放在同一个地图中 - 我遇到了分面问题并改变了点的大小。

当我在美学中改变变量时,积分变得非常大。

缩放级别太近或太远。

我正在使用的代码如下。我看到的每一个例子要么离我想要的太远,要么就是不行。

我做得对,还是需要另一种方法?

谢谢!

library(ggplot2)
library(ggmap)

lon <- as.numeric(new$lon)
lat <- as.numeric(new$lat)


spots_df <- as.data.frame(cbind(lon, lat))

mapa_spots <- get_map(location = c(lon = mean(spots_df$lon), lat = mean(spots_df$lat)), zoom = 6, maptype = "terrain", scale = 2)

plot_spots <- ggmap(mapa_spots) +
  geom_point(data = spots_df, aes(x = lon, y = lat, fill = "red", alpha = 0.8), size = 2, shape = 21) +
  guides(fill=FALSE, alpha=FALSE, size=FALSE)

plot_spots 

我从这段代码得到的结果:

plot_spots

r google-maps ggplot2 facet ggmap
1个回答
1
投票

假设你的数据框叫做dt,这里是的情节。关键是使用base_layer参数与ggplot(dt, aes(...)),以便你可以进一步添加其他geom就像一个ggplot调用。您提到您希望每个挑战都在评论的单独地图中。我认为facet_wrap可能就是你想要的。

library(ggplot2)
library(ggmap)

mapa_spots <- get_map(location = c(lon = mean(dt$lon), 
                                   lat = mean(dt$lat)), 
                      zoom = 6, maptype = "terrain", scale = 2)

ggmap(mapa_spots, base_layer = ggplot(dt, aes(x = lon, y = lat, size = views))) +
  geom_point() +
  facet_wrap(~challenge, ncol = 3)

enter image description here

数据

dt <- data.frame(lat = c(38.6938, 38.4262, 32.7607, 37.083, 39.4619, 41.0042),
                 lon = c(-9.20587, -8.90007, -16.9595, -8.90918, -8.38391, -7.9699),
                 views = c(13565, 27020, 74420, 18550, 73253, 14615),
                 challenge = c("SPOT CIDADE", "SPOT NATUREZA I",
                               "SPOT NATUREZA II", "SPOT ROMANCE",
                               "SPOT PATRIMONIO", "SPOT GASTRONOMIA"),
                 stringsAsFactors = FALSE)
© www.soinside.com 2019 - 2024. All rights reserved.