如何将 edges/borders 添加到 R 中 geom_link2 中的链接?
How to add edges/borders to the links in geom_link2 in R?
有没有办法在 R 中使用 ggforce::geom_link2
创建的 link 添加 edge/border(不确定正确的词)?类似于 pch >20 的点。
我看到的问题是 geom_link2 使用 col
而不是 fill
来定义 link 的颜色。因此我不确定如何定义边框的颜色。反过来,这让我觉得没有办法在 link.
上设置边框
有什么想法吗?
谢谢。
编辑 10/02/21: 跟进@tjebo 的解决方案。
这是路径交叉问题的可重现示例。边界在十字路口消失。有 2 条路径,它仍然可以可视化,但在复杂的排序中它会变得非常混乱。
library(ggforce)
#> Loading required package: ggplot2
df <- data.frame( x = c(5, 10, 5, 10), y = c(5, 10, 10, 5), width = c(1, 10, 6, 2), colour = letters[1:4], group = c(1, 1, 2, 2))
ggplot(df) +
geom_path(aes(x = x, y = y, group = group), size = 10, lineend = 'round') +
geom_link2(aes(x = x, y = y, colour = colour, group = group),
size = 5, lineend = 'round', n = 500)
由 reprex package (v1.0.0)
于 2021-02-10 创建
厚颜无耻的解决方法:创建两个重叠的 geom_link2 图。如果你想要一个简单的单色边框,你也可以(更好)使用 geom_path 代替。
改编自 ?geom_link
中的示例。
library(tidyverse)
library(ggforce)
lines <- data.frame( x = c(5, 12, 15, 9, 6), y = c(17, 20, 4, 15, 5), xend = c(19, 17, 2, 9, 5), yend = c(10, 18, 7, 12, 1), width = c(1, 10, 6, 2, 3), colour = letters[1:5])
ggplot(lines) +
geom_path(aes(x = x, y = y, group = 1), size = 10, lineend = 'round') +
geom_link2(aes(x = x, y = y, colour = colour, group = 1),
size = 5, lineend = 'round', n = 500)
由 reprex package (v0.3.0)
创建于 2021-02-06
有没有办法在 R 中使用 ggforce::geom_link2
创建的 link 添加 edge/border(不确定正确的词)?类似于 pch >20 的点。
我看到的问题是 geom_link2 使用 col
而不是 fill
来定义 link 的颜色。因此我不确定如何定义边框的颜色。反过来,这让我觉得没有办法在 link.
上设置边框
有什么想法吗?
谢谢。
编辑 10/02/21: 跟进@tjebo 的解决方案。
这是路径交叉问题的可重现示例。边界在十字路口消失。有 2 条路径,它仍然可以可视化,但在复杂的排序中它会变得非常混乱。
library(ggforce)
#> Loading required package: ggplot2
df <- data.frame( x = c(5, 10, 5, 10), y = c(5, 10, 10, 5), width = c(1, 10, 6, 2), colour = letters[1:4], group = c(1, 1, 2, 2))
ggplot(df) +
geom_path(aes(x = x, y = y, group = group), size = 10, lineend = 'round') +
geom_link2(aes(x = x, y = y, colour = colour, group = group),
size = 5, lineend = 'round', n = 500)
由 reprex package (v1.0.0)
于 2021-02-10 创建厚颜无耻的解决方法:创建两个重叠的 geom_link2 图。如果你想要一个简单的单色边框,你也可以(更好)使用 geom_path 代替。
改编自 ?geom_link
中的示例。
library(tidyverse)
library(ggforce)
lines <- data.frame( x = c(5, 12, 15, 9, 6), y = c(17, 20, 4, 15, 5), xend = c(19, 17, 2, 9, 5), yend = c(10, 18, 7, 12, 1), width = c(1, 10, 6, 2, 3), colour = letters[1:5])
ggplot(lines) +
geom_path(aes(x = x, y = y, group = 1), size = 10, lineend = 'round') +
geom_link2(aes(x = x, y = y, colour = colour, group = 1),
size = 5, lineend = 'round', n = 500)
由 reprex package (v0.3.0)
创建于 2021-02-06