R :: tmap绘图并在图例中显示NA值

时间:2019-01-18 11:20:59

标签: r legend symbols na tmap

我想用鸟类计数的结果映射点数据。点数的大小应根据被计数的鸟的数量进行缩放。如果尚未计算面积,则应为NA值显示x。我该如何绘制这些数据并使用tmap包得到一个漂亮的图例?

这是一个类似的示例:

import { ActionTypes } from './Profile';

哪个给出此输出。为什么没有显示NA值?以及如何达到良好的图例输出?

enter image description here

我的目标是实现这一目标:

enter image description here

鸟类的名称应以粗体的传奇标题给出,并在下面的传奇符号上附加标签“ Anzahl”。理想情况下,NA的符号x应该这样放置。我可以从循环中粘贴(i)作为带有title.size的图例标题,但是如何在图例中获得第二个标题。 附加问题:我可以将点的大小设置为一定范围吗?这样,很小的数字在地图上的大小就会达到最小?

1 个答案:

答案 0 :(得分:0)

我使用一种解决方法自己解决了该问题:

我添加了一个额外的层,并且只选择了缺少值的数据。然后,我使用tm_add_legend添加了另一个图例元素。

data(World, metro) 

# put population size pop2020 to NA for some cities
metro$pop2020[10:300] <- NA 

tm_shape(World) + tm_fill()+
  tm_shape(metro) + 
  tm_symbols(
    size = "pop2020",
    col = "black",
    title.size = "subtitle", 
    legend.size.is.portrait=TRUE) +
  tm_shape(metro[is.na(metro$pop2020),]) +
                 tm_dots(shape=4, size = 0.5, border.lwd = 0.5) +
  tm_layout(legend.bg.color = "gray", 
            legend.frame = "black") + 
    tm_add_legend(type="symbol", shape =4, labels = "not available", size = 0.5, border.lwd = 0.5, col = "black")