R语言ggplot2绘图中如何缩小Y轴文本、扩大绘图区域尺寸
ggplot2 图表调整实现方法
调整方向
- 缩小Y轴文本字号:直接通过
theme()的轴文本参数控制Y轴标签尺寸,从根源上减少大字号文本对左侧画布的占用 - 扩大核心绘图区域:在缩小Y轴字号的基础上,压缩图表四周的冗余留白,把更多画布空间留给散点展示区
调整后可直接运行的代码
df5 %>% pivot_longer(-Varsta, names_to = "qnum") %>% left_join(questions2, by = "qnum") %>% ggplot(aes(value, qtxt2)) + geom_point(aes(color = Varsta)) + labs(x = NULL, y = NULL) + scale_x_continuous(limits = c(1, 5)) + theme( # 控制Y轴文本字号,可根据实际展示效果在6-10区间调整size数值 axis.text.y = element_text(size = 8), # 压缩四周边距,参数顺序为上、右、下、左,单位为厘米 plot.margin = unit(c(0.3, 0.3, 0.3, 0.3), "cm") )
进阶优化提示
- 若仍觉得绘图区域空间不够,可以把年龄分组的图例从右侧默认位置移到绘图区内部,通过代码
theme(legend.position = c(0.85, 0.15))实现,省去图例占用的右侧边距空间 - 如果Y轴的问题文本单行太长,可配合
axis.text.y = element_text(lineheight = 0.8)压缩行高,在不增加边距占用的前提下优化长文本的可读性
注意:如果代码运行提示unit函数未识别,提前加载grid包即可解决
内容的提问来源于stack exchange,提问作者Paul Cuc
相关产品推荐
相关产品推荐

