【问题标题】:Displaying 3 variables in one raster in r在r中的一个栅格中显示3个变量
【发布时间】:2015-05-09 19:07:05
【问题描述】:

我发现可以使用二元等值线来同时显示两个栅格的值。例如: https://flowingdata.com/2015/03/13/bivariate-choropleth-how-to/

我想知道 r 是否有一个包来显示三个栅格的值?

在这种情况下,比例尺可以是一个 rgb 立方体,比如

http://www.dig.cs.gc.cuny.edu/manuals/Gimp2/Grokking-the-GIMP-v1.0/node50.html,

三变量栅格的比例是三个栅格中每一个的红色、绿色、蓝色的组合?

我一直在尝试生成立方体(结合所有 RGB 值)以将其用作比例。但不幸的是,文件变得非常大:

require(reshape2)
library(rgl)
Cols<-data.frame()

for (blue in 0:255)
{
rg <- outer(0:255, 0:255, rgb, blue=blue, maxColorValue = 255)
rg <-data.frame(blue,melt(rg))
colnames(rg)<-c("blue","red", "green","col")
Cols<-rbind(Cols,rg)
}

plot3d(Cols$blue, Cols$red, Cols$green, col=Cols$col)

【问题讨论】:

    标签: r maps legend raster


    【解决方案1】:

    我认为raster 包的plotRGB() 功能可以满足您的需求。请参阅此处以获取具有三个栅格层的模拟堆栈的示例:

    set.seed(1002)
    
    library(raster)
    
    r1 <- raster(matrix(rnorm(10000), 100, 100))
    r2 <- raster(matrix(rnorm(10000), 100, 100))
    r3 <- raster(matrix(rnorm(10000), 100, 100))
    
    s <- stack(r1, r2, r3)
    
    plotRGB(s, stretch='hist')
    

    【讨论】:

    • 感谢 Robert 的编辑(感谢您花费所有时间开发 raster 软件包,它对我们的社区和我的工作都非常宝贵)。
    • 有没有办法生成这种三变量栅格的比例(图例)?我想它应该像一个立方体? library(squash) 提供了一个函数“cimage”,可用于生成双变量比例的图例。
    • 您可以使用一些简单的模拟数据和光栅代数轻松生成表示 RGB 颜色混合的三角形图。之前在 StackOverflow 上已经问过这个问题,所以希望 this would get you started.
    猜你喜欢
    • 1970-01-01
    • 2020-08-10
    • 2018-06-14
    • 1970-01-01
    • 1970-01-01
    • 2013-03-30
    • 1970-01-01
    • 2017-12-03
    • 1970-01-01
    相关资源
    最近更新 更多