r - 如何为多个参数值绘制一个具有一个变量的函数?
问题描述
下午好 !
我有以下变量 n 的功能:
P(n) = 1-(1-p)^n
- p 是区间 [0 , 1] 中的参数
我想在同一个图中用几个 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))
这给出了:
问题 :
我正在寻找一种优雅的方式来为 p=seq(0,1,0.1) 内的所有值绘制此函数 plot 。我想删除外推效果(我想完全删除
pch
符号,该图包含不同颜色的曲线并且没有外推段的效果)。我希望我的问题很清楚。
提前感谢您的帮助!
解决方案
您可以使用outer
and 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)
推荐阅读
- javascript - 用另一个数组中相应位置的数字替换数字数组中的零
- networking - 外部 ips 应该如何在 OpenShift (4.x) 中工作?
- amazon-web-services - 在同一区域内使用预签名 URL 将文件从 S3 下载到 EC2 的成本
- android - 将缩略图设置为“VideoView”的 Android 代码
- javascript - JavaScript 中的调用堆栈优先级
- javascript - Vuex中未定义的ReferenceError
- c# - 尝试获取模板绑定样式以更新背景颜色
- javascript - 如何让机器人对媒体消息(png、mp4 等)做出反应?
- cpu-architecture - 具有两个以上分支目标的指令的 CPU
- spring - 使用 DirtiesContext 注释重新加载 Spring 应用程序不适用于嵌套类