2014-09-13 128 views
0

我输入的数据看起来像这样:ggplot:从2D频率直方图热图

AA 36C  37T 38T 
36C 17935 3349 16843 
37T 3349 4  5690 
38T 16843 5690 11  

我想想象,我NXN砖和瓷砖的颜色的方式中的数据(0,0)将基于联系人36C-36C(在这种情况下为17935)的号码,基于联系人36C-37T的号码的瓦片(0,1)等等。我想geom_tile应该做的工作,但我不知道该怎么做。

当我在数据读取方面我得到

数据函数read.table =( “test.tbl”,标题= T)

> str(data) 
'data.frame': 3 obs. of 4 variables: 
$ AA : Factor w/ 3 levels "36C","37T","38T": 1 2 3 
$ X36C: int 17935 3349 16843 
$ X37T: int 3349 4 5690 
$ X38T: int 16843 5690 11 

之后,我不知道如何继续并告诉ggplot绘制矩阵。谢谢你的帮助。

回答

1

对不起,应该在提问之前做更多的研究。

它通过融化数据帧进行工作。

> library(reshape2) 
> melt(data) 
Using AA as id variables 
AA variable value 
1 36C  X36C 17935 
2 37T  X36C 3349 
3 38T  X36C 16843 
4 36C  X37T 3349 
5 37T  X37T  4 
6 38T  X37T 5690 
7 36C  X38T 16843 
8 37T  X38T 5690 
9 38T  X38T 11 

ggplot(data_new, aes(x = variable, y = AA)) + geom_tile(aes(fill = value))然后提供期望的结果。