首页 > 解决方案 > 使用 ipycytoscape(和 networkx)绘制图形

问题描述

按照 ipycitoscape 的说明,我无法使用 ipycitoscape 绘制图形。

根据:https ://github.com/QuantStack/ipycytoscape/blob/master/examples/Test%20NetworkX%20methods.ipynb

这应该工作:

import networkx as nx
import ipycytoscape

G2 = nx.Graph()
G2.add_nodes_from([*'ABCDEF'])
G2.add_edges_from([('A','B'),('B','C'),('C','D'),('E','F')])

print(G2.nodes)
print(G2.edges)
cytoscapeobj = ipycytoscape.CytoscapeWidget()
cytoscapeobj.graph.add_graph_from_networkx(nx_graph)

G2 是一个 networkx 图示例,它看起来不错,因为 print(G2) 将 networkx 对象返回,并且可以打印 G2.nodes 和 G2.edges。

错误:

ValueError: invalid literal for int() with base 10: 'A'

为什么节点应该是整数?更一般的情况是,如果具有一百万行的 pandas 数据帧边缘是 ProcessA-ProcessB、processC-processD 等字符串的起始数据点,该怎么办

还看一下示例,要注意节点列表由每个节点的字典数据组成。该数据包括每个节点的“id”以及“属性”。令人惊讶的是,networkx Graph 应该具有所有这些属性。

谢谢

标签: networkxipywidgetsipycytoscape

解决方案


此问题已修复。详见附件。在此处输入图像描述

请让我知道它是否仍在发生。随意打开一个问题:https ://github.com/QuantStack/ipycytoscape/


推荐阅读