def main(): citation_graph = load_graph(CITATION_URL) print compute_in_degrees(citation_graph) start_time = timeit.default_timer() dist = in_degree_distribution(citation_graph) print 'dist =', dist total = sum(dist.itervalues()) normalized = {key: float(value)/total for key, value in dist.items()} print(timeit.default_timer() - start_time) x = normalized.keys() y = normalized.values() print len(y) plt.loglog(x, y, 'ro') plt.yscale('log') plt.xscale('log') plt.minorticks_off() plt.xlabel('In-degree distribution') plt.ylabel('Normalized In-degree distribution') plt.title('Graph of Citations') plt.grid(True) plt.savefig('citations-q1.png') plt.show()
graph = make_complete_graph(m) print graph trial = DPATrial(m) for i in range(m, n): neighbors = trial.run_trial(m) graph[i] = neighbors return graph graph = dpa(28000, 13) #out_degree = [len(x) for x in graph.itervalues()] #print 'out degree: ', out_degree #print sum(out_degree)/len(out_degree) dist = in_degree_distribution(graph) print 'dist: ', dist total = sum(dist.itervalues()) normalized = {key: float(value)/total for key, value in dist.items()} #print(timeit.default_timer() - start_time) x = normalized.keys() y = normalized.values() print len(y) plt.loglog(x, y, 'ro') plt.yscale('log') plt.xscale('log') plt.minorticks_off() plt.xlabel('In-degree distribution')