如何在ggplot2中将y轴年积日的刻度标签修改为月-日格式?
你可以通过scale_y_continuous()的labels参数自定义y轴刻度的显示格式,将年积日转换为月-日格式,需要借助lubridate包处理日期转换,修改后的完整代码如下:
library(dplyr) library(ggplot2) library(lubridate) df %>% ggplot(aes(x = year, y = day, col = upwelling, group = upwelling)) + geom_point() + geom_line() + geom_smooth() + scale_x_continuous(breaks = c(1982, 1990, 1995, 2000, 2005, 2010, 2015, 2020)) + # 新增y轴标签转换逻辑 scale_y_continuous( labels = function(x) { # 选择平年作为基准计算月日即可,不影响显示结果 as.Date(x, origin = "2023-01-01") %>% format("%m-%d") } )
如果你的数据中存在年积日为366的闰年场景,把基准年替换为闰年即可,例如将origin参数改为"2020-01-01",避免日期转换报错。
内容的提问来源于stack exchange,提问作者Howard Baik
相关产品推荐
相关产品推荐

