嗨,我有一個 R 中出現的問題。
我無法處理 y 軸,即小時:分鐘格式。
這是代碼示例。
library("data.table")
library("ggplot2") #load library
time <- c("00:05", "06:57","19:00","23:10","00:32","15:00","01:30","03:20") #time data
class <- c("Math", "Eng", "History","Math", "Eng", "History","Math", "Eng") #Course data
day <- c("1/21","1/21","1/21","1/21","1/22","1/22","1/23","1/23") #day data
df <- data.frame(time, class, day) #dataframe
df$time = as.POSIXct(df$time, format = "%H:%M") #make char to time format
pic <- ggplot(df, aes(x = class, y=df$time))
scale_y_datetime(date_breaks = "1 hour")
facet_grid(. ~ day) #draw picture, break time in 1 hour
pic
如果我畫這個圖,那么 Y 軸有年、月和日。我試圖通過 as.POSIXct 擦除年月日的格式,但沒有奏效。
此外,時間限制不是從 00:00 到 24:00,而是從 1/20 23:00 到 1/22 00:00
我不知道如何找出它的解決方案。
uj5u.com熱心網友回復:
結合 IanCampbell 的提及date_labels=并將其更改為labels=使用
注意格式化字串中的空格:" %H:%M". 這是因為一個硬編碼的假設format.myPOSIX:小時是存在的,并且在它之前有一個空格,在它之后有一個冒號。我可以將功能修復為更強大,但是......也許現在這已經足夠了。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/420826.html
標籤:
上一篇:R-如何修改圖例?
