首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >r:如何打印日间时间的直方图,并以时间为格式,例如13:00在ggvis中。

r:如何打印日间时间的直方图,并以时间为格式,例如13:00在ggvis中。
EN

Stack Overflow用户
提问于 2016-08-24 07:05:49
回答 1查看 191关注 0票数 1

我有一个带有datetime对象的data.frame,从csv文件中读取,并从lubridate包转换为dmy_hm()的datetime对象。我想打印一个与时间分布,独立于日期的直方图。下面是一个已经看上去相当不错的示例:

代码语言:javascript
复制
library(dplyr)
library(ggvis)
library(lubridate)

# Create Example
GESPEICHERT <- c(rep("01/05/2016 15:26",times=10),
                 rep("13/05/2016 00:17",times=5),
                 rep("01/08/2016 12:05",times=10),
                 rep("17/04/1983 23:39",times=5),
                 rep("06/07/2015 09:36",times=10))
INFO <- c(rep("Bla",times=30),rep("Bla Bla",times=10))

df_time <- cbind.data.frame(GESPEICHERT,INFO,stringsAsFactors=FALSE)          

df_time %>%
  mutate(GESPEICHERT = dmy_hm(GESPEICHERT)) -> df_time

# Trying to reduce datetime Object to time
df_time %>%
  mutate(UHRZ_NUM = hour(GESPEICHERT) * 60 + minute(GESPEICHERT)) %>% # Time in Minute Numbers, not necessary
  mutate(GESP_UHRZEIT = format(GESPEICHERT,format="%H:%M")) %>%  # http://stackoverflow.com/questions/9839343/extracting-time-from-posixct
  mutate(GESP_UHRZEIT = as.POSIXct(GESP_UHRZEIT,format="%H:%M")) -> df_time              

# Plot               
df_time %>%
    ggvis(x=~GESP_UHRZEIT) %>% 
    layer_histograms() %>% 
    scale_datetime("x", nice = "minute",label="daytime")

我的x轴有两个问题:

  1. 我希望x轴以15:00的形式显示时间,而不是下午3:00。
  2. 在两边都显示了今天的日期和第二天的日期,因为在我的代码中,我用mutate(GESP_UHRZEIT = format(GESPEICHERT,format="%H:%M"))删除日期,所以它以今天的日期作为日期。我怎么才能摆脱它?(我只能创建一个time对象吗?我可以把它转换成数字,但仍然显示为时间吗?)

如果有人能给我一些建议,我会非常感激的。另一个包,改变数据结构,每一个想法都是受欢迎的。

附加问题:如果有人知道如何使二进制宽度交互(在本例中!),请告诉我。这不是必要的,但对我来说是一个很好的特点。在有数字的情况下,我这样做了,但在datetime对象中没有成功。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-24 07:35:05

只需将格式代码正确的add_axis添加到管道中:

代码语言:javascript
复制
> df_time %>%
     ggvis(x=~GESP_UHRZEIT) %>% 
     layer_histograms() %>% 
     scale_datetime("x", nice = "minute",label="daytime") %>%
     add_axis(type="x",format="%H:%M")

这将给一个只有一个小时的情节:分钟的时间,而不显示任何日子。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39116552

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档