使用 ipycytoscape(和 networkx)绘制图形

Plot a graph with ipycytoscape (and 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" 以及 "Atribute"。令人惊讶的是 networkx Graph 应该具有所有这些属性。

谢谢

我自己只是在玩 ipycytoscape,所以我可能离题太远了,但是,这条线不应该是:

cytoscapeobj.graph.add_graph_from_networkx(G2) # 你的图名在这里

尝试生成基于不存在的图的 cytoscape 对象可能会触发 ValueError,因为它找不到任何节点。

此问题已修复。见附件

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