我需要您对如何可视化/映射跨越负值和正值的数据有所了解。我有6个栅格堆叠在一起(s
),随后将通过R中的levelplot
函数绘制。以下是每个max
和min
值{1}}。
raster
目前,我可以通过以下方式制作我的地图:
39.2887, 53.09207 (min, max) # r1
-32.4956, -27.25534 (min, max)# r2
-14.37683, -11.37742 (min, max)# r3
9.512934, 13.60197 (min, max)# r4
-4.993901, -1.851784 (min, max)# r5
-8.190711, -5.104764 (min, max)# r6
注意:我需要一个通用于所有栅格的单一颜色键。
问题:对于范围较小的栅格,细胞之间的差异很难传达 - 地图上的信息不能很好地显示。如何使用具有如此大的整体范围的library(raster)
library(rasterVis)
library(colorRamp)
s <- stack(r1,r2,r3,r4,r5,r6)
themes2 <- colorRampPalette(c("darkred", "red3", "orange", "yellow", "lightskyblue", "royalblue3", "darkblue"))(19)
myat =unique(seq(floor(min(s)) ,ceiling(max(s)),length.out=20))
myat=round(myat,digits = 0)#
#themes <- rasterTheme(region=rev(brewer.pal(11,'RdYlBu')))
myColorkey <- list(at=myat,space = "right",labels=list(cex=1,at=myat))
if (dev.cur() == 1) x11(width=18,height=18)
levelplot(s, layout=c(3, 2), index.cond=list(c(1, 3, 5, 2, 4, 6)),col.regions=themes2,
margin=FALSE,xlab=NULL,at =unique(seq(floor(min(s)) ,ceiling(max(s)),length.out=20)),
par.strip.text=list(cex=0),colorkey=myColorkey,scales=list(alternating=F))
来可视化此类数据?
您可以生成6个栅格,其值在上面显示的范围内,以便为我提供更多线索。
感谢您的帮助! colorkey不需要是红色到蓝色。像"The Default Rainbow Palette"这样的东西会。
&#34;
我需要一个用于所有这些栅格的单一共享颜色键。目前,具有较小细胞范围的光栅显示出非常小的变化。
答案 0 :(得分:0)
在我看来,你有两个选择:
因为您需要一个颜色键,所以您应该重新调整数据。虽然this document是关于时间序列的,但它对此问题提供了很好的建议。