【问题标题】:Adjust x ticks for a hour column of a dataframe in plotly在 plotly 中调整数据框的一小时列的 x 刻度
【发布时间】:2021-09-21 00:45:07
【问题描述】:

Plotted using Autoplotter in jupyter where hours are in countsplot of Timestamp Vs Temp

我有一个 csv 文件,其中包含一个名为 hours 的列。在 plotly 中为线图绘制 x 轴时,它以计数的形式表示,例如

0K、50K、…………..250K。频率好像是1

有没有办法根据时间戳调整刻度?

提前谢谢..

【问题讨论】:

  • 这是否意味着小时是一个连续的数字,即 240 实际上是 10 天?
  • 嗨,罗伯。我有一个名为 hous 的列:小时范围为 9-18 小时。我在 jupyter 中使用了一个名为 Autoplotter 的破折号。在那里,我得到了 0K、50 K 的小时数。
  • 嗨,罗伯。我有一个名为 hous 的列:小时范围为 9-18 小时。我在 jupyter 中使用了一个名为 Autoplotter 的破折号。在那里,我得到了 0K、50 K 的小时数。现在在编写代码时,我可以实现实际的小时值,但线条是直的。我没有达到一个合适的情节。

标签: python graph plotly linegraph xticks


【解决方案1】:
  • 您描述的时间范围为 250k,因此模拟了相同的
  • 您可以简单地将其转换为自纪元以来的纳秒数以使用时间戳轴
  • 在同一个图上绘制了两个 x 轴以进行演示
import plotly.graph_objects as go
import pandas as pd
import numpy as np
import plotly.express as px

df = pd.DataFrame(
    {
        "hours": range(1, 250 * 10 ** 3 + 1, 100),
        "value": np.linspace(1, 10, 2500) * np.random.uniform(0.9, 1.1, 2500),
    }
)
px.line(df, x="hours", y="value").update_traces(name="raw", showlegend=True).add_trace(
    go.Scattergl(
        x=(df["hours"] * 60 * 60 * 10 ** 9).astype("datetime64[ns]"),
        y=df["value"] + 2,
        name="epoch",
        xaxis="x2",
    )
).update_layout(xaxis2={"anchor": "y", "domain": [0.0, 1.0], "side": "top"})

【讨论】:

  • 嗨@Rob Raymond。非常感谢您的回复。我真的很感谢你的努力。我只是有一个小问题,所以在我的数据集中,小时列的范围从 3 小时到 24 小时。该轴将是 x 轴和 y 轴,我将绘制电压和温度。只是为了重新构建我的问题:我正在尝试使用 plotly 绘制折线图。但是,当我在 x 轴上绘制小时列时,尽管显示了实际小时列,但它向我显示的计数为 0 K、50K、……。 250 K.
  • 提供一些示例代码和数据。我看不出任何单位的 24 小时是 250k
猜你喜欢
  • 2019-01-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-15
  • 1970-01-01
  • 2012-10-05
  • 1970-01-01
相关资源
最近更新 更多