有了R语言的基础,以及ggplot2绘图基础,我们的生信常用分析图形的绘制就可以提上日程了!本系列,师兄就开始带着大家一起学习如何用R语言绘制我们自己的各种分析图吧!
由于本系列的所有分析代码均为师兄细心整理和详细注释而成的!欢迎点赞、收藏、转发!
您的支持是我持续更新的最大动力!
- 各种类型的热图你学会了吗?
- 普通热图
- 环形热图
- 解锁火山图真谛!
- plot函数就能画火山图?
- 高级函数绘制火山图--ggplot2、ggpurb
- 经典富集分析及气泡图、柱状图绘制
- 气泡图绘制
- 柱状图绘制
- 富集分析圈图
- 富集分析弦图
- 绘制一张可以打动审稿人的桑基图
- 生存分析 -- KM曲线图
- 基础PCA图
- 云雨图
- 韦恩图
- 环形互作网络图
- 相互作用网络图
- 聚类树美化
- 富集分析气泡图进阶版
- mantel test相关性图
- 词云图
- 瀑布图
- 森林图
- 曼哈顿图
- 哑铃图
- 三线表
- 嵌套圈图
- 列线图
- 蜂群图
- 箱线图+贝塞尔曲线
- 矩阵散点图
- 等等,想到再继续补充!!!
本期热图结果展示
本小节共包括两种常用热图的代码,最终图形效果如下!有需要的可以支持一下哦!
普通热图
环形热图
普通热图
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(6, 6, 6)))
)
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")
环形热图
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中调整;
往期优秀图形目录
以上内容仅为群内部分内容,不代表全部。详细目录请看下方列表!已经入群的小伙伴,无需付费购买推文,群内都会及时更新!