prob_fun = function(n)
{
dat = c(1 - phyper(14, (0.01*9999999999), 9999999999-0.01*9999999999, n),
1 - phyper(14, (0.02*9999999999), 9999999999-0.02*9999999999, n),
1 - phyper(14, (0.03*9999999999), 9999999999-0.03*9999999999, n),
1 - phyper(14, (0.04*9999999999), 9999999999-0.04*9999999999, n),
1 - phyper(14, (0.05*9999999999), 9999999999-0.05*9999999999, n))
dat
}
data = sapply(1:2000, prob_fun)
plot(data[1,], ylim = c(0, 1))
lines(data[2,], lwd = 3)
我绘制了data[1,]
,但为什么这条线看起来比应该的那么厚(因为默认的lwd
应该= 1
?)。我将data[2,]
标记为lwd = 3
进行比较,看起来很不错。但为什么第一行显得那么厚呢?我怎么能改变这个?
答案 0 :(得分:1)
你用点数绘制了数以万计(OK,只有2000)的连续值,所以"粗线"实际上只是一堆重叠点。尝试
plot(data[1,], ylim = c(0, 1), type="l")
("l"
适用于"行&#34 ;;您可以使用lty=...
,col=...
或lwd=...
之外的其他内容来区分这两行
这是对您的代码进行更清晰的重新制定:
prob_fun <- function(n,s=9999999999) {
v <- (1:5)/100
phyper(14, v*s, (1-v)*s, n, lower.tail=FALSE)
}
data <- t(sapply(1:2000, prob_fun))
matplot(data,type="l",lty=1)