【问题标题】:Plotly Python format Time Axis to HH:MM issuesPlotly Python 格式时间轴到 HH:MM 问题
【发布时间】:2022-11-09 04:26:35
【问题描述】:

我尝试了很多东西,但是 plotly 上的 X 轴,它包含熊猫数据框中 HH:MM:SS 格式的时间不想改变。

我尝试了以下方法:

  • 试图将数据框列的数据类型更改为 pydatetime
  • 将 pydates 添加到列表并应用 strftime 和 '%Y-%m-%d %H:%M:%S'(稍后转换)和 '%H:%M:%S'
  • 在 fig.update_xaxes 中尝试了带有 tickformat="%H:%M" 的基本内容 - 方法
  • 和 tickformat='%H:%M' in fig.update_layout - xaxis 参数的方法(也带有字典)
  • 也试过这个:fig.layout['xaxis_tickformat'] = "%H:%M"
  • 还尝试使用 "%H:%M" 将日期应用于 strftime,但这些值是一种聚合类型(或仅选择特定分钟的一个值)

结果会发生变化:有时所有数据点都会消失(它们位于左角或右角),如果它们没有消失,则 x 轴会显示 15:23:01 的值。

下面是我的方法的代码 sn-p:

pd.options.plotting.backend = "plotly"

dates = pd.to_datetime(dataframe.Time, format='%H:%M:%S')

dates = dates.dt.to_pydatetime()
datelist = []
for date in dates:
    date = datetime.datetime.strftime(date, '%Y-%m-%d %H:%M:%S')
    datelist.append(date)
# dates['Time'] = pd.Series(dates, dtype=object)

# dates = dates.apply(lambda x: x.strftime('%H:%M:%S'))
print(dataframe.Time)

print(dates)
df = dataframe
# also tried here with x = dataframe.Time with same results
fig = px.line(df, x=datelist, y=["Foo1", "Foo2"], title='Foo')

# changing Y-Axis ticks to 10 minutes
fig.update_xaxes(tickangle=45,
                 # type="date",
                 tickmode='array',
                 tickformat="%H:%M",
                 tickvals=df["Time"][0::600])

fig.update_layout(
    title="Foo", title_x=0.5,
    xaxis_title="Time",
    xaxis=dict(
        tickformat='%H:%M'
    ),
    # xaxis_tickformat = "%H:%M",
    yaxis_title="<i>g</i>",
    legend_title="Sensor",
    font=dict(
        family="Courier New, monospace",
        size=50,
        color="RebeccaPurple"
    )
)

# fig.layout['xaxis_tickformat'] = "%H:%M"

fig.show()

我希望你能帮助我,因为我按照情节网站上的说明进行了搜索,但情节的东西似乎很少见。

在此先感谢,如果需要,我可以提供更多信息。

【问题讨论】:

    标签: python datetime plotly


    【解决方案1】:

    我一直在研究同样的问题,并尝试了一些与您相同的方法,但似乎没有任何效果。 tick0 和 dtick 如文档中所述工作,但时间值忽略了 tickformat。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-28
      • 1970-01-01
      • 1970-01-01
      • 2021-05-10
      • 2021-12-19
      • 1970-01-01
      • 2011-01-23
      • 2023-03-10
      相关资源
      最近更新 更多