当我使用条形图绘制小时数据时,条形图被X点的X轴刻度线除以。数据对应于6-7点,7-8点,依此类推。 我希望每个小节都从x点开始而不是从x-0:30分钟开始。
代码示例:
install.packages("nycflights13")
library(nycflights13)
data <- flights %>% select(time_hour, hour) %>%
mutate(flightdate = floor_date(time_hour, "day")) %>%
filter(flightdate == as_date("2013-01-01")) %>% group_by(flightdate,hour) %>% tally() %>%
mutate(flightdatetime = as_datetime(paste(flightdate + hours(hour)))) %>%
select(flightdatetime,n)
ggplot() +
geom_col(aes(x=flightdatetime, y = n),
data = data, color = "black", fill = "black") +
ggplot2::scale_x_datetime(labels = date_format("%H:%M", tz = "Europe/Berlin"), date_breaks = "1 hour") +
theme_minimal() + labs(title ="Flights per hour")
答案 0 :(得分:0)
如何?
ggplot() +
geom_bar(aes(x=flightdatetime, y = n),stat="identity",
data = data, color = "black", fill = "black") +
ggplot2::scale_x_datetime(labels = date_format("%H:%M", tz = "Europe/Berlin"), date_breaks = "1 hour", expand=c(0, .9)) +
theme_minimal() + labs(title ="Flights per hour") +
theme(axis.text.x = element_text(hjust=1.5))
我使用theme(axis.text.x = element_text(hjust=1.5))
将标签向左移动,并使用expand=c(0, .9)
内的scale_x_datetime
切割了第一和最后一个轴标签。
您可以玩这两个,看看是否合适。