我想用水平条创建一个时间线图。我尝试了以下代码:
import plotly.graph_objects as go
fig = go.Figure()
fig.add_trace(go.Bar(
y=['AndOn'],
x=["22-07-01 00:00:8"],
name='SF Zoo',
orientation='h',
legendgroup="group1",
marker=dict(
color='rgba(246, 78, 139, 0.6)',
line=dict(color='rgba(246, 78, 139, 1.0)', width=1)
)
))
fig.add_trace(go.Bar(
y=['AndOn'],
x=["22-07-01 00:00:18"],
name='LA Zoo',
legendgroup="group2",
orientation='h',
marker=dict(
color='rgba(58, 71, 80, 0.6)',
line=dict(color='rgba(58, 71, 80, 1.0)', width=1)
)
))
fig.add_trace(go.Bar(
y=['AndOn'],
x=["22-07-01 00:00:5"],
name='SF Zoo',
legendgroup="group1",
orientation='h',
marker=dict(
color='rgba(246, 78, 139, 0.6)',
line=dict(color='rgba(246, 78, 139, 1.0)', width=1)
)
))
fig.update_layout(barmode='stack')
fig.show()X轴中的日期时间显示不正确。一种解决方案是像使用px.timeline()一样使用[this]答案。但我不想用巧妙的表达方式。如何使用图形对象来完成这个任务?另外,我也不想使用不推荐的图形工厂
发布于 2022-08-17 09:09:09
我想这是条形图中的错误。它会与y轴中的日期混淆(如果是水平条,则与x混淆)。不管怎么说,我用散点图解决了这个问题。
import plotly.graph_objects as go
fig = go.Figure()
fig.add_trace(go.Scatter(y=[0,0],x=["2022-07-15 12:00:08","2022-07-15 12:00:18"],mode="lines",line=dict(color="red",width=100)))
fig.add_trace(go.Scatter(y=[0,0],x=["2022-07-15 12:00:18","2022-07-15 12:00:22"],mode="lines",line=dict(color="green",width=100)))
fig.add_trace(go.Scatter(y=[0,0],x=["2022-07-15 12:00:22","2022-07-15 12:00:25"],mode="lines",showlegend=False,line=dict(color="red",width=100)))
fig.update_layout(yaxis_range=[0,0])
fig.show()https://stackoverflow.com/questions/73282225
复制相似问题