我已经对污染物进行了网格化数据。每个网格由其最左边的纬度和经度表示。我想看看这种污染物的水平如何在网格中变化。为此,我制作了一个水平图。下面显示的代码运行良好,但唯一的问题是绘制的污染物没有覆盖使用 abline 制作的网格。尽管我已经为 x 和 y 指定了极限截止值,但这些值是在这些截止值之前绘制的。
library(lattice)
library(maptools)
imap = readShapeSpatial("IND_adm3")
pdf("trial2.pdf",width=11, height=8)
levelplot(surface_aod~longitude+latitude,data=s.data,
panel = function(...){
panel.levelplot(...)
panel.abline(v=(71:88),col="dark red")
panel.abline(h=(17:31),col="dark red")
sp.polygons(imap)
},
col.regions = heat.colors(100),aspect="iso", region=TRUE,scales=list(x=list(at=seq(from=71,to=88, by=1)), y=list(at=seq(from=17,to=31, by=1)),cex=.7, alternating=3),xlim=c(70,90), ylim=c(16,32))
dev.off()
这是我的数据片段。
dput(head(s.data))
structure(list(latitude = c(17L, 18L, 19L, 19L, 20L, 21L), longitude = c(80L,
82L, 80L, 81L, 82L, 75L), surface_aod = c(0.2652681, 0.0040855,
0.2032517, 0.0929442, 0.1194997, 0.3600747)), .Names = c("latitude",
"longitude", "surface_aod"), row.names = c(NA, 6L), class = "data.frame")
如何获取要覆盖在网格上的值?谢谢。