ggplot中日期型x轴如何使用其他变量的值作为刻度标签?
问题原因
你之前的写法不生效是因为scale_x_date()的labels参数不属于ggplot的美学映射体系,不能放在aes()中调用数据框列,且直接传入标签向量时必须同时指定对应刻度的位置(breaks参数),否则ggplot无法匹配标签和刻度的对应关系。
正确实现代码
df %>% ggplot(aes(x = Updated.On, y = days_to_next_10cr_vacc)) + geom_col() + # 指定刻度位置为数据中的日期值,标签对应cr_bin列的值 scale_x_date(breaks = df$Updated.On, labels = df$cr_bin) + # 可选配置:如果x轴标签拥挤可加此行调整显示角度 theme(axis.text.x = element_text(angle = 45, hjust = 1))
运行上述代码即可在对应日期的刻度位置显示10 Cr、20 Cr等你需要的标签。
内容的提问来源于stack exchange,提问作者ViSa
相关产品推荐
相关产品推荐

