繁体   English   中英

ggmap + geom_point:根据输入创建可变数量的“geom_points”。 绘图 map

[英]ggmap + geom_point: create variable amount of "geom_points" depending on input. Plotting map

我正在绘制地图。 我有一个包含许多 (lat,lng) 坐标的数据集,每个坐标都分配给一个类型。 例子:

df <- data.frame(type=c("a", "a", "b", "c"), lat=c(47, 46, 48, 48.5), lng=c(8, 8.9, 8.3, 8.3))

>df
type lat  lng
a    47   8
a    46   8.9
b    48   8.3
c    48.5 8.3

我想做的是 plot 区域 map 上的点,为每个组提供不同的颜色。 组的数量-“类型”可以根据输入数据而变化,并且通常很大。

所以“a”点是绿色的,例如“b”是红色的,“c”是蓝色的。

到目前为止我对 plot 小组使用的方法是“ggmap”:

x <- get_stamenmap(...)
ggmap(x) + geom_point(#for a) + + geom_point(#for b)+ geom_point(#for c)

如果您有 +1000 种类型,这当然是不可行的。

是否有捷径可寻? 或者至少更容易? 也许另一个 package,或者使用“for-loops”?

我感谢任何建议或评论,谢谢

也许这可能会有所帮助。 geom_point美学中,您可以指定应根据 data.frame 中的type设置color 您只需要包含一次geom_point语句。 此外,如果你想为不同的类型指定单独的 colors,你可以使用scale_color_manual并在那里定义它们。

library(ggmap)

set.seed(12345)

points <- data.frame(type = sample(LETTERS[1:4], 10, replace = T),
                     lon = rnorm(10, -95.4, 0.1),
                     lat = rnorm(10, 29.7, 0.1))

ggmap(get_stamenmap()) +
  geom_point(data = points, aes(lon, lat, color = type)) +
  scale_color_manual(values = c("A" = "blue", "B" = "green", "C" = "red", "D" = "orange"))

Map

带有彩色点的地图

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM