2012-04-25 80 views
3

在R,说你希望在医学成像如何覆盖R中的等级图?

example produced with Mango

每个层是不同的矩阵,以呈现图像背景 - 上的统计数据等。 这里是一个无义例如:

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

你会怎么样?

+0

你熟悉保罗·马雷尔这个JSS出版物,[在R图形光栅图像(http://journal.r-project.org/archive/2011-1/RJournal_2011 -1_Murrell.pdf)? – 2012-04-25 17:38:28

回答

3

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