画这个热图的目的是直观地看到一些上调基因的聚类情况,第一次画热图十分生疏,欢迎大家和我交流
我的原始数据是没有重复的实验数据,所以我选了CORNAS和GFOLD两种方法来分析,附上参考文献
这次尝试不需要很严格,所以我只用了GFOLD来筛选linc
这里传送一篇我的GFOLD摸索
总之,我们现在拿到了画图所用的数据,我自己在Excel中整理了一下,不过听说Excel也可以画热图😂
言归正传,假设我们画图数据长这样↓
💥💥💥这里需要注意的是,画图的数据是之前各种方法算出差异的差异基因的rawdata
💥💥💥
然后打开RStudio
library
出pheatmap
如果没有安装的话需要先安装一下pheatmap
library(pheatmap)
接下来我们需要处理一下数据,在read
进R时,要把第一列和第一行分别作为行名和列名 row.names = 1
,header = T
na.strings = 0
加这个的话为0的地方会特别显示,我觉得还不错👀
data <- read.csv("你的路径", header = T, row.names = 1, na.strings = 0)
如果想对数据取log值也可以
data_log <- log(data)
接下来就是使用pheatmap
画图,pretty~
pheatmap(data)
最基础的heatmap就画好了
可以对格子高度宽度进行修改
pheatmap(data,
cellheight = 10,
cellwidth = 30)
调整聚类线的高度
pheatmap(data,
cellheight = 10,
cellwidth = 30,
treeheight_col = 8,
treeheight_row = 15)
可以cluster_col = T/F
或 cluster_row = T/F
选择横纵聚类与否,有时想让横纵坐标按原来顺序排序的话,就取消那个方向的聚类!
pheatmap(log,
cellheight = 10,
cellwidth = 30,
treeheight_col = 8,
treeheight_row = 15,
cluster_col=FALSE)
这样就不会对列聚类,排序方式就是按照1、 2、 3
scale = "row"
对行进行均一化,一般对row
均一化
pheatmap(data,
cluster_col=FALSE,
scale = "row")
现在看起来是不是颜色分布就平均一些了
clustering_method =
可以设定不同聚类方法,值默认为"complete"
,还可以是"ward.D"
, "ward.D2"
, "single"
, "complete"
, "average"
, "mcquitty"
, "median"
,"centroid"
pheatmap(data,
cellheight = 10,
cellwidth = 30,
treeheight_col = 8,
treeheight_row = 15,
cluster_col=FALSE,
scale = "row",
clustering_method = "complete")
clustering_method = "complete"
pheatmap(data,
cellheight = 10,
cellwidth = 30,
treeheight_col = 8,
treeheight_row = 15,
cluster_col=FALSE,
scale = "row",
clustering_method = "average")
iclustering_method = "average"
angle_col
可以旋转调整x轴的标注方向,旋转角度可以等于0
,45
,90
,270
,315
我觉得这个很有用,毕竟不能让别人歪着脑袋看x轴对吧
pheatmap(data,
angle_col = 0)
调整后的x轴是不是就不需要歪着脖子看了
还有很多参数我这次都没有用到,附参考链接
使用pheatmap包绘制热图
用pheatmap画热图
R语言热力图坐标不按数字排序?
pheatmap的一些参数
还是一些参数
网友评论