如何在R语言中用gamlss将两组第50百分位数曲线合并绘图?
合并gamlss两组第50百分位生长曲线到同一图的解决方案
要将男女两组的第50百分位生长曲线合并到同一图中,核心是利用centiles()函数的add=TRUE参数实现曲线叠加,具体步骤如下:
- 绘制第一组(男孩)的曲线作为基础图,统一设置坐标轴标签和总标题:
centiles(mboys, dataa$Age, cent=50, ylab="Berat Badan (kg)", xlab="Usia (tahun)", lwd.centiles = 2.5, col.centiles = "red", lty.centiles = 1, main = "Kurva Pertumbuhan Berat Badan Anak")
- 叠加第二组(女孩)的曲线,通过
add=TRUE参数指定在已有图上绘制:
centiles(girlsmodel, girlsbhh$Age, cent = 50, lwd.centiles = 2.5, col.centiles = "black", lty.centiles = 1, add = TRUE)
- 添加图例区分两组曲线:
legend("topleft", legend = c("Anak Laki-laki", "Anak Perempuan"), col = c("red", "black"), lty = 1, lwd = 2.5, bty = "n") # 去掉图例边框,可选
额外提示
- 如果两组的年龄范围差异较大,可在绘制基础图时通过
xlim参数设置统一的x轴范围,例如xlim=c(0, 18) - 可根据需求调整图例位置(如"bottomright"、"topright")、颜色和线型,提升图的可读性
内容的提问来源于stack exchange,提问作者oktavianu
相关产品推荐
相关产品推荐

