[英]How to change time-order on x-axis?
我對此特定代碼有疑問:
ggplot(MAGS)+
geom_col(aes(x = Photo.time@hour + Photo.time@minute/60, y = Number.of.Animals), lwd = 1) + ylab("total amount") +
scale_x_continuous(breaks = seq(0,24,4), name = "time", labels = c( "0:00", "4:00", "8:00", "12:00", "16:00", "20:00", "23:59")) +
theme_bw() + theme_classic()
scale_y_continuous(breaks = seq(0,10,2), name = "total amount", labels = c( "o","2","4","6","8","10"))
使用此代碼,我創建了附加的 plot。這個 plot 沒問題,但我想如果我更改 x 軸,使其從 12:00pm 開始,中間為 00:00am,並以 11:59am 結束,它看起來會更好。 有點像附件中的 plot 但翻轉了。 數據集來自夜間活動的動物,在午夜左右活動頻繁,因此最好將 00:00 置於 x 軸的中心。 我嘗試了幾件事,但最后總是一團糟。 我不知道我的錯誤在哪里。
非常感謝您的幫助:)
我嘗試了幾種方法來重新排列 x 軸,但找不到問題所在。
我建議制作一個按您想要的方式排序的輔助列——在這種情況下,我在一天的前 12 小時中添加了 24 小時,以使 0:12 出現在 24:36 小時,然后進行調整相應的標簽。
df1 <- data.frame(x = seq(0, 24 - 1/60, 1/60), y = 1:1440)
df1$x_order = df1$x + ifelse(df1$x < 12, 24, 0)
ggplot(df1, aes(x_order, y)) +
geom_col() +
scale_x_continuous(breaks = 12 + seq(0,24,4), name = "time",
labels = c("12:00", "16:00", "20:00", "00:00am", "4:00", "8:00", "12:00"))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.