import numpy import scipy.stats import pandas import matplotlib.pyplot as plt plt.style.use("bmh") dateCols = ['date', 'time'] OUTDIR = "catalogs/MAG" range = [2019, 2019] i = range[0] while i <= range[1]: YEAR = i infile = "catalogs/%s.exp" % (YEAR) infile = "https://earthquake.batjorge.com/canarias/catalogs/%s.exp" % (YEAR) out_png = "%s/%s.magnitude.png" % (OUTDIR,YEAR) headers = ['file', 'date', 'time', 'latitude', 'longitude', 'depth', 'magType', 'mag', 'status', 'location'] def dateparse(d,t): print "d=%s t=%s"%(d,t) if str(d) == "nan" or str(t) == "nan": dt = "01/01/1970 00:00:00" else: dt = "%s %s"%(d.strip(),t.strip()) print "dt=%s"%dt return pandas.datetime.strptime(dt, '%d/%m/%Y %H:%M:%S') data = pandas.read_csv(infile, sep=';', parse_dates={'datetime': ['date', 'time']}, date_parser=dateparse, header=None, names=headers) data.head() data.time = pandas.to_datetime(data.datetime) data.sort_values("datetime", inplace=True) fig = plt.figure() fig.set_size_inches(24, 5) plt.plot(data.time, data.mag, "."); plt.ylabel("Canary\nIslands\n%s\n\nMagnitude Earthquakes"%(YEAR)); plt.savefig(out_png) i += 1 plt.show()