【问题标题】:Tree graph formatting in igraph Rigraph R中的树形图格式
【发布时间】:2017-09-26 23:18:03
【问题描述】:

我的网络数据如下:

library(igraph)

dnode<-c("a","b","c","d","e","f","g","h","i","j","k")

dedge<-data.frame("From"=c("a","b","c","d","e","f","f","f","f","f"), "To"=c("f","f","f","f","f","g","h","i","j","k"))

当我在 R 中绘制它时,我编写代码如下:

net <- graph_from_data_frame(d=dedge, vertices=dnode, directed=T)

l<- layout_as_tree

plot(net, vertex.shape="square", layout=l, edge.arrow.mode=2, edge.arrow.width=2, edge.arrow.size=0.1)

我得到这样的输出:

我想要这样的输出:

【问题讨论】:

    标签: r tree igraph


    【解决方案1】:

    尝试使用 Sugiyama 布局。语法与其他布局有点不同。不是将网络传递给plot,并将布局传递给layout 参数,而是传递layout$extd_graph 而不传递布局参数。我发现 Sugiyama 布局在使用分层布局时更加灵活。

    l <- layout_with_sugiyama(net)
    plot(l$extd_graph, 
         vertex.shape="square", 
         vertex.label=as_ids(V(net)),
         edge.arrow.mode=2, 
         edge.arrow.width=2, 
         edge.arrow.size=0.1)
    

    【讨论】:

    • 非常感谢,真的帮了大忙。
    • 如何增加两个顶点之间的空间。在上面的例子中,我们有 5 个向上和 5 个向下的顶点。当我尝试绘制 25-30 个顶点时,它们会相互重叠并且不可见。如果我使用“hgap”,它只接受两个值 0 或 1。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-25
    • 1970-01-01
    • 1970-01-01
    • 2021-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多