如何在 r 中的 tmap 中只标记一个点?

How to label only one point in tmap in r?

在下面的示例中,我希望在 tm_text("name") 图层中只显示 Ghana 的标签。

知道怎么做吗? 感谢您的帮助。

library(tmap)
data("World")
tmap_mode("view")

tm_shape(World) +
  tm_polygons("HPI", id="HPI")+tm_text("name")

这应该能满足您的需求:
关键行是:tm_shape(filter(World, name == "Ghana")),它使用 dplyr::filter() 为所需名称对 name 变量进行子集化。
加纳用红色勾勒出来,使标签所指的国家更加明显。

library(tmap)
library(dplyr)

data("World")


tm_shape(World) +
  tm_polygons("HPI", id="HPI")+
  tm_shape(filter(World, name == "Ghana")) +
  tm_borders(col = "red")+
  tm_text("name", xmod = -1, ymod = -1)

reprex package (v2.0.0)

于 2021 年 4 月 12 日创建