Spaces:
Runtime error
Runtime error
File size: 771 Bytes
95a3fe5 3fc7538 95a3fe5 3fc7538 efe5c60 773e892 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
"""GraphAnalyzer uses some open source graph library for network analysis
"""
import networkx as nx
class GraphAnalyzer:
def __init__(self, is_directed: bool = False):
self.graph = nx.DiGraph() if is_directed else nx.Graph()
def add_node(self, node, **kwargs):
self.graph.add_node(node, **kwargs)
def add_edge(self, first_node, second_node):
self.graph.add_edge(first_node, second_node)
def add_edges_from_nodes(self, nodes):
assert len(nodes) > 1
for first_node, second_node in zip(nodes, nodes[1:]):
self.add_node(first_node, color="gray") # set default node color
self.add_node(second_node, color="gray") # set default node color
self.add_edge(first_node, second_node)
|