如何在 hh:mm 中绘制时间?
How to plot chron times in hh:mm?
我试图将时间绘制为 hh:min
或 hh:min:ss
。但是当我使用 chron 包(它将时间值恢复为一天的一小部分)时,ggplot 不知道如何自动为时间类型的对象选择比例,所以它使用连续来绘制数据。部分数据样本:
> x$Time
[1] 00:00:00 00:15:00 00:30:00 00:45:00 01:00:00 01:15:00 01:30:00 01:45:00 02:00:00
[10] 02:15:00 02:30:00 02:45:00 03:00:00 03:15:00 03:30:00 03:45:00 04:00:00 04:15:00
> x$Total
[1] 1 4 0 0 4 0 0 0 0 0 0 0 0 0 0 0
[17] 0 0 0 0 2 0 0 0 0 0 0 0 2 0 7 9
[33] 27 87 143 251 1263 1797 2074 2171 16 2542 2924 3194 3185 3274 3282 3362
ggplot(aes(x = x$Hora, y = x$Sum_C.Total), data = x) + geom_point()
这给出了一个图表,其中 Y 轴有效,但 X 轴是从 0 到 1 的值(因为我所有的时间数据都是从 00:00:00
到 24:00:00
)。我如何转换时间值中一天的一小部分,以便 ggplot 可以将其绘制为 hh:mm:ss
或 hh:mm
?
PS:我试过这个解决方案 (),但它不允许我使用 "%02d:00"
格式。
不知道下面是不是你想要的。如果不是,就这么说,我会删除这个答案。
首先读入你的 Time
向量并组成一些 Total
。
Time <- scan(what = character(), text =
"00:00:00 00:15:00 00:30:00 00:45:00 01:00:00 01:15:00 01:30:00 01:45:00 02:00:00
02:15:00 02:30:00 02:45:00 03:00:00 03:15:00 03:30:00 03:45:00 04:00:00 04:15:00")
set.seed(1)
Total <- cumsum(rnorm(length(Time)))
现在看图表。我将创建一个包含 class "times"
列的 data.frame
,然后将其缩短,没有秒,用于情节。
library(chron)
Time <- chron(times. = Time)
x <- data.frame(Hora = Time, Sum_C.Total = Total)
Hr <- sub(":00$", "", as.character(x$Hora))
ggplot(data = cbind(x, Hr), aes(x = Hr, y = Sum_C.Total)) +
geom_point()
在我的屏幕监视器上,我必须最大化图形 window 以使 x 轴标签不叠加。
我试图将时间绘制为 hh:min
或 hh:min:ss
。但是当我使用 chron 包(它将时间值恢复为一天的一小部分)时,ggplot 不知道如何自动为时间类型的对象选择比例,所以它使用连续来绘制数据。部分数据样本:
> x$Time
[1] 00:00:00 00:15:00 00:30:00 00:45:00 01:00:00 01:15:00 01:30:00 01:45:00 02:00:00
[10] 02:15:00 02:30:00 02:45:00 03:00:00 03:15:00 03:30:00 03:45:00 04:00:00 04:15:00
> x$Total
[1] 1 4 0 0 4 0 0 0 0 0 0 0 0 0 0 0
[17] 0 0 0 0 2 0 0 0 0 0 0 0 2 0 7 9
[33] 27 87 143 251 1263 1797 2074 2171 16 2542 2924 3194 3185 3274 3282 3362
ggplot(aes(x = x$Hora, y = x$Sum_C.Total), data = x) + geom_point()
这给出了一个图表,其中 Y 轴有效,但 X 轴是从 0 到 1 的值(因为我所有的时间数据都是从 00:00:00
到 24:00:00
)。我如何转换时间值中一天的一小部分,以便 ggplot 可以将其绘制为 hh:mm:ss
或 hh:mm
?
PS:我试过这个解决方案 ("%02d:00"
格式。
不知道下面是不是你想要的。如果不是,就这么说,我会删除这个答案。
首先读入你的 Time
向量并组成一些 Total
。
Time <- scan(what = character(), text =
"00:00:00 00:15:00 00:30:00 00:45:00 01:00:00 01:15:00 01:30:00 01:45:00 02:00:00
02:15:00 02:30:00 02:45:00 03:00:00 03:15:00 03:30:00 03:45:00 04:00:00 04:15:00")
set.seed(1)
Total <- cumsum(rnorm(length(Time)))
现在看图表。我将创建一个包含 class "times"
列的 data.frame
,然后将其缩短,没有秒,用于情节。
library(chron)
Time <- chron(times. = Time)
x <- data.frame(Hora = Time, Sum_C.Total = Total)
Hr <- sub(":00$", "", as.character(x$Hora))
ggplot(data = cbind(x, Hr), aes(x = Hr, y = Sum_C.Total)) +
geom_point()
在我的屏幕监视器上,我必须最大化图形 window 以使 x 轴标签不叠加。