作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在尝试在 ggmap 中绘制 voronoi 镶嵌,其中每个块的颜色将被赋予十六进制代码,例如#FFCC00。到目前为止,我想出的代码如下:
library(ggmap)
library(ggforce)
b <- get_map(c(2.09174, 50.52550, 7.36819, 53.68320),
maptype = "toner",
source = "stamen",
zoom = 8)
lon <- c(3.76779, 5.31313, 3.48031, 3.90727, 4.15682)
lat <- c(51.2219, 52.0808, 50.7684, 51.2684, 50.9502)
hex_col <- c("#5A586E", "#47967F", "#4EB22E", "#9E82C5", "#ADCFAD")
to_plot <- data.frame(lon, lat, hex_col)
ggmap(b, base_layer = ggplot(data = to_plot,
aes(x = lon,
y = lat))) +
geom_voronoi_tile(aes(fill = hex_col)) +
scale_fill_identity() +
geom_voronoi_segment()
但是,当我添加
fill = hex_col
时参数,出现错误警告:
Warning message:
Computation failed in `stat_voronoi_tile()`:
There is at most one point, data or dummy, inside
the given rectangular window. Thus there are
insufficiently many points to triangulate/tessellate.
我不确定如何修复,因为在添加参数之前, map 显示没有错误。因此我的问题是:如何将自定义颜色编码的 voronoi 镶嵌添加到 ggmap 上?
最佳答案
问题可能是 geom_voronoi_tile 期望 voronoi 多边形是封闭的,而您的数据集缺少外部边界。
一个快速的替代方法是回退到 ggvoronoi::geom_voronoi()。
library(ggmap)
library(ggforce)
library(ggvoronoi)
library(tidyverse)
b <- get_map(c(2.09174, 50.52550, 7.36819, 53.68320),
maptype = "toner",
source = "stamen",
zoom = 8)
lon <- c(3.76779, 5.31313, 3.48031, 3.90727, 4.15682)
lat <- c(51.2219, 52.0808, 50.7684, 51.2684, 50.9502)
hex_col <- c("#5A586E", "#47967F", "#4EB22E", "#9E82C5", "#ADCFAD")
to_plot <- data.frame(lon, lat, hex_col)
ggmap(b, base_layer = ggplot(data = to_plot,
aes(x = lon,
y = lat))) +
geom_voronoi(mapping = aes(fill = hex_col), alpha = 0.5) +
scale_fill_identity() +
geom_voronoi_segment()
关于r - 在ggmap中使用自定义颜色代码进行Voronoi镶嵌?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66019446/
我对曲面分割完全陌生,对 Metal API 也比较陌生,一直在引用这个示例代码 https://developer.apple.com/library/archive/samplecode/Meta
我正在尝试使用 scipy 包构建一个有界 Voronoi 图,并且在每次迭代中我计算 Voronoi 单元的质心,并向质心移动一些三角形,并通过更新生成器点重新计算 Voronoi 图。当我尝试绘制
假设我们想要对具有 N 个点的矩形曲面进行 Voronoi 划分。Voronoi 镶嵌导致 N 个区域对应于 N 个点。对于每个区域,我们计算其面积并将其除以整个表面的总面积 - 称这些数字为 a1,
我是一名优秀的程序员,十分优秀!