ggplot绘制时间序列时x轴日期范围异常如何调整?
问题解决方法
这个异常是ggplot2的scale_x_date()函数默认配置导致的:
- 函数默认会在x轴两端添加比例留白扩展,额外的留白会显示出数据范围外的2020年刻度
- 首尾的留白也会挤占首年2007标签的显示空间,导致标签被隐藏
直接修改scale_x_date()的对应参数即可解决问题,修改后的完整代码如下:
p2 <- ggplot(DB1) + geom_line(aes(x = Periodo, y = Participacion*100)) + scale_y_continuous("Participación (%)", position = "right") + scale_x_date(name = "Año", date_breaks = "year", date_labels = "%Y", # 取消x轴两端默认留白,避免无数据的年份显示 expand = c(0, 0), # 锁定x轴范围为数据集的实际起止日期,进一步避免超出范围的刻度生成 limits = c(min(DB1$Periodo), max(DB1$Periodo))) + theme_cowplot()
如果调整后仍存在2007年标签被画布边缘裁切的问题,额外添加x轴标签对齐配置即可:
p2 + theme(axis.text.x = element_text(hjust = 0.5))
内容的提问来源于stack exchange,提问作者Franco Riottini
相关产品推荐
相关产品推荐

