Colorful nodes

This commit is contained in:
Marcin Kostrzewski 2022-06-16 20:14:56 +02:00
parent 3825b7d62d
commit 12da0fe191

View File

@ -36,13 +36,25 @@ class Graph:
def add_edges(self, edges: [Edge]): def add_edges(self, edges: [Edge]):
[self.edges.append(e) for e in edges] [self.edges.append(e) for e in edges]
def get_nodes(self) -> [Node]:
nodes = set()
for edge in self.edges:
nodes.add(edge.node_a)
nodes.add(edge.node_b)
return nodes
def update(num, layout, g_repr, ax, our_graph):
def update(num, layout, g_repr, ax, our_graph: Graph):
""" """
This function is called every 'step', so if you wish to update the graph, do it here This function is called every 'step', so if you wish to update the graph, do it here
""" """
ax.clear() ax.clear()
nx.draw_networkx(g_repr, ax=ax, pos=layout)
for n in our_graph.get_nodes():
n.is_infected = bool(random.getrandbits(1))
colors = ['red' if n.is_infected else 'blue' for n in g_repr]
nx.draw_networkx(g_repr, ax=ax, pos=layout, node_color=colors, with_labels=False)
def do_graph_animation(output_file_name: str, in_graph: Graph, frame_count: int): def do_graph_animation(output_file_name: str, in_graph: Graph, frame_count: int):
@ -71,7 +83,7 @@ def main():
Edge(nodes[4], nodes[3], 0.2) Edge(nodes[4], nodes[3], 0.2)
]) ])
do_graph_animation('test.gif', network, 1) do_graph_animation('test.gif', network, 5)
if __name__ == "__main__": if __name__ == "__main__":