Ler e comparar a distribuição dos graus dos vérticeis de dois datasets: um deles é a versão mais completa do dataset do facebook usado nos exercícios 1 e 2, com mais vértices, e outro é um dataset randômico. Os dois têm a mesma quantidades de vértices e arestas.
Procedimento:
In [6]:
import matplotlib.pyplot as plt
from collections import Counter
def plot_degree_graph(degree_dict, title=''):
degree = sorted( Counter( degree_dict.values() ).iteritems(), key=lambda (k, v): k )
plt.clf()
plt.close()
plt.title(title)
plt.plot([ k for k, __ in degree ],
[ v for __, v in degree ])
plt.xlabel('amount of nodes')
plt.ylabel('degree')
plt.show()
In [9]:
import networkx as nx
import pandas as pd
df = pd.read_csv("facebook_combined.txt", sep=" ", header = None)
G = nx.Graph()
G.add_edges_from( df.values )
plot_degree_graph(nx.degree(G), 'Facebook Degree Centrality')
rG = nx.read_pajek("another_random_graph.net")
plot_degree_graph(nx.degree(rG), 'Random Degree Centrality')
In [ ]: