You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言绘制DTG图时如何拟合添加高斯平滑曲线

R多坐标轴组合图添加DTG高斯平滑曲线实现方案

核心逻辑:base R绘图中plot()调用会重置坐标系参数,不要在DTG图层绘制完成后再次调用plot(),直接用lines()在当前激活的DTG坐标系下叠加提前计算好的平滑曲线即可。

实现步骤

  • 提前计算DTG序列的高斯平滑值,避免绘图过程中坐标系错乱
  • 按原有逻辑绘制三层曲线,DTG层plot()执行完成后直接叠加平滑线
  • 按需调整平滑参数、线条样式即可

完整可运行代码

# --------------------------
# 第一步:预处理DTG平滑值
# --------------------------
# 按温度升序整理DTG数据,避免平滑后曲线乱序
dtg_df <- data.frame(
  temp = data2$Program_Temperature[order(data2$Program_Temperature)],
  dtg = data2$new[order(data2$Program_Temperature)]
)
# 高斯核平滑计算,bandwidth为带宽,值越大曲线越光滑,按需调整
dtg_gauss_smooth <- ksmooth(
  x = dtg_df$temp,
  y = dtg_df$dtg,
  kernel = "normal",
  bandwidth = 5 # 初始参考值,根据实际平滑效果调整
)

# --------------------------
# 第二步:多坐标轴叠图
# --------------------------
par(mar=c(5, 12, 4, 4) + 2)
# 图层1:未扣减重量(左侧第一轴)
plot(data2$Program_Temperature, data2$Unsubtracted_Weight, type = 'l', col = 2,
     xlab = 'Program_Temperature', ylab = 'Unsubtracted_Weight')

# 图层2:未扣减热流(右侧轴)
par(new = TRUE)
# 注意:原代码此处x变量写为data$Program_Temperature,建议统一用data2对应列避免序列错位
plot(data2$Program_Temperature, data2$Unsubtracted_Heat_Flow, type = 'l', col = 3,
     axes = FALSE, xlab = "", ylab = "", lty = 2)
axis(side = 4, at = pretty(range(data2$Unsubtracted_Heat_Flow)))
mtext("Unsubtracted_Heat_Flow", side = 4, line = 2)

# 图层3:DTG(左侧第二轴)
par(new = TRUE)
plot(data2$Program_Temperature, data2$new, type = 'l', col = 4,
     axes = FALSE, xlab = "", ylab = "", lty = 3)
# 叠加DTG高斯平滑曲线,不要重新调用plot()
lines(dtg_gauss_smooth$x, dtg_gauss_smooth$y, col = "darkorange", lwd = 2)
axis(side = 2, at = pretty(range(sort(data2$new))), line = 5)      
mtext("DTG", side = 2, line = 7)

# 可选:添加图例区分曲线
legend("topright",
       legend = c("未扣减重量", "未扣减热流", "原始DTG", "DTG高斯平滑"),
       col = c(2, 3, 4, "darkorange"),
       lty = c(1, 2, 3, 1),
       lwd = c(1, 1, 1, 2),
       bty = "n")

调参注意事项

  • 平滑带宽bandwidth根据数据温度间隔调整:曲线过毛刺就增大数值,平滑过度丢失峰形特征就减小数值
  • 如果需要做多峰高斯拟合而非核平滑,替换ksmooth部分为nls多高斯模型的预测值即可,叠加逻辑完全一致
  • 所有图层x轴变量尽量统一来自同一个数据框的温度列,避免温度序列长度、排序不一致导致的曲线错位

原绘图参考效果:
多坐标轴组合图参考效果

内容的提问来源于stack exchange,提问作者Samedov Hadiyyatullah

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 11:24:15