如何在R栅格图中调整图例间距

时间:2014-03-20 19:13:01

标签: r plot raster

我有一个相当直截了当的问题。例如:

library(raster)
library(rasterVis)
library(lattice)
a<-raster(matrix(rep(c(1:5,50,100)),7,7))
plot.new()
par(mfrow=c(1,1))
sbreak<-c(1,2,3,4,5,50,100)
col.l <- colorRampPalette(c('darkblue','blue','deepskyblue','cyan','orange','darkred'))(100)
print(levelplot(a,margin=FALSE,col.regions=col.l,at=sbreak,par.settings=list(layout.heights=list(xlab.key.padding=2),col=col.l)))

我只关心1到5的范围,但是必须将异常值绘制到100以上。情节本身很好,但我很难看到图例中1-5的范围。我希望在我指定的休息时间(1,2,3,4,5,50,100)之间有相同的空间。 enter image description here

**************更新******************* 我刚刚解决了这个问题,有一个简单的方法可以做到这一点而不是单独绘制图例:
sbreak1<-c(1,2,3,4,5,50,100)
sbreak2<-c(1,2,3,4,5,6,7)
legendbreak<-c('<1','2','3','4','5','50','100')
col.l <-colorRampPalette(c('darkblue','blue','deepskyblue','cyan','orange','darkred'))(1‌​‌​00)
print(levelplot(a,margin=FALSE,col.regions=col.l,at=sbreak1,par.settings=lis‌​t(la‌​yout.heights=list(xlab.key.padding=2),col=col.l),colorkey=list(at=sbreak2,l‌​abels=‌​legendbreak,col=col.l))

关键是用单独的设置欺骗传奇。感谢您的指导

0 个答案:

没有答案