在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)
时间