【问题标题】:Can I rotate a network graph made by igraph::graph?我可以旋转 igraph::graph 制作的网络图吗?
【发布时间】:2020-09-02 17:23:40
【问题描述】:

我正在尝试使用 igraph 包从教科书中复制一个图形。这段代码正确地绘制了结构:

library(igraph)
g <- graph( c( "W","X", "Y","Z", "Y","W", "Z","W"), dir=FALSE)
plot(g, vertex.shape = "none")

但整个图形已旋转,因此与书不匹配。上图在钟面上的 1:00 处有 X 节点。我想要它,所以它在 9:00 出来。我saw a post 表明 igraph::tkplot() 可以旋转,但我需要一个静态图。有没有办法旋转未使用 tkplot(g) 渲染的 igraph 网络图?

【问题讨论】:

    标签: r igraph


    【解决方案1】:

    是的,您只需要控制布局。默认布局使用layout_nicely 完成。要使该布局仅旋转,只需保存布局并乘以旋转矩阵。您可能需要稍微了解一下要使用多大的旋转。

    LO = layout_nicely(g)
    angle = 2*pi * 7.5/12
    RotMat = matrix(c(cos(angle),sin(angle),-sin(angle), cos(angle)), ncol=2)
    LO2 = LO %*% RotMat
    
    plot(g, vertex.shape = "none", layout = LO2)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多