У меня есть файл журнала с данными для построения и двумя типами временных меток: счетчик микросекунд и более читаемая временная метка %Y-%m-%dT%H:%M:%S
.
Из файла журнала я могу связать микросекундное значение (0 - произвольно, только для этого файла журнала) до метки времени даты, что-то вроде кортежа (us_value, datetime)
.
Доступно несколько таких кортежей, но одного должно быть достаточно, поскольку я знаю разрешение счетчика.
Я хочу нанести на график свои данные, показывая оба типа времени на оси x.Очевидно, что обе оси должны оставаться «подключенными» при масштабировании.
Я рассмотрел несколько осей , к сожалению, похоже, что одна трасса связывается с одной осью.Я хотел бы избежать создания двух трасс (для этого необходимо обеспечить точное перекрытие).
Можно ли создать две связанные оси в макете для одной трассы?Если не совсем так, как бы вы взломали это?
_
Вот кое-что для начала, минимальный пример того, где я застрял:
import datetime as dt
import plotly.graph_objs as go
from plotly.offline import plot
rtime = [1000000, 2000001, 3000002]
measurement = [3, 2, 4]
# Associate rtime 10 us to this date
us_date = (10, dt.datetime.strptime("2017-11-29T01:00:00", "%Y-%m-%dT%H:%M:%S"))
trace = go.Scatter(
x = rtime,
y = measurement
)
fig = go.Figure(data = [trace])
plot(fig)
_
Хромая попытка, не совсем думал, что это сработает, но я хотел проявить усилия.Это ограничивает диапазон по умолчанию и не показывает дополнительную ось:
# Associate rtime 10 us to this date
us_date = (rtime[0], dt.datetime.strptime("2017-11-29T01:00:00", "%Y-%m-%dT%H:%M:%S"))
layout = go.Layout(
xaxis=dict(
range=[us_date[0], us_date[0] + 1000000]
),
xaxis2=dict(
range=[us_date[1], dt.datetime.strptime("2017-11-29T01:00:01", "%Y-%m-%dT%H:%M:%S")]
)
)