2

弧形图有多个 R 包,例如 ggraph 或 arcdiagram,但如果有多个不同性质的连接,它将显示为连接相同起点和终点的相同半径的重叠弧。是否可以有不同半径的弧代表不同的类别?像这张粗略的图表中的东西?谢谢! 在此处输入图像描述

4

1 回答 1

2

我们可以使用ggplot2它。让终点定义df

library(ggplot2)
df <- data.frame(x1 = 2, x2 = 3, y1 = 21, y2 = 15)

然后我们使用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()

在此处输入图像描述

为了获得多个对称弧,我使用curvature定义为的各种值

给出曲率量的数值。负值产生左侧曲线,正值产生右侧曲线,零产生一条直线。

于 2018-03-21T15:47:57.993 回答