## ggplot2 heatmap
> 数据依然来自于上一节的数据
```R
library("reshape2")
library("ggplot2")
# 准备ggplt2所需要的数据格式
mat_ht_gg <- melt(t(mat_ht_z))
# 作图
HT1 <- ggplot(data = mat_ht_gg, aes(x = Var1, y = Var2)) +
geom_tile(aes(fill = value))
print(HT1)
# 可以换一种颜色
HT2 <- HT1 + scale_fill_gradient2(low = "blue", high = "red")
print(HT2)
```
![scatter plot](http://kancloud.nordata.cn/2018-12-30-074426.png)
![scatter plot](http://kancloud.nordata.cn/2018-12-30-074429.png)
>如果想要获得聚类的图,需要提前对输入数据进行聚类
```R
# do cluster
library(ggplot2)
library(ggcorrplot)
library(ggdendro)
# col cluster
mat_dendro_col <- as.dendrogram(hclust(d = dist(x = t(mat_ht_z))))
mat_dendro_ord_col <- order.dendrogram(mat_dendro_col)
#row cluster
mat_dendro_row <- as.dendrogram(hclust(d = dist(x = mat_ht_z)))
mat_dendro_ord_row <- order.dendrogram(mat_dendro_row)
# Re-order heatmap columns to match dendrogram
mat_ht_gg_clu <- mat_ht_z[mat_dendro_ord_row, mat_dendro_ord_col]
mat_ht_clu <- melt(t(mat_ht_gg_clu))
HT3 <- ggplot(data = mat_ht_clu, aes(x = Var1, y = Var2)) +
geom_tile(aes(fill = value)) +
scale_fill_gradient2(low = "blue", high = "red")
print(HT3)
```
![scatter plot](http://kancloud.nordata.cn/2018-12-30-074431.png)
> 如果想要加上聚类的线可以通过ggdendrogram叠加上去
```R
library(grid)
dendro_plot_col <- ggdendrogram(data = mat_dendro_col, rotate = FALSE) +
theme(axis.text.x = element_text(size = 2))
dendro_plot_row <- ggdendrogram(data = mat_dendro_row, rotate = TRUE) +
theme(axis.text.y = element_text(size = 2))
HT4 <- ggplot(data = mat_ht_clu, aes(x = Var1, y = Var2)) +
geom_tile(aes(fill = value)) +
scale_fill_gradient2(low = "blue", high = "red") +
theme(axis.text.y = element_blank(),
axis.title.y = element_blank(),
axis.ticks.y = element_blank(),
axis.text.x = element_blank(),
axis.title.x = element_blank(),
axis.ticks.x = element_blank(),
legend.position = "bottom")
grid.newpage()
print(HT4, vp=viewport(0.6, 0.8, x = 0.5, y = 0.3)) #x change x positiion, y change y position,
print(dendro_plot_col, vp=viewport(0.66, 0.2, x = 0.495, y = 0.78)) # 0.875change cluster plot wide
print(dendro_plot_row, vp=viewport(0.2, 0.77, x = 0.9, y = 0.335)) # 0.65change cluster plot wide
```
![scatter plot](http://kancloud.nordata.cn/2018-12-30-074433.png)
- 智汇医圈
- 第一章 前言
- 1.1 简介
- 1.2 制作该教程的目的
- 1.3 学习该教程需要掌握的基础知识
- 1.4 该教程适用人群
- 第二章 散点图(scatter plot)
- 2.1 基本的散点图
- 2.2 3D 散点图
- 第三章 线图(line plot)
- 3.1 基本的线图
- 第四章 箱型图(boxplot)
- 4.1 基本的箱型图
- 4.2 图形参数调整
- 4.3 多分组箱型图
- 4.4 小提琴图
- 第五章 密度图(density plot)
- 5.1 基本的密度图
- 第六章 热图(Heatmap)
- 6.1 基本的热图
- 6.2 ggplot2 heatmap
- 6.3 相关性热图
- 第七章 主成分分析(PCA)
- 7.1 2D PCA
- 7.2 3D PCA
- 第八章 ROC 曲线
- 8.1 基本的 ROC 曲线
- 第九章 生存分析(KM plot)
- 9.1 基本的生存分析
- 第十章 KEGG 和 GO 分析
- 10.1 KEGG 分析
- 10.2 GO 分析
- 第十一章 Circular plot
- 11.1 基本的 Circular plot
- 附录 下载数据