如何在栅格图中反转y轴?

问题描述

我想绘制一个y轴从上到下递增的栅格,并且该栅格相应地翻转。有没有办法做到这一点?降序指定ylim会出错。

例如,我希望此图的y轴从顶部的-100到底部的100,并且栅格也反转以将绿色放在顶部,将橙色放在底部

library(raster)
r <- raster(nrows=10,ncols=10)
r <- setValues(r,1:ncell(r))
plot(r)


# Fails
plot(r,ylim=c(100,-100))
#> Error in .plotraster2(x,col = col,maxpixels = maxpixels,add = add,: invalid ylim

reprex package(v0.3.0)于2020-10-30创建

解决方法

下面显示的方法似乎有效

示例数据

library(raster)
r <- raster(nrows=10,ncols=10,vals=1:100)

垂直翻转栅格,然后添加水平轴

plot(flip(r,"y"),axes=F)
axis(1)

获取垂直轴的标签,并以相反的顺序绘制它们

ylabs <- axis(2,labels=FALSE,tick=FALSE)
axis(2,at=ylabs,labels=rev(ylabs))