【问题标题】:ggplot: Heat map from 2D frequency histogramggplot:来自二维频率直方图的热图
【发布时间】:2014-09-13 17:29:17
【问题描述】:

我的输入数据如下所示:

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

我想以我有 n x n 个图块的方式可视化数据,图块 (0,0) 的颜色将基于联系人 36C-36C(在本例中为 17935)的数字,图块 (0 ,1) 基于触点 36C-37T 的编号等。我想geom_tile 应该可以完成这项工作,但我不知道该怎么做。

当我读入我得到的数据时

data = read.table("test.tbl", header = 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 绘制矩阵。感谢您的帮助。

【问题讨论】:

    标签: r ggplot2


    【解决方案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)) 然后提供所需的结果。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-12-17
      • 1970-01-01
      • 2015-04-01
      • 2011-02-04
      • 1970-01-01
      • 2021-08-27
      • 2016-01-25
      相关资源
      最近更新 更多