【发布时间】:2015-02-26 21:30:39
【问题描述】:
我需要您对如何可视化/映射跨越负值和正值的数据的见解。我有 6 个已堆叠在一起的栅格 (s),随后将通过 R 中的 levelplot 函数绘制。下面是每个 raster 的 max 和 min 值。
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))
注意:我需要一个所有栅格通用的颜色键。
问题:对于范围较小的栅格,单元之间的变化传达不佳 - 地图上的信息无法很好地可视化。我如何使用 levelplot 在如此大的整体范围内可视化此类数据?
您可以生成 6 个值在上述范围内的栅格,以提供更多线索。
感谢您的帮助! colorkey 不需要从红到蓝。像"The Default Rainbow Palette" 这样的东西就可以了。
"
我需要一个用于所有这些栅格的单一共享色键。目前,像元范围较小的栅格显示的变化非常小。
【问题讨论】:
-
这六个栅格是代表同一个变量,还是代表六个不同的变量?
-
@Pascal 它们代表相同的变量。假设您有一个站点的温度数据,并且您希望在不同的场景和未来时间窗口中比较这些数据。您将需要一个颜色键来进行此类比较。如上所述,这就是我要解决的问题。
-
您的帖子并不清楚。在这种情况下,你可以听从奥斯卡的建议。
-
这是什么意思:“具有较小值和较大值的栅格被抑制”?您的意思是对于范围相对较小的栅格,像元值的变化很难看到,因为那一小部分渐变的颜色非常相似?
-
@jbaums,没错!与范围较小的栅格不同(颜色变化不大),范围较大的栅格显示出更多变化。我已经上传了一个示例地图来说明...
标签: r data-visualization levelplot