r - 使用 ggplot2 设置 Voronoi 单元的最大大小
问题描述
可重现的例子:
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坐标在空间上不一致,我不想给读者留下错误的印象。在我的真实数据中,一些单元格相当大。
解决方案
似乎您使用的是稍微不同的版本 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 包(v0.3.0)于 2020-04-14 创建
推荐阅读
- python - 将文件从 Flutter 前端上传到 Django 后端时出现解码错误
- mongodb - 使用 Quarkus MongoDB 客户端
- python - Python Selenium 无法聚焦/单击元素
- javascript - 如何从 GitHub 存储库发布 chrome 扩展
- freetype - 如何从 FreeType 获取删除线的高度
- python - 从给定的第一列值的ndarray中提取所有第二列值
- ios - iOS 13 演示样式默认
- php - $_GET/$_POST 数组元素序数
- python - Django rest 框架 csv 渲染器无法正确渲染 €(EUR) 符号
- python - Python: Converting Fahrenheit to Celsius / problem with IF statement