绘制轨迹的两个耦合轴

时间:2018-12-03 22:36:19

标签: python plotly

我有一个日志文件,其中包含要绘制的数据以及两种类型的时间戳:微秒计数器和更具可读性的时间戳%Y-%m-%dT%H:%M:%S

从日志文件中,我可以将一个微秒值(0对于此日志文件而言是任意的)与日期时间戳相关联,类似于元组(us_value, datetime)

有几个这样的元组,但是一个就足够了,因为我知道计数器的分辨率。

我想在x轴上显示两种时间类型时绘制数据。显然,缩放时两个轴都必须保持“连接”状态。

我研究了multiple axes,不幸的是,这似乎将一条轨迹与一个轴相关联。我想避免创建两条迹线(这需要确保它们完全重叠)。

我可以在Layout中为一条轨迹创建两个连接的轴吗?如果不是干净的话,您将如何破解它?

_

从这里开始,这是我被困住的一个最小例子:

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")]
    )
)

0 个答案:

没有答案