簡體   English   中英

ggplot2熱圖縮放行

[英]ggplot2 heatmap scaling row

我正在嘗試制作熱圖。 我有一個csv文件,其中包含示例列表以及許多時間點的數據。 所以看起來像這樣

Sample 1h 2h 3h 4h 5h 6h 7h
Test1 
Test2

除了更大,而且顯然充滿了數據。 我的目標是制作一個熱圖,以便我可以直觀地看到在較早的時間點是否有更高的度量。 因此,我並不在乎每個樣本相對於彼此的值。 我關心每個樣本的哪個時間點具有最大值。

我可以制作一個熱圖,但是我很確定何時縮放,它在縮放每列。 但是對於我想做的事情,我認為應該按比例縮放每一行。 我該怎么做呢? 謝謝

library(ggplot2)
library(reshape)
library(scales)
library(plyr)
library(reshape2)

data <- read.table('HB-1ng-1.5000.matrix', header = T, sep = '\t')
data.m <- melt(data)
data.m <- ddply(data.m, .(variable), transform, rescale =     scale(value))
p <- ggplot(data.m, aes(variable, Sample)) + geom_tile(aes(fill = rescale), colour = "white") + scale_fill_gradient(low = "white", high = "steelblue")

融化之前如何重新縮放比例:

dataRowNorm <- t(apply(data, 1, function(x) x/sum(x)))

然后融化,可能重命名列並傳遞給ggplot。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM