【问题标题】:R contour and fill contour can't fit togetherR轮廓和填充轮廓不能在一起
【发布时间】:2013-03-22 21:35:55
【问题描述】:

我想画一张全球海面温度的图片,但是在我填充了sst的轮廓后,我尝试在填充的图片上添加counter更宽,然后发生了一些奇怪的事情,这两张图片不能放在一起 这是代码,因为我没有空间放原始数据,所以使用了一个随机数

这里是代码

library(maps)

ee<-array(rnorm(89*180),dim=c(89,180))

lati <- seq(-90,90,length=89) #Latitudes goes from -90 to 90 as far as I know :)
long <- seq(-180,180,length=180)
plot(NA, xlim=c(-180,180), ylim=c(-90,90), xlab="", ylab="", xaxs="i", yaxs="i")
contour(long, lati, t(ee), add=TRUE)
filled.contour(long,lati,t(ee), color.palette=terrain.colors)
maps::map(database="world", fill=TRUE, col="light blue", add=TRUE)

如我们所见,填充图片的位置与原始数据不对应 比如唯一的轮廓图

有什么问题?

终于对不起我的英语不好了,谢谢大家

【问题讨论】:

    标签: r contour


    【解决方案1】:

    您可以在filled.contour 帮助页面中阅读以下内容:

    由‘filled.contour’产生的输出实际上是一个组合 两个地块;一个是填充轮廓,一个是图例。二 为这两个图设置了单独的坐标系,但它们 仅在内部使用 - 一旦函数返回这些 坐标系丢失。如果要注释主轮廓 绘图,例如添加点,可以在中指定图形命令 “plot.axes”参数。请参阅示例。

    因此,尝试将此应用于您的示例,您可以执行以下操作:

    library(maps)
    ee<-array(rnorm(89*180),dim=c(89,180))
    lati <- seq(-90,90,length=89) #Latitudes goes from -90 to 90 as far as I know :)
    long <- seq(-180,180,length=180)
    draw.map <- function() {maps::map(database="world", fill=TRUE, col="light blue", add=TRUE)}
    filled.contour(long,lati,t(ee), color.palette=terrain.colors, plot.axes=draw.map())
    

    这给出了:

    【讨论】:

    • 谢谢 juba 作为新来的我很高兴你能帮我解决所有这些问题
    • 不客气,欢迎来到 Stack Overflow。如果我的回答解决了你的问题,你可以勾选绿色标记,让其他用户知道。但您也可以等待其他可能更好的答案。
    • 好的,但我的名声太低,做不到我会尽力做我擅长的事情,例如 FORTRAN 或气象学
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-01
    • 2022-01-24
    • 2021-03-17
    • 1970-01-01
    • 2014-11-26
    • 1970-01-01
    相关资源
    最近更新 更多