如何制作R中变化半径的圆弧图?

时间:2018-03-21 15:34:42

标签: r graph arc-diagram

弧形图有多个R包,例如ggraph或arcdiagram,但如果有多个不同性质的连接,它将显示为连接相同原点和目的地的相同半径的重叠弧。是否可以使不同半径的弧代表不同的类别?像这个粗略的图表中的东西?谢谢! enter image description here

1 个答案:

答案 0 :(得分: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()

enter image description here

为了得到多个对称弧,我使用curvature定义为

的各种值
  

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