![](/img/trans.png)
[英]How to plot several curves of the same variable for different values of a parameter using R?
[英]How to plot a function with one variable for several parameter values?
下午好 !
我有以下變量 n 的 function:
P(n) = 1-(1-p)^n
我想要 plot 這一維 function 在同一個 plot 內具有多個 p 值:
p=seq(0 , 1 , 0.1 )
所以我嘗試了 p=0.1 和 p=0.9:
p=0.1
n <- seq(0, 100, 8) ; y <- 1-(1-p)^n
plot(n , y ,pch= 21,type = "o", col = "red", xlab = "n-values", ylab = "P(n) values ", main = "P(n)= 1-(1-p)^n ")
p=0.9
lines(n , 1-(1-p)^n , type="o", pch=16 , col="blue")
legend(60 , 0.4, c("p=0.1","p=0.9"), cex=0.7, col=c("red", "blue"),pch=c(21, 16))
這給出了:
問題:
我正在尋找一種優雅的方式來 plot 這個 function 對於同一 Z32FA6E1B78A9D4028953E60564A2A4AC 中的所有 p=seq(0,1,0.1) 值。 我想刪除外推效應(我想完全刪除pch
符號,該圖包含具有不同 colors 的曲線並且沒有外推段的影響)。
我希望我的問題很清楚。
提前感謝您的幫助!
您可以使用outer
和matplot
、更多 x 值和合適的配色方案:
n <- seq(0, 100, length.out=200)
p <- seq(0.1, 1, 0.1)
f <- function(n, p) 1-(1-p)^n
M <- outer(n, p, "f")
col <- hcl.colors(length(p), "Spectral")
matplot(n, M, type = "l", col = col, lty = 1)
legend("bottomright", legend = p, col = col, lty = 1)
另一種簡單的方法是更換
lines(n , 1-(1-p)^n , type="o", pch=16 , col="blue")
和
p = seq(0,1,0.1)
invisible(lapply(p, function(i) {lines(n, 1-(1-i)^n, type="o", col=i*10)}))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.