0

新年好!

实际上我想在地图上显示 CoVid19 病例。我有每个案例的地址。我在地图上为每个案例绘制一个点。这很好用!

有些地址有多个案例(例如一个家庭)。因此,我想通过 cex 选项控制点的大小。这对于每张地图都可以正常工作。

但是一个地图中的 cex = 1 并不自动意味着下一张地图(例如第二天)中 cex = 1 的点具有相同的大小。

我该如何控制它,每个地图(天)的 cex=1 大小相同?

简单的例子:

breweries1 <- breweries %>% filter(number.of.types == 1)
mapview(breweries1, cex = "number.of.types")
breweries2 <- breweries %>% filter(number.of.types < 3)
mapview(breweries2, cex = "number.of.types")

感谢您的任何帮助!

保持健康!

4

1 回答 1

0

直接从R-mapview包的开发者那里得到了这个答案:

“目前 fgb 渲染模式和经典渲染模式之间存在差异,前者不尊重参数 min.rad 和 max.rad。作为一种解决方法,您可以设置 mapviewOptions(fgb = FALSE):”

library(mapview)
library(dplyr)

mapviewOptions(fgb = FALSE)

breweries1 <- breweries %>% filter(number.of.types == 1)
mapview(breweries1, cex = 10) # supply cex directly as only one size
breweries2 <- breweries %>% filter(number.of.types < 3)
mapview(breweries2, cex = "number.of.types", min.rad = 10, max.rad = 20)

min.rad为了获得更大的灵活性,我建议max.rad通过代码设置:

mapviewOptions(fgb = FALSE)
breweries2 <- breweries %>% filter(number.of.types < 3)
cexmin = min(breweries2$number.of.types) + 1
cexmax = max(breweries2$number.of.type) + 1
mapview(breweries2, cex = "number.of.types", min.rad = cexmin, max.rad = cexmax)

我分别添加了 + 1一个cexmaxcexmin, 因为cex = 1在这个解决方案中非常小。

保持健康!

于 2021-01-07T14:29:51.360 回答