R 热图绘制heatmap①

简介: R.packageheatmap():用于绘制简单热图的函数heatmap.2():绘制增强热图的函数d3heatmap:用于绘制交互式热图的R包ComplexHeatmap:用于绘制、注释和排列复杂热图的R&bioconductor包(非...

R.package

  • heatmap():用于绘制简单热图的函数
  • heatmap.2():绘制增强热图的函数
  • d3heatmap:用于绘制交互式热图的R包
  • ComplexHeatmap:用于绘制、注释和排列复杂热图的R&bioconductor包(非常适用于基因组数据分析)

首先使用ggplot2画简单热图

data <- as.data.frame(matrix(rnorm(9*10),9,10))

rownames(data) <- paste("Gene", 1:9, sep="_")
colnames(data) <- paste("sample", 1:10, sep="_")
library(reshape2)
library(ggplot2)
data$ID <- rownames(data)
data_m <- melt(data, id.vars=c("ID"))
View(data_m)
  • data为9行10列的标准正太分布数据。
  • 使用paste对行列名简单命名。
  • melt函数将data转化为gene-id列,sample-variable列,以及表达值-value列。


    img_f0939b04d5b698c1e87b32a9519d51e2.png
img_8c09f48d187f52f869f996aeebde182c.png
p <- ggplot(data_m, aes(x=variable,y=ID)) + 
  xlab("samples") +  theme_classic() + theme(axis.ticks = element_blank(),
                axis.line = element_blank()) + 
  theme(panel.grid.major = element_blank()) + 
  theme(legend.key=element_blank())  +
  theme(axis.text.x=element_text(angle=45,hjust=1, vjust=1)) + 
  theme(legend.position="top") +  
  geom_tile(aes(fill=value)) + 
  scale_fill_gradient2("Expression",
                       low = "green", 
                       high = "red",
                      mid = "black")
p

img_a4b3b96a2ef43d52570b154390e65e31.png
  • theme_classic() + #去掉灰快
  • theme(axis.ticks = element_blank(),
    axis.line = element_blank()) + #去掉边框
  • xlab('row name') +
    ylab('column name') #更改行名和列名
  • scale_x_discrete(labels = 1:10, breaks = 1:10) +
    scale_y_discrete(labels = 1:10, breaks = 1:10) #修改行和列
  • scale_fill_gradient2('legend name',
    low = 'blue', high = 'red', mid = 'white') #修改图例名字以及图中颜色
大神Y叔也有画热图的ggplot2讲解,链接:听说你还不会画heatmap
https://guangchuangyu.github.io/cn/2017/09/dose-simplot/
目录
相关文章
|
6月前
|
数据可视化 数据挖掘 数据处理
R绘图 | 浅谈散点图及其变体的作图逻辑
R绘图 | 浅谈散点图及其变体的作图逻辑
93 0
|
3月前
|
数据可视化 Python
使用pygal库绘制直方图、XY线图和饼状图的技术指南
使用pygal库绘制直方图、XY线图和饼状图的技术指南
20 0
|
6月前
ggbiplot | 带箭头的主成分分析(PCA)图绘制
ggbiplot | 带箭头的主成分分析(PCA)图绘制
68 0
|
8月前
|
Go
如何用ggplot2绘制基因功能富集气泡图?
如何用ggplot2绘制基因功能富集气泡图?
|
10月前
|
人工智能 数据可视化
跟SCI学umap图| ggplot2 绘制umap图,坐标位置 ,颜色 ,大小还不是你说了算
跟SCI学umap图| ggplot2 绘制umap图,坐标位置 ,颜色 ,大小还不是你说了算
701 1
|
10月前
|
算法
ggplot2|从0开始绘制PCA图
ggplot2|从0开始绘制PCA图
289 0
|
10月前
|
数据挖掘
ggplot2| 绘制KEGG气泡图
ggplot2| 绘制KEGG气泡图
188 0
|
11月前
|
机器学习/深度学习 算法 数据可视化
R绘图案例|基于分面的面积图绘制
R绘图案例|基于分面的面积图绘制
10830 0
|
数据可视化 前端开发 UED
matplotlib图形整合之多个子图一起绘制
matplotlib图形整合之多个子图一起绘制
579 0
matplotlib图形整合之多个子图一起绘制
|
数据可视化
R实战 | Nomogram(诺莫图/列线图)及其Calibration校准曲线绘制
R实战 | Nomogram(诺莫图/列线图)及其Calibration校准曲线绘制
1835 0
R实战 | Nomogram(诺莫图/列线图)及其Calibration校准曲线绘制