HeatMap R中的颜色

时间:2018-06-18 14:25:11

标签: r colors heatmap

我遇到了这个问题。我已经对网络中某些数据的过度和子表示进行了分析,并希望创建一个热图以便可视化结果。

我的想法是在调整p值后绘制over和sub的结果,并使用log(p值)进行子表示测试,使用-log(p值)进行over rep测试。该想法是使子表示的低p值测试高负数和过高表示高正数的低p值。之后我使用colorRampPalette创建颜色矢量,然后绘制热图(n = 290导致我的数据表中有多少行)

my_palette <- colorRampPalette(c("red", "white", "green"))(n = 290)
heatmap(LogFisher,col=my_palette,Colv=NA)

example of the heatmap i want. Each column would be the result of the test of certain data in different networks

问题是colorRampPalette对于我想要做的事情来说是一个糟糕的选择。我希望负值从红色变为白色,正值从白色变为绿色,但该函数获取所有数据并按其值对其进行标准化。我的意思是,如果你有从-0.5到1的值,你就会得到这个

vector<-seq(-0.5,1,length=1000)
plot(vector,col=colorRampPalette(c("red","white","green"))(n=1000))

plot to see the problem with colorRampPalette

正如您所看到的,colorRampPalette使最小值最红,最大值最绿,然后为每个值赋予颜色。有没有办法预先确定负值从红色变为白色,正值从白色变为绿色?提前谢谢!

修改:我已查看R heatmap with diverging colour paletteR Heatmap with values below 0 red, above 0 gradient of blue尝试了这些解决方案,但无法让它们正常工作。

0 个答案:

没有答案