ggplot2:如何更改 tick/grid 行的位置以与数据中的日期对齐
ggplot2: How to change position of tick/grid lines to align with dates in data
我正在尝试绘制一些数据,其中我的 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-09,例如)。有没有办法更改网格线出现的日期?
非常感谢!
将 scale_x_date
中的 breaks
设置为您想要的 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))
我正在尝试绘制一些数据,其中我的 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-09,例如)。有没有办法更改网格线出现的日期?
非常感谢!
将 scale_x_date
中的 breaks
设置为您想要的 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))