弧线图(如ggraph或arcdiagram)有多个R包,但如果有多个不同性质的连接,它将显示为相同半径的重叠弧,连接相同的原点和目标。是否可以用不同半径的圆弧表示不同的类别?类似于这个粗略的图表?谢谢
我们可以使用 ggplot2 为此。在中定义终点 df 像
ggplot2
df
library(ggplot2) df <- data.frame(x1 = 2, x2 = 3, y1 = 21, y2 = 15)
然后我们使用 geom_curve . 看来我们不能使用 curvature 作为美学的参数,但是 lapply 允许处理该问题:
geom_curve
curvature
lapply
ggplot(data = df, aes(x = x1, y = y1, xend = x2, yend = y2)) + lapply(-5:5 / 10, function(cu) geom_curve(curvature = cu)) + theme_bw()
为了得到多个对称弧,我使用 曲率 定义为
曲率
给出曲率量的数值。负值 生成左侧曲线,正值生成右侧曲线, 零产生一条直线。