【问题标题】:How to overlay level plots in R?如何在R中覆盖水平图?
【发布时间】:2012-04-25 15:32:17
【问题描述】:

在 R 中,假设您希望在图像背景上呈现统计数据——就像在医学成像中一样

每一层都是不同的矩阵。 这是一个无意义的例子:

  • volcano 灰色
  • B<- (volcano>160) * rnorm(prod(dim(volcano)) 在 热颜色。

你会怎么做?

【问题讨论】:

标签: r graphics imaging


【解决方案1】:

image 函数可以做到这一点,只需设置第二组颜色的透明度并使用add=TRUE 覆盖它。任何缺失的值都将是完全透明的,您可以为其他颜色设置 alpha 级别(当然,您的图形设备必须支持部分透明才能工作)。这是一个简单的例子:

A <- t(volcano)[ncol(volcano):1,]
B <- (A>160) * rnorm(prod(dim(A)) )

B[ A < 120 ] <- NA  # show some complete transparency

image(A, col=grey( seq(0,1,length.out=12) ) )  # initial plot
hc <- sub('FF$','77',heat.colors(12)) # convert heat colors to have an alpha
image(B, add=TRUE, col=hc)  # overlay the new plot

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-26
    • 1970-01-01
    • 2023-01-22
    • 2010-11-24
    • 1970-01-01
    • 1970-01-01
    • 2021-03-12
    相关资源
    最近更新 更多