首页 > 解决方案 > 如何使用 ggplot2 或 R 中的其他方式绘制矩阵中带有数字的矩阵?这些数字是来自 vcf 文件的 snp 计数

问题描述

我有一个这样的矩阵:

Gene      BRCA         THYM         TGHJ
ACC         23          21           7
XTG         12          13           9
CFG         45          4            8

我想以矩阵的形式绘制它,其中的数字根据它们的计数着色;例如,最高的数字被涂成“红色”,然后随着数字的减少,颜色的强度逐渐降低,所以在这 45 被涂成“红色”,而 4 被涂成非常浅的颜色。请让我知道是否清楚。

我希望使用 ggplot2 绘制这个矩阵,但 R 中的其他方式也非常受欢迎。像这样的矩阵:

在此处输入图像描述

标签: rmatrixggplot2vcf-vcard

解决方案


尝试这个:

library(dplyr)
library(ggplot2)
df <- data.frame( Gene= c("ACC", "XTG", "CFG"), 
                      BRCA= c(23,12,45), 
                      THYM= c(21,13,4), 
                      TGHJ= c(7,9,8))  
mdf <- gather(df, -Gene, key="key", value="count")
ggplot(mdf, aes(x=Gene, y=key, fill=count, label=count))+
      geom_tile()+
      geom_text()+
      scale_fill_gradient(high="red2", low="white")

在此处输入图像描述


推荐阅读