更改数据帧后的空间绘图错误

时间:2013-06-30 18:28:35

标签: r plot spatial

我使用以下代码成功绘制空间图:

colours<-(brewer.pal(7, "Blues"))
brks<-classIntervals(EDdata2$SIRt, n=7, style="fixed",fixedBreaks=c(0,1,2,5.0,10.0,20,50,120))
plot(brks, pal=colours)
brks<-brks$brks
plot(EDdata2, col=colours[findInterval(EDdata2$SIRt, brks,
                             all.inside=TRUE)], axes=F, border=FALSE)

但是我对spatialpolygonsdataframe EDdata2进行了一些更改,添加了一些额外的列并更改了SIRt的计算方式(但它仍然是一列数字 - 它们的计算方式不同)

现在,当我尝试运行绘图代码时,我得到了一个错误,尽管没有对绘图代码进行任何更改:

Error in plot.default(...) : formal argument "axes" matched by multiple actual arguments

这是怎么回事?

1 个答案:

答案 0 :(得分:1)

这意味着您用于创建EDdata2的未命名包的包作者为任何类plot都定义了EDdata2方法,它们都使用了axes参数并且还使用三点机制将参数传递给plot.default而不过滤掉该参数。 (这确实表明软件包作者并不真的希望您创建自己的轴,因此您应该调查plot.whatever的帮助页面以查看它是否提供了一种机制来传递您要用于的值'在'和'标签'。)你需要自己做spadework(或编辑你的答案,使其更完整和可重复)进行调查。

如果此代码在包中使用了SpatialPolygons类的plot方法:sp则则axis的默认值已经为FALSE。

help("SpatialPolygons-class", package="sp")

当然可以通过将“F”定义为“FALSE”以外的其他内容然后使用axes=F来搞清楚这一点。在当前实例中,从调用中删除该参数可能更简单。