У меня возникла проблема, когда у меня есть несколько pandas фреймов данных, где индексом является дата_рандж в формате %m-%d-%y
, и каждый фрейм данных представляет один год данных, каждый фрейм данных - отдельный год. Я хотел бы наложить данные на график только в зависимости от месяца и дня, чтобы каждый график располагался поверх другого. Однако, когда я пытаюсь построить их, результирующий график помещает каждую кривую рядом, потому что они находятся в разные годы. Пример показан ниже.
Ниже псевдокода, размещенного в этом вопросе, приведен пример вывода реального кода. Я пытаюсь получить синий график поверх красного графика, но код всегда хочет учесть год и поместить синий график справа от красного, а не поверх него в течение того же месяца. Точки данных. Любые советы о том, как это исправить, будут очень благодарны.
import matplotlib
import matplotlib.dates as dates
from matplotlib import pyplot as plt
data1 = {'Date': ['2009-01-01', '2009-01-02', '2009-01-03', ...], 'Data': [4.0, 3.1, 1.2, ...]}
df1 = pd.DataFrame(data1)
df1['Date'] = pd.to_datetime(df['Date'])
df1 = df1.drop(['Date'], axis=1)
data2 = {'Date': ['20010-01-01', '20010-01-02', '20010-01-03', ...], 'Data': [4.0, 3.1, 1.2, ...]}
df2 = pd.DataFrame(data2)
df2['Date'] = pd.to_datetime(df2['Date'])
df2 = df2.drop(['Date'], axis=1)
fig, td_plot = plt.subplots()
td_plot.xaxis.set_major_formatter(dates.DateFormatter('%m-%d'))
td_plot.plot(df1.index, df1['Data'])
td_plot.plot(df2.index, df2['Data'])
plt.show()