我试图使用循环绘制少量图形。我现在详细描述。
首先,我有一个计算y变量的函数(垂直轴称为effect
)
effect<- function (x, y){
exp(-0.35*log(x)
+0.17*log(y)
-0.36*sqrt(log(x)*log(y)/100))
}
现在我运行以下代码并使用par选项绘制同一图表中的线条。我使用axis=FALSE
和xlab=""
来获取没有标签的情节。我这样做,以便每次循环运行时都不会重写我的标签,看起来很难看。
for (levels in seq(exp(8), exp(10), length.out = 5)){
x = seq(exp(1),exp(10), length.out = 20)
prc= effect(levels,x)
plot(x, prc,xlim = c(0,max(x)*1.05), ylim=c(0.0,0.3),
type="o", xlab = "",ylab = "", pch = 16,
col = "dark blue", lwd = 2, cex = 1, axes = F)
label = as.integer(levels) #x variable
text(max(x)*1.03,max(prc), label )
par(new=TRUE)
}
最后,我这次使用xlab
和ylab
选项复制了绘图命令
plot(x, prc, xlab = "X-label", ylab = "effect",
xlim = c(0,max(x)*1.05), ylim = c(0,0.3),
type="l", col ='blue')
我使用复杂的方程在类似的行中有其他几个图。我有两个问题:
答案 0 :(得分:0)
我认为使用情节功能是单调乏味且耗时的。所以,我终于使用了ggplot2进行绘图。在线提供了一些帮助,我已经使用过了。