簡體   English   中英

如何 plot 一個 function 一個變量用於多個參數值?

[英]How to plot a function with one variable for several parameter values?

下午好 !

我有以下變量 n 的 function:

P(n) = 1-(1-p)^n 
  • p 是區間 [0, 1] 中的參數

我想要 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 的曲線並且沒有外推段的影響)。

  • 我希望我的問題很清楚。

    提前感謝您的幫助!

您可以使用outermatplot 、更多 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM