R:调整绘图中的线厚度

R:调整绘图中的线厚度,r,graph,plot,R,Graph,Plot,我绘制了数据[1,],但是为什么这条线看起来比它应该的厚那么多(因为默认的lwd应该=1?)。我将数据[2,]与lwd=3进行了比较,结果看起来很好。但是为什么第一行看起来那么粗呢?我该如何改变这一点呢?您正在用点绘制大量(好的,只有2000个)连续值,因此“粗线”实际上只是一堆重叠点。试一试 prob_fun = function(n) { dat = c(1 - phyper(14, (0.01*9999999999), 9999999999-0.01*9999999999, n),

我绘制了
数据[1,]
,但是为什么这条线看起来比它应该的厚那么多(因为默认的
lwd
应该
=1
?)。我将
数据[2,]
lwd=3
进行了比较,结果看起来很好。但是为什么第一行看起来那么粗呢?我该如何改变这一点呢?

您正在用点绘制大量(好的,只有2000个)连续值,因此“粗线”实际上只是一堆重叠点。试一试

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)
“l”
表示“行”;您可以使用
lty=…
col=…
或除
lwd=…
之外的其他方法来区分这两行)

下面是对代码的更清晰的重新表述:

plot(data[1,], ylim = c(0, 1), type="l")
prob\u fun
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)