MCPcopy Create free account
hub / github.com/easy-graph/Easy-Graph / nodes_subgraph

Method nodes_subgraph

easygraph/classes/directed_graph.py:1075–1110  ·  view source on GitHub ↗

Returns a subgraph of some nodes Parameters ---------- from_nodes : list of object The nodes in subgraph. Returns ------- nodes_subgraph : easygraph.Graph The subgraph consisting of *from_nodes*. Examples ----

(self, from_nodes: list)

Source from the content-addressed store, hash-verified

1073 return G
1074
1075 def nodes_subgraph(self, from_nodes: list):
1076 """Returns a subgraph of some nodes
1077
1078 Parameters
1079 ----------
1080 from_nodes : list of object
1081 The nodes in subgraph.
1082
1083 Returns
1084 -------
1085 nodes_subgraph : easygraph.Graph
1086 The subgraph consisting of *from_nodes*.
1087
1088 Examples
1089 --------
1090
1091 >>> G = eg.Graph()
1092 >>> G.add_edges([(1,2), (2,3), (2,4), (4,5)])
1093 >>> G_sub = G.nodes_subgraph(from_nodes= [1,2,3])
1094
1095 """
1096 # Edge
1097 from_nodes = set(from_nodes)
1098 G = self.__class__()
1099 G.graph.update(self.graph)
1100 from_nodes = set(from_nodes)
1101 for node in from_nodes:
1102 try:
1103 G.add_node(node, **self._node[node])
1104 except KeyError:
1105 pass
1106
1107 for v, edge_data in self._adj[node].items():
1108 if v in from_nodes:
1109 G.add_edge(node, v, **edge_data)
1110 return G
1111
1112 def ego_subgraph(self, center):
1113 """Returns an ego network graph of a node.

Callers 1

ego_subgraphMethod · 0.95

Calls 3

updateMethod · 0.80
add_nodeMethod · 0.45
add_edgeMethod · 0.45

Tested by

no test coverage detected