希望这是一个简单的问题,但我使用filled.contour()在R中做了一个简单的数字。它看起来很好,并且在给定数据的情况下应该是什么样的。但是,我想沿轮廓添加一个参考线为0(水平= 0),并且绘制的线与fill.contour图上的颜色不匹配。线条很近,但与图形不匹配(并最终穿过fill.contour图中的另一个轮廓)。任何想法为什么会发生这种情况?
aa <- c(0.05843150, 0.11300040, 0.15280030, 0.183524400, 0.20772430, 0.228121000)
bb <- c(0.01561055, 0.06520635, 0.10196237, 0.130127650, 0.15314544, 0.172292410)
cc <- c(-0.02166599, 0.02306650, 0.05619421, 0.082193680, 0.10334837, 0.121156780)
dd <- c(-0.05356592, -0.01432910, 0.01546647, 0.039156660, 0.05858709, 0.074953650)
ee <- c(-0.08071987, -0.04654243, -0.02011676, 0.000977798, 0.01855881, 0.033651089)
ff <- c(-0.10343798, -0.07416114, -0.05111547, -0.032481132, -0.01683215, -0.003636035)
gg <- c(-0.12237798, -0.09753544, -0.07785126, -0.061607548, -0.04788856, -0.036169540)
hh <-rbind(aa,bb,cc,dd,ee,ff,gg)
z <- as.matrix(hh)
y <- seq(0.5,1.75,0.25)
x <- seq(1,2.5,0.25)
filled.contour(x,y,z,
key.title = title(main=expression("log"(lambda))),
color.palette = topo.colors) #This works
contour(x,y,z, level=0,add=T,lwd=3) #This line doesn't match plot
答案 0 :(得分:1)
?filled.contour
帮助页面完全回答了这一问题。在Notes部分中说明了
filled.contour产生的输出实际上是两个图的组合;一个是填充轮廓,一个是图例。为这两个图设置了两个独立的坐标系,但它们仅在内部使用 - 一旦函数返回,这些坐标系就会丢失。如果要注释主轮廓图,例如添加点,可以在plot.axes参数中指定图形命令。参见示例。
该帮助页面中给出的示例显示了如何在主图上添加注释。在这种特殊情况下,正确的方法是
filled.contour(x,y,z,
key.title = title(main=expression("log"(lambda))),
color.palette = topo.colors,
plot.axes = {
axis(1)
axis(2)
contour(x,y,z, level=0,add=T,lwd=3)
}
)
产生