在 ggplot2 中绘制白天(没有日期)
Plotting daytime (without date) in ggplot2
我想在 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))
有没有办法完全去掉日期,尤其是在绘图轴上?
(我在留言板上找到的所有信息似乎都指的是旧版本的 ggplot,现在参数已经失效 date_format)
可以给scale_x_datetime()
的labels
参数提供一个函数或者使用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"))
编辑:或者,您可以使用 date_label
参数(感谢 aosmith for the )更简洁。
ggplot(dat, aes(daytime, y)) + geom_point() +
scale_x_datetime(date_label = "%H:%M")
我想在 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))
有没有办法完全去掉日期,尤其是在绘图轴上? (我在留言板上找到的所有信息似乎都指的是旧版本的 ggplot,现在参数已经失效 date_format)
可以给scale_x_datetime()
的labels
参数提供一个函数或者使用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"))
编辑:或者,您可以使用 date_label
参数(感谢 aosmith for the
ggplot(dat, aes(daytime, y)) + geom_point() +
scale_x_datetime(date_label = "%H:%M")