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

如何在R中调整x轴尺寸提升可读性?ggplot绘图优化问题

R ggplot2分面用电量柱状图x轴显示优化方案

以下是可直接复用的优化方案,按需选择即可:

方案1:自定义x轴刻度间隔(优先推荐)

你当前x轴为30分钟间隔的时间值,默认会展示全部48个刻度导致拥挤,可通过scale_x_continuous设置固定间隔展示刻度,比如每2小时展示1个刻度:

electric_cons %>%
  group_by(day_of_week, Hour) %>%
  summarise(AvgUnits = mean(Unit), .groups = "drop") %>%
  ggplot() + 
  geom_bar(aes(x = Hour, y = AvgUnits, fill = AvgUnits), stat = "identity") + 
  # 新增:设置x轴刻度每2小时显示1个,可自行修改breaks的步长
  scale_x_continuous(breaks = seq(0, 23, by = 2), name = "Time") +
  facet_wrap(.~day_of_week) + 
  theme(axis.text.x = element_text(angle=90, vjust=1, hjust=1)) + 
  ggtitle("Average Consumption of electricity during a day", subtitle = "Consumption recorded in every 30 minutes - Weekly ") + 
  ylab("Average units consumed")

方案2:正确实现坐标轴翻转

之前使用coord_flip无效大概率是添加位置错误,将其加入图层链即可实现翻转,x轴转为纵向展示后空间更充足:

electric_cons %>%
  group_by(day_of_week, Hour) %>%
  summarise(AvgUnits = mean(Unit), .groups = "drop") %>%
  ggplot() + 
  geom_bar(aes(x = Hour, y = AvgUnits, fill = AvgUnits), stat = "identity") + 
  facet_wrap(.~day_of_week) + 
  # 新增坐标轴翻转
  coord_flip() +
  # 翻转后原x轴变为y轴,调整文本为水平显示更易读
  theme(axis.text.y = element_text(size = 9)) + 
  ggtitle("Average Consumption of electricity during a day", subtitle = "Consumption recorded in every 30 minutes - Weekly ") + 
  xlab("Time") + 
  ylab("Average units consumed")

方案3:调整分面排版增加宽度

将分面改为单列纵向排列,每个分面的横向宽度更大,可容纳更多x轴刻度:

electric_cons %>%
  group_by(day_of_week, Hour) %>%
  summarise(AvgUnits = mean(Unit), .groups = "drop") %>%
  ggplot() + 
  geom_bar(aes(x = Hour, y = AvgUnits, fill = AvgUnits), stat = "identity") + 
  # 修改分面为单列排列
  facet_wrap(.~day_of_week, ncol = 1) + 
  theme(axis.text.x = element_text(angle=90, vjust=1, hjust=1)) + 
  ggtitle("Average Consumption of electricity during a day", subtitle = "Consumption recorded in every 30 minutes - Weekly ") + 
  xlab("Time") + 
  ylab("Average units consumed")

额外优化建议

如果需要导出高清大图,可在代码末尾加上ggsave语句自定义图片尺寸,进一步放大刻度显示效果:

# 单位为英寸,可按需调整尺寸
ggsave("electric_consumption.png", width = 18, height = 10, dpi = 300)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 08:24:05