def main(): from complex_systems.dygraph import DyGraph import networkx as nx import pylab as plt G = DyGraph(time_stop=400.0, time_step=5.0) G.generate_mobility_levy_walk( alpha=0.9, beta=0.9, size_max=1000, f_min=1, f_max=100, s_min=1, s_max=100.0, b_c=2, radius=200.0, nb_node=2, velocity=float(1.0 / 60), ) time_step = 10.0 graph = G.get_graph(time_step) i = 1 for g in G: print "print graph of the slice ", g.graph["slice_time"] pos = nx.get_node_attributes(g, "pos") plt.figure() plt.title("Time = " + str(g.graph["slice_time"] * 5.0) + " seconds") limits = plt.axis("off") plt.draw() nx.draw(g, pos=pos, with_labels=False, node_size=20) filename = "graph_" + str("%04d" % i) + ".jpg" plt.savefig(filename) i += 1
def main(): from complex_systems.dygraph import DyGraph import networkx as nx import pylab as plt G = DyGraph(time_stop=400.0, time_step=5.0) G.generate_mobility_levy_walk( alpha=0.9, beta=0.9, size_max=1000, f_min=1, f_max=100, s_min=1, s_max=100.0, b_c=2, radius=200.0, nb_node=2, velocity=float(1.0 / 60), ) time_step = 10.0 graph = G.get_graph(time_step) i = 1 for g in G: print "print graph of the slice ", g.graph['slice_time'] pos = nx.get_node_attributes(g, 'pos') plt.figure() plt.title('Time = ' + str(g.graph['slice_time'] * 5.0) + ' seconds') limits = plt.axis('off') plt.draw() nx.draw(g, pos=pos, with_labels=False, node_size=20) filename = 'graph_' + str("%04d" % i) + '.jpg' plt.savefig(filename) i += 1
def main(): from complex_systems.dygraph import DyGraph from complex_systems.quasi_unit_disk_graph import gen_quasi_unit_disk_weight from complex_systems.diffusion import Diffusion import networkx as nx import pylab as plt # Variables size_of_simulation_area = 1000.0 inner_radius = 10 outer_radius = 50 number_of_node = 100 simulation_length = 1000.0 sample_interval = 10.0 alpha = 0.8 # Generate a Graph with position G = DyGraph(time_stop=simulation_length, time_step=sample_interval) G.generate_mobility_levy_walk( alpha=0.9, beta=0.9, size_max=size_of_simulation_area, f_min=10, f_max=1000, s_min=5, s_max=1000.0, b_c=2, radius=outer_radius, nb_node=number_of_node, ) G.generate_weights(inner_radius=inner_radius, outer_radius=outer_radius, alpha=alpha) slice_time_list = G.get_slice_time() i = 1 for t in slice_time_list: if t == 0.0: [states, time_stamps, strategies, payoffs] = G.diffusion(t, nb_steps=10, synergy=8.0, cooperator_ratio=0.5) else: Gslice = G.get_graph(t) pos = nx.get_node_attributes(Gslice, 'pos') [states, time_stamps, strategies, payoffs] = G.diffusion( t, nb_steps=10, synergy=8.0, states=states, time_stamps=time_stamps, strategies=strategies, payoffs=payoffs, ) nbcoops = [strategy for strategy in strategies if strategy == 'C'].count() Gslice = G.get_graph(t) pos = nx.get_node_attributes(Gslice, 'pos') nodelist_infected = [key for (key, val) in states.iteritems() if val == 'I'] nodelist_not_infected = [key for (key, val) in states.iteritems() if val == 'S'] plt.figure() nx.draw_networkx(Gslice, nodelist=nodelist_infected, pos=pos, with_labels=False, node_size=20) nx.draw_networkx(Gslice, nodelist=nodelist_not_infected, pos=pos, with_labels=False, node_size=20, node_color='g') filename = 'diffusion_' + str("%04d" % i) + '.jpg' plt.savefig(filename) i += 1 time_stamps_list = [vals for (key, vals) in time_stamps.iteritems()] plt.figure() (n, bins, patches) = plt.hist(time_stamps_list, 50, normed=1, histtype='bar', rwidth=0.8) plt.show()