我使用以下代码成功绘制空间图:
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
这是怎么回事?
答案 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
来搞清楚这一点。在当前实例中,从调用中删除该参数可能更简单。