【问题标题】:heatmap like plot with different sets of colors for different data热图,例如针对不同数据的不同颜色集的绘图
【发布时间】:2013-10-21 08:36:33
【问题描述】:

我正在尝试在同一个热图中加入不同类型的数据。但是我需要为每个子数据使用不同的颜色集。 这是一个例子:

data1 = matrix(c(1:9),nrow=3)
color1 = colorRampPalette(c('red','blue'))(max(data1))
data2 = matrix(sample(c(0:1),12, replace=T),nrow=3)
color2 = colorRampPalette(c('black','white'))(max(data2)+1) # +1 because it starts in 0
data = cbind(data1,data2)
# I want to join the following two images
image(t(data1),col=color1)
image(t(data2),col=color2)

结果的前 3 列(来自 data1)的颜色应为红色/蓝色,从第 4 列到最后的列应为黑色/白色。 如果有帮助,我可以将数据矩阵转换为颜色矩阵。我尝试了 heatmap(),但似乎只使用一组颜色。 在示例中,data1 中的 1 应绘制为红色,但 data2 中的 1 应绘制为白色。 谢谢!

【问题讨论】:

    标签: r plot pheatmap


    【解决方案1】:

    您不能两次使用相同的颜色索引。但是,您可以通过为data2 的元素添加合适的偏移量并按如下方式连接数据和颜色来解决此问题:

    image(t(cbind(data1,data2+length(data1)+1)), col=c(color1, color2))
    

    【讨论】:

    • 太棒了!!这就是我要找的东西!
    • 不客气!如果您将此答案标记为已解决问题,那就太好了。 :)
    猜你喜欢
    • 1970-01-01
    • 2021-10-20
    • 2021-09-18
    • 2019-03-08
    • 2016-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多