栅格包:每个单元格周围的线条

时间:2015-07-25 18:04:22

标签: r raster r-grid

我希望在栅格的每个单元格周围都有黑线。以下是示例数据。 我的意思是,而不是这个框架/无边框细胞

enter image description here

我想要这个(带边框的单元格)

enter image description here 我怎样才能做到这一点?

 library(raster)
 require(graphics)
 require(grDevices)
 library(colorRamps)

 data<-matrix(c(1,0.4,0.5,0.8,-0.9,0.3,-0.89,-0.62,-0.33),ncol=3)

  r <- raster(nrows=dim(data)[1],ncols=dim(data)[2],
               xmn=-1,xmx=1,ymn=-1,ymx=1)
  r[]<-data
  setValues(r,factor(data))
  plot(r,col=c(topo.colors(200)),axes=FALSE,box=FALSE)

2 个答案:

答案 0 :(得分:6)

您可以使用rasterToPolygons

plot(r, col=c(topo.colors(200)), axes=FALSE, box=FALSE)
plot(rasterToPolygons(r), add=TRUE, border='black', lwd=1) 

答案 1 :(得分:2)

如果您愿意使用ggplot2,我会使用geom_tile()提供可能的解决方案。可以使用colour geom_tile参数来概述像素。缺点是您的数据可能需要一些重新格式化才能与ggplot2一起使用。

library(ggplot2)
library(reshape2)

dat = melt(volcano[26:40, 26:40])

p = ggplot(dat, aes(x=Var1, y=Var2, fill=value)) +
    geom_tile(colour="grey20") +
    scale_fill_gradientn(colours = terrain.colors(10))

ggsave("tile_plot.png", plot=p, height=6, width=7, dpi=150)

enter image description here