import json import matplotlib.pyplot as plt import numpy, pandas import requests res = requests.get('https://climatereanalyzer.org/clim/sst_daily/json/oisst2.1_world2_sst_day.json') if res.status_code == 200: data = json.loads(res.text) data = data[:-3] # remove final three cols (avg and sds) temps = numpy.array([i['data'] for i in data], numpy.float32).T cols = [i['name'] for i in data] df = pandas.DataFrame(temps, columns = cols) diffs = pandas.DataFrame(columns = cols, dtype=numpy.float32) for col in cols[20:]: i = cols.index(col) means = df[df.columns[0:20]].mean(axis=1) # 1981 - 2001 mean sst diffs[col] = df[col] - means series = diffs.melt().drop('variable', axis=1) series.plot(figsize=(20,5)) plt.xticks(numpy.arange(0,len(series),366)[20:], (numpy.arange(0, len(series), 366)[20:] / 366 + 1981).astype(int)) plt.show()