def plot_by_interval(data, zamg_dfs = None):
p_vals = {}
# sort by year
for k in sorted(data):
v = data[k]
d_obj = datetime.datetime.strptime(k, key_pattern)
series_key = datetime.datetime.strftime(d_obj, "%Y")
#data_key = datetime.datetime.strftime(d_obj, "%m-%d")
p_vals.setdefault(series_key, dict()).setdefault("x_vals", list()).append(d_obj)
p_vals.setdefault(series_key, dict()).setdefault("y_vals", list()).append(v)
plt.clf()
fig, axis = plt.subplots(nrows=len(p_vals)*2, sharex=False, sharey=False)
a_iter = iter(axis)
for k in sorted(p_vals):
v = p_vals[k]
ax = next(a_iter)
y_vals = v["y_vals"]
x_vals = matplotlib.dates.date2num(v["x_vals"])
ax.plot_date(x_vals, y_vals)
# ax.plot(x_vals, y_vals)
ax = next(a_iter)
if zamg_dfs is not None and k in zamg_dfs:
df = zamg_dfs[k]
df['Wien Hohe Warte']['48,2486']['16,3564']['198.0']['Anhöhe']['Ebene']\
['Lufttemperatur']['Lufttemperatur um 14 MEZ (°C)'].plot(ax=ax)
plt.show()
评论列表
文章目录