考虑这个例子:
library(dplyr)
library(sf)
library(tmap)
d <- data_frame(one = c(1,1,2,1,1,1,1),
two = c(1,1,2,1,1,1,1))
std <- st_as_sf(d, coords = c('one', 'two'))
std %>% tm_shape() + tm_bubbles(alpha = 0.3)
您可以看到点(1, 1)
较暗,因为它在数据中出现了6次。因此,由于alpha
混合,这些点加起来。
我的问题是我无法存储数据集。我所拥有的只是一个聚合版本,比如
d_agg <- d %>% group_by(one, two) %>%
summarize(count = n()) %>%
ungroup()
# A tibble: 2 x 3
one two count
<dbl> <dbl> <int>
1 1 1 6
2 2 2 1
如何使用d_agg
和相应的count
变量重现与之前完全相同的图表?
当然,重新创建上面的初始数据框是不可行的解决方案,因为我有太多的分数(并且有些点重复了太多次)
只需使用:
std_agg %>% tm_shape() + tm_bubbles(col = 'count', alpha = 0.3)
不起作用
答案 0 :(得分:3)
不幸的是,alpha还不是美学,所以不可能alpha = "count"
。
我的问题:你真的需要阿尔法吗?如果你不使用颜色美学可能不会。在这种情况下,使用颜色来模拟alpha透明度的方法实际上很好,但只需要一点配置:
std_agg %>% tm_shape() + tm_bubbles(col = 'count', style = "cont",
palette = "Greys", contrast = c(.3, .7), legend.col.show = FALSE)
答案 1 :(得分:1)