本文整理汇总了Python中networkx.union_all方法的典型用法代码示例。如果您正苦于以下问题:Python networkx.union_all方法的具体用法?Python networkx.union_all怎么用?Python networkx.union_all使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类networkx
的用法示例。
在下文中一共展示了networkx.union_all方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_union_all_attributes
# 需要导入模块: import networkx [as 别名]
# 或者: from networkx import union_all [as 别名]
def test_union_all_attributes():
g = nx.Graph()
g.add_node(0, x=4)
g.add_node(1, x=5)
g.add_edge(0, 1, size=5)
g.graph['name'] = 'g'
h = g.copy()
h.graph['name'] = 'h'
h.graph['attr'] = 'attr'
h.node[0]['x'] = 7
j = g.copy()
j.graph['name'] = 'j'
j.graph['attr'] = 'attr'
j.node[0]['x'] = 7
ghj = nx.union_all([g, h, j], rename=('g', 'h', 'j'))
assert_equal( set(ghj.nodes()) , set(['h0', 'h1', 'g0', 'g1', 'j0', 'j1']) )
for n in ghj:
graph, node = n
assert_equal( ghj.node[n], eval(graph).node[int(node)] )
assert_equal(ghj.graph['attr'],'attr')
assert_equal(ghj.graph['name'],'j') # j graph attributes take precendent
示例2: test_union_all_attributes
# 需要导入模块: import networkx [as 别名]
# 或者: from networkx import union_all [as 别名]
def test_union_all_attributes():
g = nx.Graph()
g.add_node(0, x=4)
g.add_node(1, x=5)
g.add_edge(0, 1, size=5)
g.graph['name'] = 'g'
h = g.copy()
h.graph['name'] = 'h'
h.graph['attr'] = 'attr'
h.nodes[0]['x'] = 7
j = g.copy()
j.graph['name'] = 'j'
j.graph['attr'] = 'attr'
j.nodes[0]['x'] = 7
ghj = nx.union_all([g, h, j], rename=('g', 'h', 'j'))
assert_equal(set(ghj.nodes()), set(['h0', 'h1', 'g0', 'g1', 'j0', 'j1']))
for n in ghj:
graph, node = n
assert_equal(ghj.nodes[n], eval(graph).nodes[int(node)])
assert_equal(ghj.graph['attr'], 'attr')
assert_equal(ghj.graph['name'], 'j') # j graph attributes take precendent
示例3: test_union_all_attributes
# 需要导入模块: import networkx [as 别名]
# 或者: from networkx import union_all [as 别名]
def test_union_all_attributes():
g = nx.Graph()
g.add_node(0, x=4)
g.add_node(1, x=5)
g.add_edge(0, 1, size=5)
g.graph['name'] = 'g'
h = g.copy()
h.graph['name'] = 'h'
h.graph['attr'] = 'attr'
h.nodes[0]['x'] = 7
j = g.copy()
j.graph['name'] = 'j'
j.graph['attr'] = 'attr'
j.nodes[0]['x'] = 7
ghj = nx.union_all([g, h, j], rename=('g', 'h', 'j'))
assert_equal( set(ghj.nodes()) , set(['h0', 'h1', 'g0', 'g1', 'j0', 'j1']) )
for n in ghj:
graph, node = n
assert_equal( ghj.nodes[n], eval(graph).nodes[int(node)] )
assert_equal(ghj.graph['attr'],'attr')
assert_equal(ghj.graph['name'],'j') # j graph attributes take precendent
示例4: tensorize_graph
# 需要导入模块: import networkx [as 别名]
# 或者: from networkx import union_all [as 别名]
def tensorize_graph(graph_batch, vocab):
fnode,fmess = [None],[(0,0,0,0)]
agraph,bgraph = [[]], [[]]
scope = []
edge_dict = {}
all_G = []
for bid,G in enumerate(graph_batch):
offset = len(fnode)
scope.append( (offset, len(G)) )
G = nx.convert_node_labels_to_integers(G, first_label=offset)
all_G.append(G)
fnode.extend( [None for v in G.nodes] )
for v, attr in G.nodes(data='label'):
G.nodes[v]['batch_id'] = bid
fnode[v] = vocab[attr]
agraph.append([])
for u, v, attr in G.edges(data='label'):
if type(attr) is tuple:
fmess.append( (u, v, attr[0], attr[1]) )
else:
fmess.append( (u, v, attr, 0) )
edge_dict[(u, v)] = eid = len(edge_dict) + 1
G[u][v]['mess_idx'] = eid
agraph[v].append(eid)
bgraph.append([])
for u, v in G.edges:
eid = edge_dict[(u, v)]
for w in G.predecessors(u):
if w == v: continue
bgraph[eid].append( edge_dict[(w, u)] )
fnode[0] = fnode[1]
fnode = torch.IntTensor(fnode)
fmess = torch.IntTensor(fmess)
agraph = create_pad_tensor(agraph)
bgraph = create_pad_tensor(bgraph)
return (fnode, fmess, agraph, bgraph, scope), nx.union_all(all_G)
示例5: test_union_all_multigraph
# 需要导入模块: import networkx [as 别名]
# 或者: from networkx import union_all [as 别名]
def test_union_all_multigraph():
G=nx.MultiGraph()
G.add_edge(1,2,key=0)
G.add_edge(1,2,key=1)
H=nx.MultiGraph()
H.add_edge(3,4,key=0)
H.add_edge(3,4,key=1)
GH=nx.union_all([G,H])
assert_equal( set(GH) , set(G)|set(H))
assert_equal( set(GH.edges(keys=True)) ,
set(G.edges(keys=True))|set(H.edges(keys=True)))
示例6: test_mixed_type_union
# 需要导入模块: import networkx [as 别名]
# 或者: from networkx import union_all [as 别名]
def test_mixed_type_union():
G = nx.Graph()
H = nx.MultiGraph()
I = nx.Graph()
U = nx.union_all([G,H,I])
示例7: test_union_all_multigraph
# 需要导入模块: import networkx [as 别名]
# 或者: from networkx import union_all [as 别名]
def test_union_all_multigraph():
G = nx.MultiGraph()
G.add_edge(1, 2, key=0)
G.add_edge(1, 2, key=1)
H = nx.MultiGraph()
H.add_edge(3, 4, key=0)
H.add_edge(3, 4, key=1)
GH = nx.union_all([G, H])
assert_equal(set(GH), set(G) | set(H))
assert_equal(set(GH.edges(keys=True)),
set(G.edges(keys=True)) | set(H.edges(keys=True)))
示例8: test_mixed_type_union
# 需要导入模块: import networkx [as 别名]
# 或者: from networkx import union_all [as 别名]
def test_mixed_type_union():
G = nx.Graph()
H = nx.MultiGraph()
I = nx.Graph()
U = nx.union_all([G, H, I])
示例9: test_empty_union
# 需要导入模块: import networkx [as 别名]
# 或者: from networkx import union_all [as 别名]
def test_empty_union():
nx.union_all([])
示例10: test_union_all_and_compose_all
# 需要导入模块: import networkx [as 别名]
# 或者: from networkx import union_all [as 别名]
def test_union_all_and_compose_all():
K3=nx.complete_graph(3)
P3=nx.path_graph(3)
G1=nx.DiGraph()
G1.add_edge('A','B')
G1.add_edge('A','C')
G1.add_edge('A','D')
G2=nx.DiGraph()
G2.add_edge('1','2')
G2.add_edge('1','3')
G2.add_edge('1','4')
G=nx.union_all([G1,G2])
H=nx.compose_all([G1,G2])
assert_edges_equal(G.edges(),H.edges())
assert_false(G.has_edge('A','1'))
assert_raises(nx.NetworkXError, nx.union, K3, P3)
H1=nx.union_all([H,G1],rename=('H','G1'))
assert_equal(sorted(H1.nodes()),
['G1A', 'G1B', 'G1C', 'G1D',
'H1', 'H2', 'H3', 'H4', 'HA', 'HB', 'HC', 'HD'])
H2=nx.union_all([H,G2],rename=("H",""))
assert_equal(sorted(H2.nodes()),
['1', '2', '3', '4',
'H1', 'H2', 'H3', 'H4', 'HA', 'HB', 'HC', 'HD'])
assert_false(H1.has_edge('NB','NA'))
G=nx.compose_all([G,G])
assert_edges_equal(G.edges(),H.edges())
G2=nx.union_all([G2,G2],rename=('','copy'))
assert_equal(sorted(G2.nodes()),
['1', '2', '3', '4', 'copy1', 'copy2', 'copy3', 'copy4'])
assert_equal(G2.neighbors('copy4'),[])
assert_equal(sorted(G2.neighbors('copy1')),['copy2', 'copy3', 'copy4'])
assert_equal(len(G),8)
assert_equal(nx.number_of_edges(G),6)
E=nx.disjoint_union_all([G,G])
assert_equal(len(E),16)
assert_equal(nx.number_of_edges(E),12)
E=nx.disjoint_union_all([G1,G2])
assert_equal(sorted(E.nodes()),[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11])
G1=nx.DiGraph()
G1.add_edge('A','B')
G2=nx.DiGraph()
G2.add_edge(1,2)
G3=nx.DiGraph()
G3.add_edge(11,22)
G4=nx.union_all([G1,G2,G3],rename=("G1","G2","G3"))
assert_equal(sorted(G4.nodes()),
['G1A', 'G1B', 'G21', 'G22',
'G311', 'G322'])
示例11: test_union_all_and_compose_all
# 需要导入模块: import networkx [as 别名]
# 或者: from networkx import union_all [as 别名]
def test_union_all_and_compose_all():
K3 = nx.complete_graph(3)
P3 = nx.path_graph(3)
G1 = nx.DiGraph()
G1.add_edge('A', 'B')
G1.add_edge('A', 'C')
G1.add_edge('A', 'D')
G2 = nx.DiGraph()
G2.add_edge('1', '2')
G2.add_edge('1', '3')
G2.add_edge('1', '4')
G = nx.union_all([G1, G2])
H = nx.compose_all([G1, G2])
assert_edges_equal(G.edges(), H.edges())
assert_false(G.has_edge('A', '1'))
assert_raises(nx.NetworkXError, nx.union, K3, P3)
H1 = nx.union_all([H, G1], rename=('H', 'G1'))
assert_equal(sorted(H1.nodes()),
['G1A', 'G1B', 'G1C', 'G1D',
'H1', 'H2', 'H3', 'H4', 'HA', 'HB', 'HC', 'HD'])
H2 = nx.union_all([H, G2], rename=("H", ""))
assert_equal(sorted(H2.nodes()),
['1', '2', '3', '4',
'H1', 'H2', 'H3', 'H4', 'HA', 'HB', 'HC', 'HD'])
assert_false(H1.has_edge('NB', 'NA'))
G = nx.compose_all([G, G])
assert_edges_equal(G.edges(), H.edges())
G2 = nx.union_all([G2, G2], rename=('', 'copy'))
assert_equal(sorted(G2.nodes()),
['1', '2', '3', '4', 'copy1', 'copy2', 'copy3', 'copy4'])
assert_equal(sorted(G2.neighbors('copy4')), [])
assert_equal(sorted(G2.neighbors('copy1')), ['copy2', 'copy3', 'copy4'])
assert_equal(len(G), 8)
assert_equal(nx.number_of_edges(G), 6)
E = nx.disjoint_union_all([G, G])
assert_equal(len(E), 16)
assert_equal(nx.number_of_edges(E), 12)
E = nx.disjoint_union_all([G1, G2])
assert_equal(sorted(E.nodes()), [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11])
G1 = nx.DiGraph()
G1.add_edge('A', 'B')
G2 = nx.DiGraph()
G2.add_edge(1, 2)
G3 = nx.DiGraph()
G3.add_edge(11, 22)
G4 = nx.union_all([G1, G2, G3], rename=("G1", "G2", "G3"))
assert_equal(sorted(G4.nodes()),
['G1A', 'G1B', 'G21', 'G22',
'G311', 'G322'])
示例12: test_union_all_and_compose_all
# 需要导入模块: import networkx [as 别名]
# 或者: from networkx import union_all [as 别名]
def test_union_all_and_compose_all():
K3=nx.complete_graph(3)
P3=nx.path_graph(3)
G1=nx.DiGraph()
G1.add_edge('A','B')
G1.add_edge('A','C')
G1.add_edge('A','D')
G2=nx.DiGraph()
G2.add_edge('1','2')
G2.add_edge('1','3')
G2.add_edge('1','4')
G=nx.union_all([G1,G2])
H=nx.compose_all([G1,G2])
assert_edges_equal(G.edges(),H.edges())
assert_false(G.has_edge('A','1'))
assert_raises(nx.NetworkXError, nx.union, K3, P3)
H1=nx.union_all([H,G1],rename=('H','G1'))
assert_equal(sorted(H1.nodes()),
['G1A', 'G1B', 'G1C', 'G1D',
'H1', 'H2', 'H3', 'H4', 'HA', 'HB', 'HC', 'HD'])
H2=nx.union_all([H,G2],rename=("H",""))
assert_equal(sorted(H2.nodes()),
['1', '2', '3', '4',
'H1', 'H2', 'H3', 'H4', 'HA', 'HB', 'HC', 'HD'])
assert_false(H1.has_edge('NB','NA'))
G=nx.compose_all([G,G])
assert_edges_equal(G.edges(),H.edges())
G2=nx.union_all([G2,G2],rename=('','copy'))
assert_equal(sorted(G2.nodes()),
['1', '2', '3', '4', 'copy1', 'copy2', 'copy3', 'copy4'])
assert_equal(sorted(G2.neighbors('copy4')),[])
assert_equal(sorted(G2.neighbors('copy1')),['copy2', 'copy3', 'copy4'])
assert_equal(len(G),8)
assert_equal(nx.number_of_edges(G),6)
E=nx.disjoint_union_all([G,G])
assert_equal(len(E),16)
assert_equal(nx.number_of_edges(E),12)
E=nx.disjoint_union_all([G1,G2])
assert_equal(sorted(E.nodes()),[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11])
G1=nx.DiGraph()
G1.add_edge('A','B')
G2=nx.DiGraph()
G2.add_edge(1,2)
G3=nx.DiGraph()
G3.add_edge(11,22)
G4=nx.union_all([G1,G2,G3],rename=("G1","G2","G3"))
assert_equal(sorted(G4.nodes()),
['G1A', 'G1B', 'G21', 'G22',
'G311', 'G322'])