我需要定义一个social network,分析它并绘制它。我既可以手工绘制它,也可以手工分析它(计算各种指标)。但我不想重复发明轮子。
我尝试使用matplotlib,但我需要交互地使用它,并用几行代码告诉它如何加载数据,然后调用一个呈现函数,该函数将把图形呈现为SVG。
如何以上述方式可视化社交网络?
发布于 2013-03-17 07:32:04
是一个非常强大和灵活的Python库,用于处理网络图。定向连接和非定向连接可用于连接节点。可以通过添加节点,然后添加连接它们的边,或者简单地列出边对(未定义的节点将自动创建)来构建网络。创建后,节点(和边)可以使用任意标签进行注释。
尽管networkx可用于可视化网络(请参阅文档),但您可能更喜欢使用网络可视化应用程序,如Gephi (可从gephi.org获得)。networkx支持多种导入和导出格式。如果您使用诸如GraphML之类的格式导出网络,则可以轻松地将导出的文件加载到Gephi中并在那里可视化。
import networkx as nx
G=nx.Graph()
G.add_edges_from([(1,2),(1,3),(1,4),(3,4)])
G
>>> <networkx.classes.graph.Graph object at 0x128a930>
G.nodes(data=True)
>>> [(1, {}), (2, {}), (3, {}), (4, {})]
G.node[1]['attribute']='value'
G.nodes(data=True)
>>> [(1, {'attribute': 'value'}), (2, {}), (3, {}), (4, {})]
nx.write_graphml(G,'so.graphml')发布于 2019-06-19 14:08:41
发布于 2014-08-11 22:24:12
另一种方式是Cytoscape。您也可以使用gml文件。
就像export所说的那样,你可以使用Networkx来绘制你的图表,并导出到gml文件。
nx.write_graphml(G,'my_file.gml')之后,在Cytoscape中点击From Network file并选择您的gml文件。在那里,您也可以更改样式。
https://stackoverflow.com/questions/7991138
复制相似问题