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()
Esempio n. 2
0
    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')