geom_pointrange绘图线条宽度不随设置变化的问题求助
解决geom_pointrange线条无法加粗的问题
问题出在参数对应关系上,不同版本的ggplot2对线条宽度的控制参数不一样,按以下方式调整:
情况1:使用ggplot2 3.4.0及以上版本
从3.4.0版本开始,ggplot2拆分了size和linewidth参数:
linewidth:专门控制误差线(竖线+横向短线)的粗细size:控制点的大小,若同时设置fatten,点的实际大小为linewidth * fatten
修改后的代码:
ggplot(data, aes(x = xvar, ymin = ymin, y = yvar, ymax = ymax)) + geom_pointrange( shape = 21, linewidth = 2, # 调整这个值来加粗线条,数值越大越粗 fatten = 0.75, position = position_dodge(width = 0.5), color = "#5a2c76" )
情况2:使用ggplot2 3.4.0以下版本
旧版本没有linewidth参数,用size控制线条粗细,点的大小由size * fatten决定:
修改后的代码:
ggplot(data, aes(x = xvar, ymin = ymin, y = yvar, ymax = ymax)) + geom_pointrange( shape = 21, size = 2, # 调整这个值来加粗线条 fatten = 0.75, position = position_dodge(width = 0.5), color = "#5a2c76" )
注意
width参数是控制横向短线的长度,不是粗细,调整它不会改变线条宽度- 如果设置了
fatten,新版本中单独调整size不会直接改变点的大小,需要配合linewidth一起调整
内容的提问来源于stack exchange,提问作者Thornwell
相关产品推荐
相关产品推荐

