【问题标题】:Heatmap like plot with Lattice像格子一样的热图
【发布时间】:2013-09-09 07:51:46
【问题描述】:

我不知道格子levelplot 是如何工作的。我已经玩了一段时间了,但找不到合理的解决方案。

样本数据:

Data <- data.frame(x=seq(0,20,1),y=runif(21,0,1))
Data.mat <- data.matrix(Data)

使用水平图绘制:

rgb.palette <- colorRampPalette(c("darkgreen","yellow", "red"), space = "rgb")

levelplot(Data.mat, main="", xlab="Time", ylab="", col.regions=rgb.palette(100),   
          cuts=100, at=seq(0,1,0.1), ylim=c(0,2), scales=list(y=list(at=NULL)))

这是结果:

因为,我不明白这个 levelplot 是如何工作的,所以我不能让它工作。我想要的是填充相应x(时间)的整个窗口的彩条。

使用其他方法的替代解决方案。

基本上,我在这里尝试绘制随时间增加的风险,其中红色是最高风险 = 1。我想可视化随着时间的推移可能增加或聚集风险的顺序。

【问题讨论】:

    标签: r lattice


    【解决方案1】:

    ?levelplot 告诉我们,如果第一个参数是矩阵,则 "'x' 提供 上面描述的'z'向量,而它的行和列是 分别解释为 'x' 和 'y' 向量。”,所以

    > m = Data.mat[, 2, drop=FALSE]
    > dim(m)
    [1] 21  1
    > levelplot(m)
    

    绘制具有 21 列和 1 行的水平图,其中水平由 m 中的值确定。公式界面可能看起来像

    > df <- data.frame(x=1, y=1:21, z=runif(21))
    > levelplot(z ~ y + x, df)
    

    (这些方法不会产生相同的图像)。

    【讨论】:

    • 是的,我使用了您显示的第二个选项。唯一的问题是我分配的常数总是低于 1。这给了我奇怪的答案。如果省略常数 1,那将无法按预期工作。我不明白恒定角色到底是什么。谢谢。
    【解决方案2】:

    很遗憾,我对lattice 了解不多,但我注意到了您的“其他方法的替代解决方案”,所以我可以建议另一种可能性:

    library(plotrix)
    color2D.matplot(t(Data[ , 2]), show.legend = TRUE, extremes = c("yellow", "red"))
    

    要做很多事情来使它更漂亮。仍然,一个开始。当然,重要的是要考虑时间变量中的中断。在这个 very 简单的尝试中,隐含地假定了定期间隔,在您的示例中恰好是这种情况。

    更新 遵循?color2D.matplot 中“详细信息”部分中的建议:“用户必须调整绘图设备尺寸以获得规则的正方形或六边形,尤其是当矩阵不是正方形时”。好吧,好吧,相当丑陋的解决方案。

    par(mar = c(5.1, 4.1, 0, 2.1))
    windows(width = 10, height = 2.5)
    color2D.matplot(t(Data[ , 2]),
                    show.legend = TRUE,
                    axes = TRUE,
                    xlab = "",
                    ylab = "",
                    extremes = c("yellow", "red"))
    

    【讨论】:

    • 非常感谢。这很接近我所需要的,但正如你所说的那样,这是一个开始。我会再等一会儿,看看这里还能提供什么。将在几天内关闭此问题。再次感谢。
    • @Max 我稍微更新了脚本以使方块更漂亮。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-03
    • 1970-01-01
    • 2022-01-14
    • 1970-01-01
    • 2018-04-13
    • 2015-03-20
    • 1970-01-01
    相关资源
    最近更新 更多