添加点到spplot()

时间:2014-11-27 15:39:40

标签: r

我试图为使用spplot()函数绘制的绘图添加点。 我已经阅读了这个链接,但我还没有解决。

Overplotting two SpatialPolygonsDataFrames with spplot plotting SpatialPointsDataFrame over a SpatialPolygonsDataFrame
http://www.r-bloggers.com/label-placement-with-spplot-and-lattice/

我将kriging的结果存储在名为" k.o"的变量中,我想创建一个带有克里金获得的预测的地图,并添加采取措施的点。 那是我的代码:

stations<-list('sp.points', zone, cex= 1, pch=19, col='black')
prediction_plot<-spplot(k.o["var1.pred"], col.regions=terrain.colors(20), cuts=19, auto.key=list(draw=TRUE),
    asp='iso', colorkey=TRUE, main='Mean temperature prediction: january', sub='Lombardy',
    scales=list(draw=TRUE), sp.layout=list(stations))
print(prediction_plot)

使用这段代码,编译器没有给我任何错误,但是我没有看到过分的点(即我只看到克里金预测)。

我也尝试使用points(),没有结果(但我不确定我可以使用带有spplot()的points()):

prediction_plot<-spplot(k.o["var1.pred"], col.regions=terrain.colors(20), cuts=19, auto.key=list(draw=TRUE),
    asp='iso', colorkey=TRUE, main='Mean temperature prediction: january', sub='Lombardy',
    scales=list(draw=TRUE))
points(zone$long, zone$lat, type='p', cex=0.5, col=2)
print(prediction_plot)

对不起,我忘记了:&#39;区&#39;是Formal Class SpatialPointsDataFrame。

希望这个问题足够明确,

提前致谢

编辑:我认为它是rst在它绘制克里奇的情节,所以我尝试选择&#34;首先&#34; sp.layout。

stations<-list('sp.points', zone, cex= 0.5, pch=19, col='black')
prediction_plot<-spplot(k.o['var1.pred'], col.regions=terrain.colors(20), cuts=19, auto.key=list(draw=TRUE), 
                    asp='iso', colorkey=TRUE,
                    scales=list(draw=TRUE), sp.layout=list(stations, first=FALSE))

print(prediction_plot)

现在它绘制了我的观点,但不是krige预测,并且在绘图上,更进一步的点,它打印出一条错误消息:&#34;使用数据包1时出错。$运算符对原子向量无效&# 34 ;. 我搜索并发现,为了避免这样的错误,有必要使用[]而不是$,但我已经在使用它们了,ko [&#39; var1.pred&#39;] ...

有什么建议吗?谢谢!

1 个答案:

答案 0 :(得分:1)

这是spplot中的错误,将在sp版本1.0-18出现时更正(现在已在svn中更正,在r-forge上)。通常,kriged结果是网格化的(SpatialPixelsDataFrameSpatialPointsDataFrame)而不是SpatialPointsDataFrame,对于网格化数据,您不会看到此问题。