作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想在填充轮廓中绘制一些经纬度数据,然后在顶部覆盖全局 map 。我正在尝试这样的事情:
filled.contour(lons, lats, glb.data,
plot.axes={axis(1);axis(2);map(projection='rectangular',parameters=0,add=T)}
)
filled.contour(lons, lats, glb.data,
plot.axes={axis(1);axis(2);map(projection='rectangular',x=lons,y=lats,parameters=0,add=T)}
)
最佳答案
好的。对于任何关心的人,我有一个答案。也许不是最好的答案,而是一个答案。问题是有两种常用的方式来表示纬度和经度:度数和弧度。还有第三种常用的表示经度的方法:本地时间,即时区时间一般化为浮点数。然后,为了让生活更有趣,经度通常被指定为 -180(东)到 180(西)或 0 到 360。
现在,当您尝试显示 map 时,R 会根据 map 包的内部结构自动选择显示的纬度单位。如果您在一组单位中工作,但 R 想要在另一组中显示 map ,您会遇到麻烦。另一个问题是不同的 map 投影要以不同的单位显示。正如我所发现的,“默认”投影喜欢度数;它希望显示在一个绘图矩形中,经度限制为 -180 到 180,纬度限制为 -90 到 90。但是,“矩形”投影虽然看起来很像默认投影,但它喜欢弧度;它希望显示在一个将 -pi 拉伸(stretch)到 pi(经度)和 -pi/2 到 pi/2(纬度)的矩形中。这些绘图限制在 ?mapproject 中根本没有讨论。
所以这就是你需要做的:
1)确定您想要的 map 投影,然后确定它的绘制范围:
> map(projection=foo,parameters=foo)
> par('usr') # will return vector of plot limits
filled.contour(lons, lats, glb.data)
filled.contour(lons, lats, glb.data,
plot.axes={axis(1,...);axis(2,...);map(projection=foo,parameters=foo,add=T)})
filled.contour(lons, lats, glb.data,
plot.axes={axis(1,...);axis(2,...);par(usr=c(-180,180,-90,90));
map(add=T)})
filled.contour(lons, lats, glb.data,
plot.axes={axis(1,...);axis(2,...);
par(usr=c(0,360,-90,90));map(add=T); #eastern hemisphere
par(usr=c(-360,0,-90,90));map(add=T)} #western
)
关于r - 如何在R语言中将全局 map 覆盖在填充轮廓上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11891908/
我是一名优秀的程序员,十分优秀!