G = nx.DiGraph()
G.add_nodes_from(map(chr, range(65, 78)))
edges = [
'GHK',
'CDM',
'BD',
'BCM',
'BGJ',
'IJL',
'AEHK',
'AGK',
'FJL',
'FIL',
'AGH',
'FIJ',
'BD'
]
for n, es in zip(G, edges):
ess = list(es)
print(f'{n} -> {ess}')
for e in ess:
G.add_edge(n, e)
A -> ['G', 'H', 'K']
B -> ['C', 'D', 'M']
C -> ['B', 'D']
D -> ['B', 'C', 'M']
E -> ['B', 'G', 'J']
F -> ['I', 'J', 'L']
G -> ['A', 'E', 'H', 'K']
H -> ['A', 'G', 'K']
I -> ['F', 'J', 'L']
J -> ['F', 'I', 'L']
K -> ['A', 'G', 'H']
L -> ['F', 'I', 'J']
M -> ['B', 'D']
pos = nx.spring_layout(G, k=1)
plt.figure(3,figsize=(12,8))
nx.draw_networkx(G, pos, arrowsize=20, node_color='#ddd', node_size=500)
plt.show()
density = nx.density(G)
print(f'Densitet: {density}')
Densitet: 0.24358974358974358
degrees = [d for _, d in G.degree()]
mean_degree = sum(degrees) / len(degrees)
print('Snittligt antal kopplingar: ' + str(mean_degree))
Snittligt antal kopplingar: 5.846153846153846
plt.hist(degree_list,label='Degree Distribution')
plt.axvline(av_degree,color='r',linestyle='dashed',label='Average Degree')
plt.legend()
plt.ylabel('Number of Nodes')
plt.title('Fulingar: Node Degree')