Я извлек данные о температуре 2015 года и создал 2 DataSeries для рекордных максимумов и минимумов (df_2015_max и df_2015_min), где df_min и _max - рекордные минимумы и максимумы за 10-летний период. Эти серии имеют значения 37 и 32 соответственно.
df_2015_min = df_2015_min[df_2015_min < df_min]
df_2015_max = df_2015_max[df_2015_max > df_max]
Затем я переиндексировал эти серии, чтобы они соответствовали индексам df_min и _max, которые являются минимальными и максимальными температурами. Поэтому у меня есть значения NaN везде, где запись не нарушена.
df_2015_max.reindex(df_max.index)
df_2015_min.reindex(df_min.index)
Я думал, что если я нанесу их на существующий график, он автоматически будет правильно проиндексирован, но этого не произойдет, и я не не знаю, как это исправить.
plt.figure()
#plot data
ax1 = df_min.plot(label = "_nolegend_")
ax2 = df_max.plot(label = "_nolegend_")
df_2015_max.plot(marker = "o", label ="Record Breaking High", ax = ax2, linestyle = "none")
df_2015_min.plot(marker = "o", label ="Record Breaking Low", ax = ax1, linestyle = "none")
#fill_between data
plt.gca().fill_between(range(365), df_min, df_max, facecolor = "purple", alpha = 0.1)
#set axes labels and figure title
plt.title("Temperature record highs and lows (2004 - 2015) in °C")
#set xticks
plt.tick_params(left='off', bottom='on', labelleft='on', labelbottom='on')
ax1.set_xticks(range(0,360, 30)) #set approximate ticks for months in a year
#list comprehension, take each month from a year and format it as abbreviation (%b)
ax1.set_xticklabels([datetime(2010,i,1).strftime('%b') for i in range(1,13)])
#add legend
plt.legend()
plt.show()
Но результаты отображают значения с начала года, а не в соответствующие даты: График
Спасибо за помощь!