0
我想在多边形地图上创建标签文本图层。 这是从以下两个非常相似的查询:geom_text - 使用ggplot2查找质心并在多边形中添加文本 -
Labeling center of map polygons in R ggplot
ggplot centered names on a map
我的数据帧如下,(我简化长,纬度为清楚 - 他们是坐标)
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_(http://stackoverflow.com/questions/5963269)。 – Axeman
感谢您的链接,将编辑 - 据说,添加一些坐标会很复杂,因为我有很多多边形,因此在我的df中进行了观察。 – Chrisftw
如果你有一个合适的sp对象,'coordinate()'会给你多边形的质心。 –