我正在使用形状文件进行tmap绘图,我想要在形状文件上绘制几个具有经度和纬度坐标的点。我的绘图已经正常运行,但是地图上的点太多,导致不同点的标签文本重叠,总体上并不特别清晰易读。
这是当前绘图的样子。 我希望绘图中的文本在实际地图外,并通过细线与绘图中的点相连,以融入整体美感。
以下是一些示例数据:
这是当前绘图的样子。 我希望绘图中的文本在实际地图外,并通过细线与绘图中的点相连,以融入整体美感。
以下是一些示例数据:
name long lat
1 location -71.40909 41.82426
2 location -71.41959 41.82796
3 location -71.41277 41.79667
4 location -71.37327 41.81737
5 location -71.37170 41.89266
6 location -71.33356 41.87736
以下是我用来显示上面图表的代码:plot2_points.df
是假设的数据框,而shapes
则是底层的形状文件。
library(tmap)
library(sp)
library(rgdal)
coordinates(plot2_points.df) <- c("long", "lat")
proj4string(plot2_points.df) <- CRS("+proj=longlat +datum=WGS84")
plot2_points.df <- spTransform(plot2_points.df, CRS("+proj=utm +zone=19T ellps=WGS84"))
# plot
tm_shape(shapes) + tm_borders() + tm_shape(plot2_points.df) + tm_dots(col = "blue", size = 0.4) + tm_text("name", col = "blue", size = 0.75, just = "top", ymod = 0.75)
我找不到任何函数可以实现这个功能。 tm_lines()
不起作用,但是我感觉它是为完全不同的事情而设计的。另外,也许使用 just =
选项可以实现这个功能?到目前为止,我尝试过的所有方法都没有任何效果,所以我想在这里询问一下。非常感谢您的帮助 :)