![](/img/trans.png)
[英]Plotting points near a coastline with geom_point / ggmap / plot
[英]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.