【问题标题】:how to use xlim in pyplot to plot timestamp如何在 pyplot 中使用 xlim 绘制时间戳
【发布时间】:2019-09-30 06:31:42
【问题描述】:

我正在尝试使用 pyplot 绘制时间戳。我想将 x 轴上的时间戳限制在 df 中时间戳数据列的所需范围内。我不知道该怎么做。

我尝试使用带有 pandas 时间戳选项的 xlim 来设置限制,但它不起作用。数据框中时间戳的数据类型为 datetime64。


   plt.xlim((pd.Timestamp(x[0:1]['Time']), pd.Timestamp(x[35:36]['Time'])

得到的输出是:

TypeError:无法转换输入 [0 2017-01-01 06:00:00 Name: Time, dtype: datetime64[ns]] 类型为 Timestamp

预期结果是:

在 x 轴上,我想要从特定时间戳到取自同一 df 的另一个特定时间戳的刻度。

【问题讨论】:

  • 什么不起作用?你得到什么作为输出?由于您似乎是 Stack Overflow 的新手,您应该阅读How to create a Minimal, Complete, and Verifiable example
  • 您是否只想设置轴限制,而不考虑刻度位置? dtype 是您的 'Time' 列吗?
  • @Sheldore ,现在我已经编辑过了。请看是否可以理解。谢谢你的建议。
  • @cripcate 它是 datetime64。我也想定义刻度线位置。我正在一步一步地学习它。
  • 你能试试plt.xlim(x['Time'][0],x['Time'][35])吗?

标签: python matplotlib


【解决方案1】:

matplotlib可以处理datetime64对象,不需要转换成Timestamp,所以可以使用:

plt.xlim(x['Time'][0],x['Time'][35])

出于可读性原因,您也可以只写例如[35],而不是 [35:36],因为您只需要一个对象而不是一个范围。

如果您想知道转换失败的原因,您可以向我们展示x['Time'][0]x['Time'][35] 的值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-20
    • 2021-11-23
    • 2019-03-03
    • 2017-02-19
    • 1970-01-01
    • 1970-01-01
    • 2023-04-05
    • 1970-01-01
    相关资源
    最近更新 更多