R:调整图中的线条粗细

时间:2015-10-05 21:07:42

标签: r graph plot

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进行比较,看起来很不错。但为什么第一行显得那么厚呢?我怎么能改变这个?

1 个答案:

答案 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)