【发布时间】:2017-02-14 12:17:53
【问题描述】:
我想在多边形地图上创建一个标签文本层。 这是来自以下两个的非常相似的查询:
Labeling center of map polygons in R ggplot
ggplot centered names on a map
我的数据框如下,(为了清楚起见,我简化了 long 和 lat - 它们是坐标)
id long lat order hole piece group locid location
0 long1 lat1 1 false 1 0.1 1 TEXT I WANT
0 long2 lat2 2 false 1 0.1 1 TEXT I WANT
1 long3 lat3 3 false 1 1.1 2 TEXT I WANT2
1 long4 lat4 4 false 1 1.1 2 TEXT I WANT2
这是我当前的代码,它返回一个黑色地图 - 我假设每个经纬度坐标都有文本。 我正在努力寻找每个多边形的质心,以便我只能根据多边形中心添加一个文本层。
testtext <- ggplot() +
geom_polygon(data = df, mapping = aes(x=long, y=lat, group = group, fill=location)) +
geom_text(data = df, mapping = aes(x=long, y=lat, group = group, label=location)) +
geom_path(color = "white") +
scale_fill_hue(l=40) +
coord_equal() +
theme(legend.position = "none", title = element_blank(), axis.text = element_blank())
非常感谢
【问题讨论】:
-
请以reproducible为榜样。
-
感谢您的链接,将进行编辑 - 话虽如此,添加一些坐标会很复杂,因为我有很多多边形,因此在我的 df 中进行观察。
-
coordinates()会给你多边形的质心,如果你有一个合适的sp对象。
标签: r ggplot2 centroid geom-text