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

ggplot坐标轴格式调整与图表对角线绘制问题求助

解决方案:调整ggplot图表格式

修改后的完整代码

ggplot(data, aes(x = Update_Date, y = Milestone_Finish_Date, group = Series)) +
  # 多边形区域:填充白色,取消默认全边框
  geom_polygon(data = data.frame(
    x = c(min(data$Update_Date), max(data$Update_Date), max(data$Update_Date), min(data$Update_Date)),
    y = c(min(data$Milestone_Finish_Date), min(data$Milestone_Finish_Date), max(data$Milestone_Finish_Date), min(data$Milestone_Finish_Date)),
    Series = rep("", 4)
  ), aes(x = x, y = y, fill = Series), alpha = 1, color = NA, show.legend = FALSE) +
  # 单独绘制需要保留的边框(示例为底边,如需其他边修改坐标即可)
  geom_segment(aes(x = min(data$Update_Date), xend = max(data$Update_Date),
                   y = min(data$Milestone_Finish_Date), yend = min(data$Milestone_Finish_Date)),
               color = "grey", lwd = 1.1) +
  # 折线与点层
  geom_line(aes(color = Series), show.legend = TRUE, lwd = 1) +
  geom_point(size = 1, show.legend = FALSE) +
  # 添加1:1黑色对角线
  geom_abline(slope = 1, color = "black", lwd = 1) +
  # 标签与主题设置
  labs(title = "Milestone Trend Analysis Chart",
       x = "Update Date",
       y = "Milestone Finish Date") +
  theme_minimal() +
  theme(legend.position = "top") +
  guides(color = guide_legend(title = "Series")) +
  scale_fill_manual(values = "white") +
  # 修正X/Y轴年月显示格式
  scale_x_date(date_labels = "%m/%Y") +
  scale_y_date(date_labels = "%m/%Y")

关键改动说明

  • 轴格式修正:
    原代码误用%M(代表分钟),改为%m(代表月份);同时添加scale_y_date同步设置Y轴的年月显示,确保双轴格式统一。

  • 多边形边框调整:

    1. 将geom_polygon的color设为NA,取消默认的四边边框
    2. 用geom_segment单独绘制需要保留的单条边框,灵活控制显示哪一条
  • 添加1:1对角线:
    通过geom_abline(slope = 1)绘制x=y的对角线,适配日期类型轴的1:1对应关系,设置黑色粗线匹配预期效果。


内容的提问来源于stack exchange,提问作者tim

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 11:43:20