如何在R中绘制locfit对象时修改线条宽度?
解决locfit绘图线条宽度无效的问题
locfit的plot.locfit方法不会直接接收lwd参数并应用到拟合曲线上,所以直接在plot()里传lwd不会生效。这里提供两种可行的解决办法:
方法一:提取拟合数据手动绘制
先从locfit对象中提取拟合的x、y值,再用基础绘图的lines()函数指定线条宽度:
# 生成拟合对象 fit <- locfit::locfit(~rnorm(n = 1000)) # 获取拟合的坐标数据 x_data <- fit$x y_data <- fit$y # 绘制空坐标系(匹配数据范围) plot(range(x_data), range(y_data), type = "n", xlab = "x", ylab = "Fitted Value") # 绘制指定宽度的拟合曲线 lines(x_data, y_data, lwd = 2.0)
方法二:临时修改全局绘图参数
通过par()函数临时设置全局线条宽度,绘图完成后再恢复原有设置:
# 保存当前的线条宽度设置 old_lwd <- par("lwd") # 设置新的线条宽度 par(lwd = 2.0) # 绘制locfit拟合图 plot(locfit::locfit(~rnorm(n = 1000))) # 恢复原有的线条宽度 par(lwd = old_lwd)
内容的提问来源于stack exchange,提问作者João Carvalho
相关产品推荐
相关产品推荐

