From f80d58e5b8ebe17634d89273d813c7970d415608 Mon Sep 17 00:00:00 2001 From: Kevin Froman Date: Mon, 26 Oct 2020 06:57:22 +0000 Subject: [PATCH] added floodfill network visualization script --- scripts/floodfill-network-visualizer.py | 33 +++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 scripts/floodfill-network-visualizer.py diff --git a/scripts/floodfill-network-visualizer.py b/scripts/floodfill-network-visualizer.py new file mode 100644 index 00000000..4447e60b --- /dev/null +++ b/scripts/floodfill-network-visualizer.py @@ -0,0 +1,33 @@ +import networkx as nx +import matplotlib.pyplot as plt +import sys +import os +import subprocess +import base64 +if not os.path.exists('onionr.sh'): + os.chdir('../') +sys.path.append("src/") +from streamfill import identify_neighbors + +G = nx.Graph() +size = 20 + +onions = [] +p = subprocess.Popen(["scripts/generate-onions.py", str(size)], + stdout=subprocess.PIPE, + stderr=subprocess.PIPE) +for line in iter(p.stdout.readline, b''): + line = line.decode().strip() + onions.append(line) + G.add_node(line[:4]) + +for onion in onions: + neighbors = identify_neighbors(onion, onions, 0.25 * size) + for neighbor in neighbors: + G.add_edge(onion[:4], neighbor[:4]) + +#nx.draw(G, with_labels=True, font_weight='bold') +#nx.draw_shell(G, with_labels=True) +#nx.draw_random(G, with_labels=True) +nx.draw_kamada_kawai(G, with_labels=True) +plt.savefig("graph.png") \ No newline at end of file