不设置🌟有时会收不到公众号内容,code一段时间后会失效,代码在文末
很多小伙伴反应不会绘图,其实我之前分享的那些源代码绘图都挺好的,但确实需要一些门槛,猛的一看会有一些看不懂,后面准备开一个绘图的专题,把一些有用的,好看的绘图代码分享出来,包含示例数据,让大家从读取到出图一步到位。(如下)
在做单细胞测序的Ro/e分析(主要还是看细胞类型丰度差异的,昨天介绍了另外一种方法又看到这个单细胞差异丰度分析用在顶刊上了,可以试下),虽然纵坐标的聚类结果符合我的预期,但还是有一些不完美,我想要让他们按照我的等级顺序进行展示,如下图(右边的👉)
怎么实现呢,👀下面的代码
library(pheatmap)
library(ggplot2)
roe <- readRDS("./roe.rds")
# 1. 计算行间距(欧氏距离)
row_distance = dist(roe, method = "euclidean")
# 2. 进行行聚类
row_clustering = hclust(row_distance)
# 3. 自定义的列顺序(手动设定顺序)
custom_col_order =c('Grade1','Grade2','Grade3','Grade4') # 替换成你自己的列名
# 4. 转置数据表,用于列聚类
roe_transposed = as.data.frame(t(roe))
# 5. 计算列间距(欧氏距离)
col_distance = dist(roe_transposed)
# 6. 进行列聚类
col_clustering = hclust(col_distance)
# 7. 使用自定义的列顺序调整列的显示顺序
dendrogram = reorder(as.dendrogram(col_clustering), wts = order(match(custom_col_order, rownames(roe_transposed))))
# 8. 转换为层次聚类对象
custom_col_cluster = as.hclust(dendrogram)
# 9. 绘制热图,使用自定义列聚类顺序
p = pheatmap(roe,
display_numbers = TRUE, # 显示单元格中的数值
number_color = "black", # 设置数值的字体颜色为黑色
border_color = "white", # 设置单元格边框的颜色为白色
treeheight_row = 15, # 设置行聚类树的高度(默认为50,设置为15使得树状图更紧凑)
treeheight_col = 15, # 设置列聚类树的高度(默认为50,设置为15使得树状图更紧凑)
cluster_row = TRUE, # 对行进行聚类,设置为TRUE启用行聚类
cellwidth = 25, # 设置单元格的宽度(默认为30,调整为25使得图形更紧凑)
cellheight = 25, # 设置单元格的高度(默认为30,调整为25使得图形更紧凑)
cluster_cols = col_cluster, # 设置列的聚类结构,使用事先定义的col_cluster变量
# cluster_col = TRUE, # 这行参数是注释掉的,因其与cluster_cols冲突。可以使用cluster_cols代替
color = colorRampPalette(c('#EEEEEE', 'lightblue', 'darkblue'))(50) # 设置热图的颜色渐变范围
)
p
ggsave("./Roe.pdf",p,width = 4,height = 7)
有些文章,一会用+号替代,比如像下面这样
下面是我画的,加上下面这个代码就行,可以与上面无缝衔接,也换个了配色,哪个好看就用哪个
library(RColorBrewer)
color_palette <- colorRampPalette(c("#f8e7d3", "#fcaf72", "#cd782d", "firebrick3"))(3)
roe_symbols <- matrix("±", nrow = nrow(roe), ncol = ncol(roe))
roe_symbols[roe > 1 & roe <= 1.5] <- "+"
roe_symbols[roe > 1.5 & roe 1.5 且 roe
roe_symbols[roe > 3] 3 时,设置为
p = pheatmap(roe,
display_numbers = roe_symbols,
number_color = "black",
border_color = "#f8e7d3",
treeheight_row = 20,
cellwidth = 25,
cellheight = 25,
cluster_row = TRUE,
cluster_cols = col_cluster,
color = color_palette,
legend_breaks = c(0, 1, 1.5, 3, 4),
legend_labels = c("0", "1", "1.5", "3", "4"),
fontsize_number = 10)
p
ggsave("./Roe.pdf",p,width = 4,height = 7)
今天主要讲的是绘图,这个都是通用的,换成其他数据,也是直接用的,也不需要改啥参数
没有服务器,单细胞数据搞不定?我们目前做好了这些pipeline,可以帮你做
后苔↩️之前贴子的岸号即可霍得代码和示例数据,有效期 7 天,今日关键词:241212
最近又搞定了一个 compass单细胞代谢分析,这个计算时间非常长,这个模块的分析,也已经加入到我们的单细胞分析项目中了。我们的单细胞分析项目还在持续更新中
这次生信的大纲内容进行全面的调整,想了解生信的,跟班的,可以看下面👇这个文章
这次可不是只学单细胞,基本上从基础到多组学、空间、机器学习一条龙全打通了
单细胞数据分析需求的可以看👇这个文章
没有服务器,单细胞数据搞不定?我们目前做好了这些pipeline,可以帮你做(近期又添加了21 年发表在了 Cell上面的单细胞转录组分析代谢的分析——compass)