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

R语言绘制对称相交曲线及标注交点技术求助

解决思路与实现步骤

1. 调整函数参数,做出对称曲线

你现在画的曲线不对称,问题出在两条函数的增长/衰减速率和值域完全不匹配:

  • 蓝色曲线exp(-0.1x)从x=0的1,一路衰减到x=50的几乎0;
  • 红色曲线exp(0.014x)-1从x=0的0,到x=50才增长到约0.1,幅度差太多,自然不对称。

要做出示例图的对称效果,得让两条曲线的值域范围一致,且变化速率匹配。最简单的方式是调整红色曲线的参数,让它的终点值和蓝色曲线的起点值对应(比如都到1):

调整参数后的基础代码

I0 <- log(1)
b <- 0.1
# 计算d值,让x=50时红色曲线刚好到1
d <- log(2)/50  

curve(exp(I0 - b * x), 0, 50, col = "blue", lwd = 2, ylim = c(0,1))
curve(exp(d * x) - 1, 0, 50, add = TRUE, col = "red", lwd = 2)

如果想要更完美的镜像对称,直接用镜像函数就行:

b <- 0.1
# 蓝色曲线:从1衰减到0
curve(exp(-b*x), 0, 50, col="blue", lwd=2, ylim=c(0,1))
# 红色曲线:从0增长到1,和蓝色完全镜像
curve(1 - exp(-b*x), 0, 50, add=TRUE, col="red", lwd=2)

2. 找交点,画指示箭头

要加箭头,得先算出两条曲线的交点坐标:

  • 要是用上面的镜像函数,直接解方程就能得到:x=log(2)/b,y=0.5;
  • 要是用自定义函数,就用uniroot来求解:
# 定义两条曲线的差值函数,找差值为0的x
find_intersection <- function(x) {
  exp(I0 - b*x) - (exp(d*x) - 1)
}

# 求解交点的x值
intersect_x <- uniroot(find_intersection, interval=c(0,50))$root
# 代入任意一条曲线得y值
intersect_y <- exp(I0 - b*intersect_x)

# 用arrows画箭头,调整参数控制位置和样式
arrows(intersect_x - 10, intersect_y + 0.2, intersect_x, intersect_y, 
       lwd=1.5, length=0.1, col="black")
arrows(intersect_x + 10, intersect_y - 0.2, intersect_x, intersect_y, 
       lwd=1.5, length=0.1, col="black")

3. 完整可运行代码

# 设置参数
b <- 0.1
d <- log(2)/50
I0 <- log(1)

# 绘制曲线,指定y轴范围避免截断
curve(exp(I0 - b * x), 0, 50, col = "blue", lwd = 2, ylim = c(0,1), xlab="X轴", ylab="Y轴")
curve(exp(d * x) - 1, 0, 50, add = TRUE, col = "red", lwd = 2)

# 求解交点
find_intersection <- function(x) {
  exp(I0 - b*x) - (exp(d*x) - 1)
}
intersect_x <- uniroot(find_intersection, interval=c(0,50))$root
intersect_y <- exp(I0 - b*intersect_x)

# 绘制指向交点的箭头
arrows(intersect_x - 8, intersect_y + 0.15, intersect_x, intersect_y, 
       lwd=1.5, length=0.1, col="black")
arrows(intersect_x + 8, intersect_y - 0.15, intersect_x, intersect_y, 
       lwd=1.5, length=0.1, col="black")

# 可选:添加交点标注
text(intersect_x, intersect_y + 0.08, "交点", cex=0.8)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 19:52:42