def barabasi_albert_graph_directed(n, m): if m < 1 or m >=n: raise nx.NetworkXError("Barabasi-Albert network must have m>=1 and m<n, m=%d,n=%d"%(m,n)) graphlist = [] graph = Graph() gc = GraphCollection(barabasi_albert_graph_directed) graph.add_nodes_from(range(n)) graph.name="barabasi_albert_graph(%s,%s)"%(n,m) targets=list(range(n)) for i in range(0, n, 1): rand = random.sample(targets, m) while i in rand: rand = random.sample(targets, m) graph.add_edges_from(zip([i]*m, rand)) gc.append(graph) graphlist.append(graph) #testP = TestPlotting('test_bowtie_plot_generator') #testP.call_plot_graph_with(graph, 'test_bowtie_plot_generator', i) return graphlist