def createResponsePlot(dataframe,plotdir): mag = dataframe['MAGPDE'].as_matrix() response = (dataframe['TFIRSTPUB'].as_matrix())/60.0 response[response > 60] = 60 #anything over 60 minutes capped at 6 minutes imag5 = (mag >= 5.0).nonzero()[0] imag55 = (mag >= 5.5).nonzero()[0] fig = plt.figure(figsize=(8,6)) n,bins,patches = plt.hist(response[imag5],color='g',bins=60,range=(0,60)) plt.hold(True) plt.hist(response[imag55],color='b',bins=60,range=(0,60)) plt.xlabel('Response Time (min)') plt.ylabel('Number of earthquakes') plt.xticks(np.arange(0,65,5)) ymax = text.ceilToNearest(max(n),10) yinc = ymax/10 plt.yticks(np.arange(0,ymax+yinc,yinc)) plt.grid(True,which='both') plt.hold(True) x = [20,20] y = [0,ymax] plt.plot(x,y,'r',linewidth=2,zorder=10) s1 = 'Magnitude 5.0, Events = %i' % (len(imag5)) s2 = 'Magnitude 5.5, Events = %i' % (len(imag55)) plt.text(35,.85*ymax,s1,color='g') plt.text(35,.75*ymax,s2,color='b') plt.savefig(os.path.join(plotdir,'response.pdf')) plt.savefig(os.path.join(plotdir,'response.png')) plt.close() print 'Saving response.pdf'
def getMapLines(dmin,dmax): NLINES = 4 drange = dmax-dmin if drange > 4: near = 1 else: if drange >= 0.5: near = 0.25 else: near = 0.125 inc = roundToNearest(drange/NLINES,near) if inc == 0: near = pow(10,round(log10(drange))) #make the increment the closest power of 10 inc = ceilToNearest(drange/NLINES,near) newdmin = floorToNearest(dmin,near) newdmax = ceilToNearest(dmax,near) else: newdmin = ceilToNearest(dmin,near) newdmax = floorToNearest(dmax,near) darray = np.arange(newdmin,newdmax,inc) return darray
def getMapLines(dmin, dmax, nlines): drange = dmax-dmin if drange > 4: near = 1 else: if drange >= 0.5: near = 0.25 else: near = 0.125 inc = roundToNearest(drange/nlines, near) if inc == 0: near = np.power(10, round(math.log10(drange))) # make the increment the closest power of 10 inc = ceilToNearest(drange/nlines, near) newdmin = floorToNearest(dmin, near) newdmax = ceilToNearest(dmax, near) else: newdmin = ceilToNearest(dmin, near) newdmax = floorToNearest(dmax, near) darray = np.arange(newdmin, newdmax+inc, inc) if darray[-1] > dmax: darray = darray[0:-1] return darray