如何使用R / igraph设置边缘颜色和顶点间距

Ben*_*ess 4 r igraph

我是R的新手,他试图弄清楚如何为我拥有数据的系统制作社交网络地图。

我已经从FAQ和教程中找出了我想做的大部分事情,但是我有两点坚持。

  1. 如何使画布变大/图形更隔开?现在太压榨了。

  2. 目前,边缘厚度是根据重量设置的。权重代表不同的状态(8 =活动,3 =请求,2 =隐藏,1 =阻止),我想设置边缘的样式而不是更改其厚度。在理想情况下,绿色表示活动,绿色虚线表示请求,黑色表示隐藏,红色表示被阻止。一个潜在的问题是权重在两个方向上可能都不相同(例如,u53可能隐藏或阻止了u114,但是u114对u53都没有作用)。我不确定该怎么做:)

我在http://www.r-fiddle.org/#/fiddle?id=7a2Aiql2&version=3上放了一些示例数据和代码

编辑:http : //www.r-fiddle.org/#/fiddle?id=7a2Aiql2&version=5更新了颜色的小提琴(感谢@Chris)-仍未弄清楚如何制作更大的地块,因此仍有空间这一切!

谢谢!

Chr*_*son 5

  1. 您可以将ylimxlim参数的值更改为plot.igraph(也许也可以将asp参数)。如果这些都不起作用,则可能必须给出顶点xy属性以将它们隔开。
  2. 要根据重量为边缘着色,可以例如

    E(g)$color[E(g)$weight == 8] <- 'green'
    E(g)$lty[E(g)$weight == 8] <- 1
    E(g)$color[E(g)$weight == 3] <- 'green'
    E(g)$lty[E(g)$weight == 3] <- 2
    
    Run Code Online (Sandbox Code Playgroud)

等等。您剩下的问题更多取决于您的个人喜好。