如何解决ggplot2:如何更改刻度线/网格线的位置以与数据中的日期对齐
我试图在x轴是日期的地方绘制一些数据。请参阅下面的示例数据。
Test.Data <- data.frame(weekBeginDate = c("2017-10-21","2017-10-28","2017-11-04","2017-11-11","2017-11-18","2017-11-25","2017-12-02","2017-12-09","2017-12-16","2017-12-23","2017-12-30"),Temperature = sample(1:11))
当我使用以下代码使用ggplot绘制此数据时,将获得以下输出。
Test.Data$weekBeginDate <- as.Date(Test.Data$weekBeginDate)
Test.Data.plot <- ggplot(Test.Data,aes(x = weekBeginDate,y = WeeklyAvg)) +
geom_line(aes(y = Temperature),size=1.25) +
labs(y = "Air Temperature [°C]",x = "Date") +
scale_x_date(date_breaks = "4 weeks",date_minor_breaks = "weeks") +
theme(axis.text.x = element_text(angle = 45,hjust = 1))
如您所见,图表上的刻度线或网格线与数据中使用的日期不一致(例如,图表上标记的日期为2017-11-13和2017-12-11 ,而我希望它们是2017年11月11日和2017年12月9日)。有没有办法更改网格线的显示日期?
非常感谢!
解决方法
将breaks
中的scale_x_date
设置为所需的x值,在这种情况下,这是Test.Data$weekBeginDate
中日期的整个向量:
ggplot(Test.Data,aes(x = weekBeginDate,y = WeeklyAvg)) +
geom_line(aes(y = Temperature),size=1.25) +
labs(y = "Air Temperature [°C]",x = "Date") +
scale_x_date(breaks = Test.Data$weekBeginDate) +
theme(axis.text.x = element_text(angle = 45,hjust = 1))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。