2017-03-02 40 views
0

我有一個數據幀,第一列有幾個樣本,第二列有22個因子。頭(DF)的 輸出示例:使用ggplot2在熱圖中繪製圖層

Sample Chromosome 
1 Sample2   chr10 
2 Sample2   chr9 
3 Sample3   chr10 
4 Sample3   chr20 
5 Sample3   chr10 
6 Sample1   chr1 

既然是很多關於正常地塊數據I打算做每個樣品CHR10的分佈的熱圖。例如,樣品2在chr10上發生2000次。

我希望,ggplot可能會接受與它的水平作爲一個規模的chr因素,但事實並非如此。

這裏是我的嘗試:

ggplot(GenomereportTrim,aes(Sample,Chromosome))+ 
    geom_tile(aes(fill=Chromosome),color = "white")+ 
    scale_fill_gradient(low = "white",high = "steelblue") 

大約有50個獨特的樣本具有超過22級的染色體因素的一些分佈。

任何幫助,將不勝感激。 謝謝!

+0

'ggplot(GenomereportTrim,AES(樣品,染色體))+ stat_density_2d(的geom = 「光柵」,AES(填充= ..density:這很容易通過使用2D像素合併統計實現..),輪廓= FALSE)? – Axeman

+0

不幸地返回一個錯誤:''stat_density2d()'中的計算失敗': 帶寬必須嚴格爲正值' – chrys

+0

我不完全清楚你想要什麼:你想要一個軸上的樣本和另一個染色體上的熱圖,以及與每個樣本中染色體的頻率相對應的顏色? –

回答

0

如果我正確理解了你,你想要一個樣本×染色體圖,填充顏色對應於每個染色體的樣本數。

ggplot(data) + 
    aes(Sample, Chromosome) + 
    geom_bin2d() 

enter image description here

+0

感謝您的幫助,它完美運作。有沒有辦法調整漸變比例? – chrys

+0

@chrys好的。調整什麼意義?您可以在文檔中查看'scale_fill_ {continuous,manual,brewer}'功能。有很多你可以做的定製,包括配色方案,限制,休息等。 –

+0

我想給這個比例範圍更大的範圍。例如,500的計數與2000不能清楚地區分,因爲它在相同的色譜中。在一個情節中,我會說增加更多的蜱蟲。 – chrys