在ggplot2中绘制白天(没有日期)

时间:2017-03-22 11:53:54

标签: r ggplot2 posixct

我想在ggplot2中散布数字向量与日间时间(%H:%M)。

我理解

as.POSIXct(dat$daytime, format = "%H:%M")

是格式化我的时间数据的方法,但输出向量仍将包含日期(今天的日期)。因此,轴刻度将包括日期(3月22日)。

ggplot(dat, aes(x=as.POSIXct(dat$daytime, format = "%H:%M"), y=y, color=sex)) +
geom_point(shape=15,
position=position_jitter(width=0.5,height=0.5))

image of the plot output

有没有办法彻底摆脱日期,特别是在情节轴上? (我在留言板上找到的所有信息似乎都是指旧版本的ggplot,现在已经不存在date_format参数)

1 个答案:

答案 0 :(得分:3)

您可以为labels的{​​{1}}参数提供函数或使用scale_x_datetime()参数:

date_label

编辑:或者,更简洁一点,您可以使用# create dummy data as OP hasn't provided a reproducible example dat <- data.frame(daytime = as.POSIXct(sprintf("%02i:%02i", 1:23, 2 * (1:23)), format = "%H:%M"), y = 1:23) # plot library(ggplot2) ggplot(dat, aes(daytime, y)) + geom_point() + scale_x_datetime(labels = function(x) format(x, format = "%H:%M")) 参数(感谢aosmithsuggestion)。

date_label

enter image description here