在python和中,我在大型图形可视化方面遇到了困难。该图形希望可视化是有向的,并且文档化的边和顶点集大小为215,000 (文档链接在顶部),很明显,networkx支持用matplotlib和GraphViz绘图。在matplotlib和networkx中,绘制如下:
import
networkx as nx
import matplotlib.pyplot as plt
#Let g be a graph that I created
nx.draw(g)
在nx.draw(g)之后,我得到了一个内存错误,然后您通常会执行plt.show()或plt.some_function操作,
我有大约。我的图my文件中有4000个节点和6000条边,在将其转换为有向图格式的networkx方面没有问题。但是,当我试图从networkx运行girvan_newman()时,它似乎冻结了,因为我已经运行了这个脚本,而且它在过去的10个小时内没有完成(我尝试了10个节点和边缘,它在5分钟内就完成了)。
这是我的片段:
import community as community_louvain
import networkx as nx
from networkx.algorithms.community.centrality import girvan_newman
G = nx.re
只是想知道是否有方便的networkx函数来返回连接到图(例如G)中给定节点(例如my_node_name)的边的列表。
我可以这样做:
edlist=[]
for ed in G.edges():
if 'my_node_name' in ed:
edlist.append(ed)
但是期望有更好的方法吗?
所以我以前从未使用过Networkx,所以这可能是基本的。我目前正在使用一对函数输出简单图的字典,例如循环图。例如,如果我为n= 5运行该函数,则得到字典:{ 1 : 5、2、2: 1、3、3: 2、4、4: 3、5、5、1}。
我已经开始尝试使用Networkx来可视化这些图形,并具有以下函数来输出图形的边缘:
def generate_edges(graph): # generate edges of the graph
edges = []
for node in graph: # checks each node
for neighbour in