R 使用qplot/ggplot2设置y轴格式以绘制一天中的时间

R 使用qplot/ggplot2设置y轴格式以绘制一天中的时间,r,ggplot2,R,Ggplot2,我有许多数据条目,它们有两个属性,一个是时间(24小时格式,UTC,没有给出日期),另一个是包含数据类型的字符串 我想可视化每个类型的条目沿时间轴的分布 考虑以下示例代码: library(ggplot2) time <- c("22:12", "11:04", "00:04", "23:45", "12:04", "16:33") type <- c("Foo", "Bar", "Foo", "Foo", "Foo", "Bar") data <- data.frame(

我有许多数据条目,它们有两个属性,一个是时间(24小时格式,UTC,没有给出日期),另一个是包含数据类型的字符串

我想可视化每个类型的条目沿时间轴的分布

考虑以下示例代码:

library(ggplot2)

time <- c("22:12", "11:04", "00:04", "23:45", "12:04", "16:33")
type <- c("Foo", "Bar", "Foo", "Foo", "Foo", "Bar")

data <- data.frame(time, type)

qplot(data$type, strptime(data$time, "%H:%M")) +
  scale_y_datetime(date_breaks="1 hour", date_labels="%H:%M") + xlab("Type") + ylab("Time")
库(ggplot2)

时间由于
缩放:::date_format
默认采用UTC,我看不出如何通过
缩放y_datetime
更改此参数,最简单的解决方案可能是指定使用UTC,无论您的实际时区如何

qplot(data$type, strptime(data$time, "%H:%M", tz = "UTC")) +
  scale_y_datetime(date_breaks="1 hour", date_labels="%H:%M", expand = c(0,0)) +
  xlab("Type") + ylab("Time")

如果去掉
scale\u y\u datetime
,我认为它绘图正确(但现在也显示了日期),以便尝试将时间变量格式从factor更改为POSIXct.timezone问题。刻度:::日期\格式默认采用UTC谢谢您的回答!使用代码可以正确显示点,但y轴仍显示错误的范围(23.00、00.00、01.00、…、23:00、00:00)。你知道如何解决这个问题吗?