使用 for 循环绘制不同的颜色

问题描述

我是 R 新手,我一直在尝试绘制 4 条不同颜色的指数曲线。我想知道如何使用 for 循环来实现。

par(mfrow = c(2,2))
colors<-rainbow(4)
parameters <- c(10,.25,1,6)
for(lambda in parameters){ 
curve(dexp(x,lambda),3,main = bquote(lambda ==.(lambda)),font.main = 1,xlab = "x",ylab = "f(x)",col=colors[lambda])
}

解决方法

您正在传递参数值以索引颜色对象。通常,在 for 循环中使用 1:n 整数是一种很好的做法。

试试这个:

for(lambda in seq_along(parameters)){ 
   curve(dexp(x,parameters[lambda]),3,main = bquote(parameters[lambda] ==.(parameters[lambda])),font.main = 1,xlab = "x",ylab = "f(x)",col=colors[lambda])
}