繁体   English   中英

绘制一个圆圈以突出显示曲线在R中的最大值

[英]Draw a circle to highlight a curve's maximum in R

我试图绘制一个小圆圈来突出显示用curve()方法绘制的函数的最大值。 我已经知道了点的坐标,所以没有必要用R计算它们。这是我用来绘制曲线的代码:

curve(expr=exp(-((sum(s1, s2, s3, s4, s10, s599)-x*1599)^2)/
                 (2*1599*x))/sqrt(2*pi*1599*x), xlim=c(0.5, 1.5), 
      xlab=expression("rate"~~"[ "*s^-1*" ]"), ylab="")

我还附上了一对我拥有的和我想做的事情的图像。

我可以绘制的曲线: 在此输入图像描述

带小圆圈的曲线: 在此输入图像描述

我提前感谢你们给予的任何帮助。

洛伦佐

我们可以使用points

例:

curve(x^2)
points(x=.5, y=.25, cex=2, col="red")

在此输入图像描述

或者,更复杂......

v <- curve(-x^2, xlim=c(-1, 1))
points(max(v$y), v$x[which.max(v$y)], cex=2, col=2)

在此输入图像描述

找到最大位置的另一个选项比which.max更精确地使用optimize

y = function(x,s=2000) exp(-((s-x*1599)^2)/(2*1599*x))/sqrt(2*pi*1599*x)
xlim = c(0.5, 1.5)

curve(y, xlim=xlim)

maximum = optimize(y, xlim, maximum = TRUE)
points(maximum$maximum, maximum$objective, col='red')

在此输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM