【问题标题】:ggplot python handling time data over many weeks at hourly resolutionggplot python以每小时分辨率处理数周的时间数据
【发布时间】:2016-04-23 14:53:12
【问题描述】:

我正在以每小时分辨率绘制一系列道路的行程时间,其中包含数周内的数据。

我可以使用 unix 时间进行绘图,但这不是很直观。这是 7 天的数据。

我使用了一个函数来操作time 字段以便给出日期和时间:

def plot_time(time):
    return time.strftime('%Y-%m-%d-%H')

但是,这会导致 ggplot 在尝试绘图时抛出值错误:

ValueError: invalid literal for float(): 2016-04-13-00

有没有更简单的方法来显示日期和时间?

或者,我可以在轴上绘制带有日期刻度的 unix 时间,但最好在轴上设置一些小时分辨率。

【问题讨论】:

  • 对于ggplot2,一个易于使用的格式是POSIXct。能否提供时间变量的原始格式?
  • 原始格式为Unix纪元时间。例如1456732801

标签: python ggplot2 python-ggplot


【解决方案1】:

POSIXct 是 bVa 所说的关键。

ggplot(aes(x=as.POSIXct(epoch_time,origin="1970-01-01"),y=lambda)

一旦纪元时间被格式化为POSIXct,就可以使用scale_x_datetime()

我决定了:

+ scale_x_datetime(breaks=date_breaks("1 day"))

【讨论】:

    【解决方案2】:

    我认为scale_date 正是您所需要的。

    【讨论】:

    • 将时间格式化为 POSIXct 很有用。谢谢!
    猜你喜欢
    • 2019-06-21
    • 1970-01-01
    • 2019-01-13
    • 2020-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-17
    相关资源
    最近更新 更多