夏雨秋风

V1

2022/07/21阅读:22主题:全栈蓝

生信常用分析图形绘制 -- 各种类型的热图!你学会了吗?

封面
封面

有了R语言的基础,以及ggplot2绘图基础,我们的生信常用分析图形的绘制就可以提上日程了!本系列,师兄就开始带着大家一起学习如何用R语言绘制我们自己的各种分析图吧!

由于本系列的所有分析代码均为师兄细心整理和详细注释而成的!欢迎点赞、收藏、转发!

您的支持是我持续更新的最大动力!

示例数据和代码获取

  • 各种类型的热图你学会了吗?
    • 普通热图
    • 环形热图
  • 解锁火山图真谛!
    • plot函数就能画火山图?
    • 高级函数绘制火山图--ggplot2、ggpurb
  • 经典富集分析及气泡图、柱状图绘制
    • 气泡图绘制
    • 柱状图绘制
  • 富集分析圈图
  • 富集分析弦图
  • 绘制一张可以打动审稿人的桑基图
  • 生存分析 -- KM曲线图
  • 基础PCA图
  • 云雨图
  • 韦恩图
  • 环形互作网络图
  • 相互作用网络图
  • 聚类树美化
  • 富集分析气泡图进阶版
  • mantel test相关性图
  • 词云图
  • 瀑布图
  • 森林图
  • 曼哈顿图
  • 哑铃图
  • 三线表
  • 嵌套圈图
  • 列线图
  • 蜂群图
  • 箱线图+贝塞尔曲线
  • 矩阵散点图
  • 等等,想到再继续补充!!!

本期热图结果展示

本小节共包括两种常用热图的代码,最终图形效果如下!有需要的可以支持一下哦!

普通热图

image-20210916223939661

环形热图

image-20210916223939661

普通热图

rm(list = ls())
library(pheatmap)

data <- as.matrix(read.table("data.txt",row.names = 1,header = T,sep = "\t"))

# 构建列注释信息
annotation_col = data.frame(CellType = factor(c("A","B","C","D","E",
                                                "F","G","H","I","J"))
                            #Sex = factor(rep(c("F","M"),5))
                            )

rownames(annotation_col) <- colnames(data)
head(annotation_col)

# 构建行注释信息
annotation_row = data.frame(
  GeneClass = factor(rep(c("Path1""Path2""Path3"), c(666)))
)
rownames(annotation_row) = rownames(data)
head(annotation_row)


# 自定注释信息的颜色列表
ann_colors = list(
  # Sex = c(F = "red", M = "#016D06"),
  CellType = c(A = "#65B99F", B = "#F08961", C = "#8A9BC3", D = "#DA85B5", E = "#A1CC56",
               F = "#F5D239", G = "#7CC07B", H = "#BAABD0", I = "#3766A4", J = "#DF3078")
  # GeneClass = c(Path1 = "#7570B3", Path2 = "#E7298A", Path3 = "#66A61E")
)
head(ann_colors)

pheatmap(data,
         # 去掉聚类树:
         cluster_cols = FALSE,
         cluster_rows = FALSE,
         # 加color bar:列注释信息;
         annotation_col = annotation_col,
         # 行注释信息:
         # annotation_row = annotation_row,
         # color bar 颜色设定:
         annotation_colors = ann_colors,
         # 设置单元格颜色渐变;(100)表示分100段渐变;
         color = colorRampPalette(c("#FDEBEA","#D5281F"))(100), 
         # 行、列标签的字体大小
         fontsize_col = 8,
         fontsize_row = 10,
         # 是否显示行、列名
         show_colnames = F,
         # 设置每个单元格的宽度和高度
         cellwidth = 30
         cellheight = 24,
         # 行、列聚类树的高度:
         # treeheight_row = 50, 
         # treeheight_col = 30,
         # display_numbers = TRUE参数设定在每个热图格子中显示相应的数值,
         # number_color参数设置数值字体的颜色
         display_numbers = TRUE,number_color = "black",
         # 设置标题:
         main = "Heatmap")
image-20210916223939661

环形热图

rm(list = ls())
library(ggtree)

data <- as.matrix(read.table("data.txt",row.names = 1,header = T,sep = "\t"))

df <- hclust(dist(data))

p1 <- ggtree(df)

gheatmap(p1,data)

p2 <- ggtree(df,layout = "circular")
p2

# 设置开口方向:rotate_tree()
p3 <- rotate_tree(p2,100)

gheatmap(p3 + geom_tiplab(offset = 13),data,
         # 设置热图的宽度:
         width = 1.5,
         # 设置单元格的颜色:
         low = "#FDEBEA",
         high = "#D5281F",
         font.size = 3,
         colnames_position = "top",
         # 调整开口大小
         colnames_offset_y = 1,
         # 调节列名和顶部之间的距离:
         hjust = 0
         ) + 
  theme(legend.position = "right")

# 后续工作可以在Ai中调整;
image-20210916223939661

往期优秀图形目录

渐变火山图

渐变火山图
渐变火山图
气泡图+相关性热图
气泡图+相关性热图
复杂提琴图
复杂提琴图
复杂热图
复杂热图
复杂散点图
复杂散点图
复杂热图02
复杂热图02
甘特图
甘特图
百分比柱状图
百分比柱状图
箱线图美化
箱线图美化
弦图
弦图
mantel test图
mantel test图
瀑布图
瀑布图
曼哈顿图
曼哈顿图
KEGG富集图
KEGG富集图
哑铃图
哑铃图

以上内容仅为群内部分内容,不代表全部。详细目录请看下方列表!已经入群的小伙伴,无需付费购买推文,群内都会及时更新!

示例数据和代码获取

往期文章

分类:

后端

标签:

后端

作者介绍

夏雨秋风
V1