gpt4 book ai didi

r - 为什么我的等高线图的范围如此之小?

转载 作者:行者123 更新时间:2023-12-04 10:14:40 24 4
gpt4 key购买 nike

我试图在 R 中绘制多个正态分布的密度,我的代码如下

set.seed(123)
x<-seq(-20,20,by=0.1)
y<-seq(-20,20,by=0.1)
n=length(x)
zz<-matrix(0,n,n)
for(i in 1:n){
for(j in 1:n){
zz[i,j]=exp(-x[i]^2/10-y[j]^2/5-2*0.3*x[i]*y[j]/(50^0.5))
}
}
contour(x,y,zz,nlevels =10)

情节看起来像
enter image description here

我的问题是为什么范围看起来这么小,大部分区域是空白的。
我希望等高线图覆盖更广阔的区域,例如我为 xlim 和 ylim 设置的范围。

最佳答案

级别决定了要绘制的范围,在您的示例中,当您远离中心时,z 值非常小:

barplot(colMeans(zz))

enter image description here

如果您查看默认创建的级别:
pretty(range(zz), 20)
[1] 0.00 0.05 0.10 0.15 0.20 0.25 0.30 0.35 0.40 0.45 0.50 0.55 0.60 0.65 0.70
[16] 0.75 0.80 0.85 0.90 0.95 1.00

我不太熟悉你需要使用这个图来做什么,所以希望下面的内容有意义。

要覆盖更广的区域,您需要扩展级别以覆盖较低的值:
RN = quantile(zz,prob=c(0.5,1))
N = 10

contour(x,y,zz,nlevels=N,
levels=exp(pretty(log(RN), 10)))

enter image description here

关于r - 为什么我的等高线图的范围如此之小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61137196/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com