You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 16:39:02