Python ipycytoscape&;networkx对象交换

Python ipycytoscape&;networkx对象交换,python,graph,networkx,ipywidgets,ipycytoscape,Python,Graph,Networkx,Ipywidgets,Ipycytoscape,从ipycytoscape文档中,我可以看到以下内容: import ipycytoscape as cs from ipycytoscape import * import networkx as nx # === create custom node class (inherits from cytoscape node class) class CustomNode(cs.Node): def __init__(self, name, classes=''):

从ipycytoscape文档中,我可以看到以下内容:

import ipycytoscape as cs
from ipycytoscape import *
import networkx as nx


# === create custom node class (inherits from cytoscape node class)
class CustomNode(cs.Node):
    def __init__(self, name, classes=''):
        super().__init__()
        self.data['id'] = name
        self.classes = classes

n1 = CustomNode("node 1", classes='class1')
n2 = CustomNode("node 2", classes='class2')

# === create graph, add custom nodes and an edge
G = nx.Graph()

G.add_node(n1)
G.add_node(n2)
G.add_edge(n1, n2, directed=True)
我的问题是一个基本问题,而不是寻求代码方面的帮助。 上面的n1和n2是使用从ipycytoscape类CustomNode(cs.Node)继承的类构建的。 但它们是作为节点添加到networkx图形中的

这怎么可能? 我的意思是将ipycytoscape对象添加到networkx对象。

来自:

您可能会注意到,节点和边未指定为NetworkX对象。这使您可以自由地将有意义的项目用作节点和边。最常见的选择是数字或字符串,但节点可以是任何可散列对象(无除外),并且可以使用G.add_edge(n1,n2,object=x)将边与任何对象x关联

因此,这不是ipycytoscape特有的,您可以使用任何自定义对象作为networkx的节点。像这样:

将networkx导入为nx
类别myClass:
定义初始(自我,某物):
self.某物
n1=myClass(53)
n2=myClass(“节点2”)
#==创建图形,添加自定义节点和边
G=nx.Graph()
G.add_节点(n1)
G.add_节点(n2)
G.添加_边(n1,n2,定向=真)

从ipycytoscape节点对象继承只是为了使其更容易使用ipycytoscape。

hey@Ianhi您有>1500个点。为什么不在堆栈溢出中创建标记[ipycytoscape]?