首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么我的等高线图范围这么小?

为什么我的等高线图范围这么小?
EN

Stack Overflow用户
提问于 2020-04-10 09:11:05
回答 1查看 73关注 0票数 2

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

代码语言:javascript
运行
复制
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)

情节看起来就像

我的问题是,为什么它的范围看起来这么小,大部分区域是空白的。我要等高线图覆盖更荒野的区域,像我为xlim和ylim设置的范围。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-10 13:06:23

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

代码语言:javascript
运行
复制
barplot(colMeans(zz))

如果您查看默认创建的级别:

代码语言:javascript
运行
复制
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

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

为了覆盖更广泛的领域,您需要扩展级别以覆盖较低的值:

代码语言:javascript
运行
复制
RN = quantile(zz,prob=c(0.5,1))
N = 10

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61137196

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档