RStudio中ggplot绘制箱线图时修改线条尺寸不生效问题求助
问题原因与解决方法
核心错误点
你将固定尺寸参数size写入了ggplot()的美学映射函数aes()内部,这是导致线条/散点尺寸异常的根本原因。
aes()的核心功能是将数据集中的变量映射到图形属性,当你把固定数值size=0.5放在aes()中时,ggplot会将该数值识别为一个需要做映射的常量变量,自动套用默认的尺寸缩放规则,最终渲染出的尺寸会远大于你输入的设定值,且所有继承全局美学映射的图层(误差线、箱线、散点)都会受该错误映射的影响。
解决方法
- 如果你需要为所有继承全局属性的图层设置统一的固定线条粗细,只需将
size参数从aes()中移出,作为ggplot()的直接参数即可,修改后的起始代码如下:
ggplot(ParameterEstimates, aes(x = Substance, y = Betas, color = Substance), size = 0.5)+
- 如果你需要分别调整不同图层的线条/元素尺寸,可将
size参数单独添加到对应图层的函数中,互不干扰:- 调整箱线线条粗细:
geom_boxplot(outlier.shape=NA, size = 0.8) - 调整误差线线条粗细:
stat_boxplot(geom='errorbar', width = 0.5, position=position_dodge(), size = 0.5) - 调整散点大小:
geom_point(position=position_jitterdodge(), size = 1)
- 调整箱线线条粗细:
- 额外提示:当前代码中的散点使用
geom_jitterdodge()生成,如果你不需要散点大小跟随箱线线条粗细变化,建议单独为geom_point()设置size参数,避免尺寸冲突。
内容的提问来源于stack exchange,提问作者swassey
相关产品推荐
相关产品推荐

