如何调整ggalt包geom_xspline函数的线条宽度?
解决geom_xspline线条宽度无法调整的问题
你的问题出在错误地将线条宽度放在aes()中设置。aes()用于映射数据变量到图形属性,而非设置固定样式值。你添加的aes(lwd = 2)会把线条宽度当作离散变量处理,导致线条异常加粗且无法正常调整。
正确实现方式
直接在geom_xspline()内部使用size(或lwd)参数设置固定线条宽度,取值在1到1.5之间即可:
AÑO <- seq(2005,2024, by = 1) PIA_increase <- c(-30501,24337, -23296,12718,314, 14499, 86065, -54206,66258, 20795, 20901, 107653, -8149 , 91357 , 152 ,-58815 , 0, 229997, 378 ,204403 ) Congreso_1 <- data.frame(AÑO, PIA_increase) library(ggalt) ggplot(Congreso_1, aes(AÑO,PIA_increase))+ geom_point(color = "red")+ # 直接在geom层内设置size参数,取值1-1.5 geom_xspline(position = "identity", spline_shape=-0.4, color = "red", size = 1.2)+ theme(panel.background = element_rect(fill = "white"))
关键说明
- 固定样式属性(如线条宽度、颜色)不应放在
aes()中,需直接作为geom层的参数传入。 geom_xspline同时支持size和lwd参数控制线条宽度,两者效果一致,推荐使用size(符合ggplot2统一规范)。
内容的提问来源于stack exchange,提问作者Teco Jesús
相关产品推荐
相关产品推荐

