database store graph
This commit is contained in:
28
test.py
Normal file
28
test.py
Normal file
@@ -0,0 +1,28 @@
|
||||
import networkx as nx
|
||||
import json
|
||||
|
||||
in_file = open("myfile.json", "r")
|
||||
js_file = json.load(in_file)
|
||||
in_file.close()
|
||||
firm_network = nx.adjacency_graph(js_file)
|
||||
|
||||
import matplotlib.pyplot as plt
|
||||
|
||||
plt.rcParams['font.sans-serif'] = 'SimHei'
|
||||
pos = nx.nx_agraph.graphviz_layout(firm_network, prog="twopi", args="")
|
||||
node_label = nx.get_node_attributes(firm_network, 'Name')
|
||||
# print(node_label)
|
||||
node_degree = dict(firm_network.out_degree())
|
||||
node_label = {
|
||||
key: f"{node_label[key]} {node_degree[key]}"
|
||||
for key in node_label.keys()
|
||||
}
|
||||
node_size = list(nx.get_node_attributes(firm_network, 'Revenue_Log').values())
|
||||
node_size = list(map(lambda x: x**2, node_size))
|
||||
edge_label = nx.get_edge_attributes(firm_network, "Product")
|
||||
# multi(di)graphs, the keys are 3-tuples
|
||||
edge_label = {(n1, n2): label for (n1, n2, _), label in edge_label.items()}
|
||||
plt.figure(figsize=(12, 12), dpi=300)
|
||||
nx.draw(firm_network, pos, node_size=node_size, labels=node_label, font_size=6)
|
||||
nx.draw_networkx_edge_labels(firm_network, pos, edge_label, font_size=4)
|
||||
plt.savefig("network1.png")
|
||||
Reference in New Issue
Block a user