还不如让猫从袋子里出来,说我已经尝试了大约一天来弄清楚当我要求plot一个类的对象时发生了什么SpatialPolygons*。我的直觉是寻找适用plot.SpatialPolygonsDataFrame于我见过和遇到的任何其他示例的方法,但这失败了。
快速示例:
美国各州的 .shp 文件在此处。
library(maptools)
us.states<-readShapePoly("cb_2014_us_state_5m.shp")
plot(us.states)
有点笨拙,但无论如何——关键是一个简单的调用plot和某个深处的某个地方R知道调用哪个方法,以便为我们提供所有形状的表示。
在搜索了一下之后,我尝试了各种 SO Q&As 建议的其他两种方法,首先是:
> methods(plot)
[1] plot.aareg* plot.acf*
[3] plot,ANY,ANY-method plot.cox.zph*
[5] plot.data.frame* plot.decomposed.ts*
[7] plot.default plot.dendrogram*
[9] plot.density* plot.ecdf
[11] plot.factor* plot.formula*
[13] plot.function plot.hclust*
[15] plot.histogram* plot.HoltWinters*
[17] plot.isoreg* plot.lm*
[19] plot.medpolish* plot.mlm*
[21] plot.ppr* plot.prcomp*
[23] plot.princomp* plot.profile.nls*
[25] plot.raster* plot.shingle*
[27] plot,SpatialGrid,missing-method plot,SpatialLines,missing-method
[29] plot,Spatial,missing-method plot,SpatialPixels,missing-method
[31] plot,SpatialPoints,missing-method plot,SpatialPolygons,missing-method
[33] plot.spec* plot.spline*
[35] plot.stepfun plot.stl*
[37] plot.survfit* plot.table*
[39] plot.times* plot.trellis*
[41] plot.ts plot.tskernel*
[43] plot.TukeyHSD* plot.xyVector*
[45] plot.zoo*
答案似乎在插槽 27-32 中;然而,每一个后面都有一个令人烦恼的逗号!没有提到这是可能的?methods并且?plot,SpatialPolygons,missing-method是一个错误。快速搜索missing-method没有任何用处,并且在?methods.
好的; 继续。怎么样getS3method?getMethod? getMethods? getAllMethods??
> getS3method("plot","SpatialPolygonsDataFrame")
Error in getS3method("plot", "SpatialPolygonsDataFrame") :
S3 method 'plot.SpatialPolygonsDataFrame' not found
> getMethod("plot","SpatialPolygonsDataFrame")
Error in getMethod("plot", "SpatialPolygonsDataFrame") :
no method found for function 'plot' and signature SpatialPolygonsDataFrame
后两者已被弃用并且也不返回任何内容。
显然,这些功能只是我第一直觉的替代品。
那么现在怎么办?我如何知道plot在传递 a 时调用了哪个方法SpatialPolygonsDataFrame?是否有任何通用方法可以取代我上面使用的方法来解决这个问题?
编辑:
我偶然发现了这个(= ?`Spatial-Polygons-class` ),上面写着:
空间多边形的
plot方法采用以下参数:
但它仍然没有确切地说该方法是什么。
