使用 ggplot2 设置 Voronoi 单元的最大尺寸

Setting a maximum size for Voronoi cell using ggplot2

可重现的例子:

    set.seed(123)
    x <- sample(1:30,9)
    y <- sample(1:30,9)
    points <- data.frame(x, y,
                         distance = sample(c("apples","pears","banana"), 9, replace = T))

# Plot
    ggplot(points) +
      geom_voronoi(aes(x=x,y=y,fill=distance)) +
      stat_voronoi(aes(x=x,y=y),geom = "path") +
      geom_point(aes(x=x,y=y))

品牌:

我想知道我是否可以限制 Voronoi 单元的大小,使其与用于绘图的 x,y 有最大距离。我在油漆中敲了这个:

有些人可能称之为艺术。

如果单元格不与相邻单元格相交,单元格只能这么大。任何想法。

为什么?我正在使用 GPS 数据来创建单元格,然后按一个因素对这些单元格进行着色。 GPS 坐标在空间上不一致,我不想给人 reader 错误的印象。在我的真实数据中,一些单元格相当大。

您使用的 ggforce 版本似乎略有不同,但在 0.3.1 中您可以使用 max_radius 参数设置大小:

library(ggforce)
#> Warning: package 'ggforce' was built under R version 3.6.2
#> Loading required package: ggplot2
library(ggplot2)
set.seed(123)
x <- sample(1:30,9)
y <- sample(1:30,9)
points <- data.frame(x, y,
                     distance = sample(c("apples","pears","banana"), 9, replace = T))

# Plot
ggplot(points, aes(x, y, group = -1L)) +
  geom_voronoi_tile(aes(fill=distance),
                    max.radius = 10,
                    colour = "black") +
  geom_point(aes(x=x,y=y))

reprex package (v0.3.0)

于 2020-04-14 创建