当轴为日期时间时,为什么不在 plotly go.Bar() 中偏移工作?

问题描述 投票:0回答:1

使用

go.Bar()
可以传递一个偏移参数,该参数在组内移动条形图的位置(barmode 设置为“覆盖”以用于具有偏移量的轨迹)。

当 x 轴为数字时,这可以正常工作: 但当 x 轴为日期时间格式时似乎不起作用:

这是错误还是功能?偏移量可以与日期时间轴一起使用吗?

import plotly.graph_objects as go
import datetime
from datetime import timedelta
import pandas as pd
from random import random

# generage a datetime index

dates = [datetime.date(2022,10,10) + timedelta(x) for x in range(10)] # datetime index
# dates = range(10) # a list of int; uncomment to see offset 

fig = go.Figure()

for i in range(3):
    s = pd.Series(
        [5*(random()-0.5) for x in range(len(dates))], # random values
        index = dates
    )

    fig.add_trace(
        go.Bar(
            x = s.index,
            y = s,
            offset = 0.15*(i-1),  # has no effect with datetime index
        )
    )

fig.show()
plotly plotly-python
1个回答
0
投票

偏移量以轴单位给出。

当轴是datetime类型时,显然单位是纳秒(1ns = 1e-9秒)

所以要注意偏移量,您应该相应地调整偏移量。

如果你设置

offset = 1e7*(i-1), 
width = 2e7 # also in axis units 

你得到:

© www.soinside.com 2019 - 2024. All rights reserved.