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

R语言drc包绘图问题:x轴首两个数据点间存在过大间隙

解决drc包绘图时x轴0与10数据点间的间隙问题

问题原因

你遇到的间隙问题,本质是drc包默认的线性x轴刻度会优先覆盖大跨度的浓度范围(0到500),导致低浓度区间(0、10)的刻度稀疏,视觉上显得间隙过大。手动叠加刻度的方式没有替换默认轴,因此无法解决问题。

解决方案1:手动定制线性坐标轴

通过关闭默认坐标轴,手动指定包含低浓度值的刻度点,让0和10的位置有明确刻度,消除视觉间隙:

# 拟合三参数log-logistic模型
hatch <- drm(ha_.~leachate, data=data, fct = LL.3())

# 绘制曲线时不显示默认坐标轴
plot(hatch,
     xlim=c(0,500),
     ylim=c(0,100),
     xlab="Leachate Concentration (%)",
     ylab="Hatch Rate (%)", 
     col = color1,
     axes = FALSE)
# 添加置信区间
plot(hatch, type="confidence", col = color1, add=TRUE)

# 手动绘制x轴,包含0、10等低浓度刻度
axis(1, at = c(0, 10, 25, 50, 75, 100, 200, 300, 400, 500))
# 绘制y轴
axis(2)
# 补画图形边框
box()

解决方案2:使用对数x轴(推荐)

LL.3是log-logistic模型,这类模型在对数x轴上的曲线更平滑,能更好展示低浓度区间的细节,同时压缩高浓度区间的冗余空间:

hatch <- drm(ha_.~leachate, data=data, fct = LL.3())

# 绘制带对数x轴的曲线(注意对数轴不能包含0,故xlim从0.1开始)
plot(hatch,
     xlim=c(0.1,500),
     ylim=c(0,100),
     xlab="Leachate Concentration (%)",
     ylab="Hatch Rate (%)", 
     col = color1,
     log = "x")
# 添加置信区间
plot(hatch, type="confidence", col = color1, add=TRUE)

# 可选:手动设置对数轴刻度,适配你的数据
axis(1, at = c(1, 10, 50, 100, 200, 500))

如果必须在对数轴上显示0点,可以在绘图后用points(0, predict(hatch, newdata=data.frame(leachate=0)))手动添加。

内容的提问来源于stack exchange,提问作者Miranda Jackson

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 02:57:47