EoN.get_time_shift¶

EoN.
get_time_shift
(times, L, threshold)[source]¶ Identifies the first time at which list/array L crosses a threshold. Useful for shifting times.
Arguments:  times list or numpy array (ordered)
 the times we have observations
 L a list or numpy array
 order of L corresponds to times
 threshold number
 the threshold value
Returns:  t number
 the first time at which L reaches or exceeds threshold.
SAMPLE USE: import networkx as nx import EoN import numpy as np import matplotlib.pyplot as plt """ in this example we will run 20 stochastic simulations. We plot the unshifted curves (grey) and the curves shifted so that t=0 when 1% have been infected (I+R = 0.01N) (red) """ plt.clf() # just clearing any previous plotting. N=100000 kave = 10. G = nx.fast_gnp_random_graph(N,kave/(N1.)) tau = 0.2 gamma = 1. report_times = np.linspace(0,5,101) Ssum = np.zeros(len(report_times)) Isum = np.zeros(len(report_times)) Rsum = np.zeros(len(report_times)) iterations = 20 for counter in range(iterations): R=[0] while R[1]<1000: #if an epidemic doesn't happen, repeat t, S, I, R = EoN.fast_SIR(G, tau, gamma) print R[1] plt.plot(t, I, linewidth = 1, color = 'gray', alpha=0.4) tshift = EoN.get_time_shift(t, I+R, 0.01*N) plt.plot(ttshift, I, color = 'red', linewidth = 1, alpha = 0.4) plt.savefig("timeshift_demonstration.pdf")