У меня есть 3 набора измерений из тестирования приложения с разными параметрами. Каждый тест выполнялся в течение одного и того же времени, но с разными отметками времени. Я хочу построить график результатов, перекрывающих друг друга.
Результаты сохраняются в файле csv в следующем формате: отметка времени, продолжительность. Я читаю результаты в кадре данных pandas, конвертирую временную метку в дату и время и делаю агрегирование для вычисления p90rt, которое я хочу отобразить (код ниже)
df["timestamp"] = pd.to_datetime(df["timestamp"], unit='ms')
df.set_index("timestamp", inplace=True)
gdf = df.groupby(pd.Grouper(freq=freq)).agg({"duration": q90})
Я делаю это для своих 3 наборов данных, затем я рисую их с помощью matplotlib:
ax = gdf_n.plot()
ax = gdf_r.plot(ax=ax)
gdf_p.plot(ax=ax)
plt.axhline(y=3500, color='r', linestyle='-')
Однако, поскольку они были сделаны в разное время, они нанесены довольно далеко друг от друга. Я бы хотел, чтобы они перекрывались (все они занимали одинаковое время - 4 минуты). Я ищу способ нормализовать индекс даты и времени, чтобы 3 графика перекрывались.
df.head ()
timestamp duration respCode
0 1589464106981 397 200
1 1589464107015 363 200
2 1589464107046 371 200
3 1589464107123 365 200
4 1589464107024 467 200