2024-05-12 20:37:42 发布
网友
我的老师使用R,现在他正在解释图论。我不想使用R,因为我使用Python并且更喜欢它,所以我想学习NetworkX(不是Python-igraph,因为我在打印图形时有很多问题)
关键是,与R相比,Python代码看起来非常复杂
我更好地解释自己:如何实现这个R代码
fig <- graph.formula(a-b, c-e-d, i-k-j-g-i, f-g-j-h-f, k-j-h-l-k, h-l-m-h)
在NetworkX上
一排就可以吗?如果没有,我该怎么办
谢谢
如果您查看一下^{}的igraph文档,您已经给出了这一行
igraph
仅创建具有给定(无向)边和节点的图。因此,您只需要创建一个graph,就可以在^{} tutorial(add_edges_from方法中找到所需的一切
graph
add_edges_from
import networks as nx graph = nx.Graph() # undirected as desired graph.add_edges_from([("a", "b"), ("c","e"), ("e","d"), ("i","k"), ("k", "j"), ("j", "g"), ("g", "i")])
正如你所见,这是一个多一点的工作(我已经停止后,前三组)
您当然可以在networkX中实现这一点。我不知道是否有一行,但很少
下面的代码使用指定的节点和边创建一个有向图,然后绘制它。理论上,可以将所有边添加到一行中(有更快的方法可以做到这一点),但是为了更好的可读性,该代码的R代码的每个逗号分隔部分都有一行
import networkx as nx G = nx.DiGraph() #Creates empty graph G.add_nodes_from(range(0,13))#Adds nodes G.add_edges_from([(0,1)])#Adds directed edges G.add_edges_from([(2,3),(3,4)]) G.add_edges_from([(8,10),(10,9),(9,6),(6,8)]) G.add_edges_from([(5,6),(6,9),(9,7),(7,5)]) G.add_edges_from([(10,9),(9,7),(7,11),(11,10)]) G.add_edges_from([(7,11),(11,12),(12,7)]) nx.draw(G)
如果您查看一下^{} 的
igraph
文档,您已经给出了这一行仅创建具有给定(无向)边和节点的图。因此,您只需要创建一个} tutorial (
graph
,就可以在^{add_edges_from
方法中找到所需的一切正如你所见,这是一个多一点的工作(我已经停止后,前三组)
您当然可以在networkX中实现这一点。我不知道是否有一行,但很少
下面的代码使用指定的节点和边创建一个有向图,然后绘制它。理论上,可以将所有边添加到一行中(有更快的方法可以做到这一点),但是为了更好的可读性,该代码的R代码的每个逗号分隔部分都有一行
相关问题 更多 >
编程相关推荐