2017-03-02 84 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