我想在tmaps中添加两个国家/地区标签及其各自的数据。我知道tm_text允许我添加这样的标签(我知道输出看起来很糟糕,但只是为了说明(:
data("World")
tm_shape(World)+
tm_borders()+
tm_fill("HPI",
palette = "Blues")+
tm_text("pop_est")
我希望每个标签都是这样的:;国家名称":"quot;变量";。我试过粘贴0:
tm_shape(World)+
tm_borders()+
tm_fill("HPI",
palette = "Blues")+
tm_text(paste0("pop_est", ":", "HPI"))
Error: Incorrect data variable used for the text
有人知道怎么做吗?提前感谢!
您会得到错误,因为tm_text需要一个字符输入(然后在后台用作列名(。问题是paste((或paste0((的结果本身是一个字符串,但它不是一个现有的列。
解决方案是生成所需文本的新列,并将其用作tm_text的输入。
library(tmap)
World$text <- paste0(World$pop_est, ":", World$HPI)
tm_shape(World)+
tm_borders()+
tm_fill("HPI",
palette = "Blues")+
tm_text("text")
正如你所说,输出是丑陋的,因此我不会包括它