在R中使用ggplot更改时间轴的标签

在R中使用ggplot更改时间轴的标签,r,datetime,ggplot2,time,time-series,R,Datetime,Ggplot2,Time,Time Series,我相信这是一个相对简单的修复方法,但我无法用我的一生来理解它。我正试图绘制一个日期和时间信息的散点图。以下是一些示例代码: library(tidyverse) library(lubridate) library(hms) time <- c("19:36:00", "18:20:00", "17:59:00", "17:22:00", "17:23:00") date <- c(

我相信这是一个相对简单的修复方法,但我无法用我的一生来理解它。我正试图绘制一个日期和时间信息的散点图。以下是一些示例代码:

library(tidyverse)
library(lubridate)
library(hms)

time <- c("19:36:00", "18:20:00", "17:59:00", "17:22:00", "17:23:00")
date <- c("10-05-2019", "25-01-2019", "13-04-2019", "22-07-2019", "05-12-2019")

data <- data.frame(time = as_hms(as_datetime(time, format = "%H:%M:%S", tz = "America/Los_Angeles")), date = parse_date_time(date, "dmy", tz = "America/Los_Angeles"))

data %>% 
  mutate(time = as.POSIXct(time)) %>% 
  ggplot() +
  geom_point(aes(x = date, y = time)) +
  scale_y_datetime(
    breaks = scales::date_breaks("1 hour"),
    date_labels = "%l %p"
  )
库(tidyverse)
图书馆(lubridate)
图书馆(hms)

时间您可以在
scale\u y\u datetime
中设置
限制:

library(dplyr)
library(ggplot2)

data %>% 
  mutate(time = as.POSIXct(time, format = "%T"), 
         date = as.Date(date, "%d-%m-%Y")) %>%
  ggplot() +
  geom_point(aes(x = date, y = time)) +
  scale_y_datetime(
     breaks = scales::date_breaks("1 hour"),
     date_labels = "%l %p",
     limits = c(as.POSIXct("16:00:00", format = "%T"),
                as.POSIXct("22:00:00", format = "%T")))

数据

time <- c("19:36:00", "18:20:00", "17:59:00", "17:22:00", "17:23:00")
date <- c("10-05-2019", "25-01-2019", "13-04-2019", "22-07-2019", "05-12-2019")
data <- data.frame(time, date)
时间