на графике две связанные оси для следа - PullRequest
0 голосов
/ 04 декабря 2018

У меня есть файл журнала с данными для построения и двумя типами временных меток: счетчик микросекунд и более читаемая временная метка %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")]
    )
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...