R语言 | 基于ggplot绘制气泡热图

文摘   2024-11-08 11:35   云南  

一边学习,一边总结,一边分享!

由于微信改版,一直有同学反映。存在长时间接收不到公众号的推文。那么请跟随以下步骤,将小杜的生信筆記设置为星标,不错过每一条推文教程。

欢迎关注《小杜的生信笔记》!!

如何加入社群

小杜的生信笔记仅有微信社群

1. 微信群:付费社群。添加小杜好友,加友请知:加友须知!!,加入社群请查看小杜生信笔记付费加友入群声明

入群声明

2. 小杜个人微信:若你有好的教程或想法,可添加小杜个人微信。值得注意的是,小杜个人微信并不支持免费咨询长时间咨询,但支持小问题2-3个免费咨询。

小杜微信:

知识星球:

Bioinfo Notes学习交流群② 成立啦

基于长期积累和各位大佬、同学的支持,我们Bioinfo Notes学习交流群①已经满员,群②已成立,详情可看新的征程,学习永远不晚!Bioinfo Notes生信交流群②成立!

本期教程

复现图形

Code

1. 导入所需R包

##'@基于ggplot绘制气泡热图
# 加载所需的R包
library(ggplot2)
library(dplyr)

2. 导入数据

df_data <- read.csv("Inputdata.csv",header = T)

df_data[1:10,1:5]

3. 自定X轴义顺序

custom_order <- c("HSC", "LMPP", "GMP", "Granulocyte", "Monocytes", "DendriticCell", 
"CLP", "pro_B", "T", "MEP", "MK_Prog", "EarlyErythroid",
"LateErythroid", "Basophil")


df_data$id <- factor(df_data$id, levels = custom_order)

4. 自定义Y轴顺序,也可以直接在输入数据中就进行

gene_order <- c("MS4A3","HDC","RUNX1","HBB","AHSP","KLF1","PKIG","SLC40A1","CNRIP1",
"DAD1","PLEK","PBX1","VPREB1","EBF1","CD79A","LTB","ADA","DNTT","IKZF1",
"JCHAIN",'IRF8',"IRF7","IL3RA","LYZ","CSTA","FCER1G","ELANE","AZU1","PRTN3",
"CTSG","MPO","FLT3","LSP1","SPINK2","SATB1","CRHBP","HOPX","AVP")
df_data$features.plot <- factor(df_data$features.plot, levels = gene_order)

5. 主题设置

mytheme <- 
theme(axis.title.x = element_blank(),
axis.title.y = element_blank(),
axis.text.x = element_text(size = 12, angle = 0),
axis.text.y = element_text(size = 10),
legend.text = element_text(size = 10),
legend.text.align = 0.5,
legend.title = element_text(size = 12, hjust = 0))
  1. 绘图
## Y轴基因倒置一下,使用rev()函数
df_data$features.plot <- factor(df_data$features.plot, levels = rev(gene_order))

ggplot(df_data, aes(x = id, y = features.plot, size = pct.exp, fill = avg.exp.scaled)) +
geom_point(alpha = 1, color = "black", shape = 21, stroke = 0.5) + # stroke参数控制边框的粗细
scale_size(range = c(1, 8), limits = c(1, 100)) + # 调整点的大小范围和数据限制
scale_fill_gradient(low = "white", high = "#f32a1f") + # 更改填充颜色
theme_classic() +
labs(x = NULL,
y = "Features", size = "Percent\nExpressed", fill = "Avg\nExpression") +
# 自定义图例
guides(size = guide_legend(override.aes = list(fill = "black"), # 图例的点填充为黑色
order =1),
fill = guide_colourbar())+
mytheme+
theme(axis.text.x = element_text(angle = 90,hjust = 1),
axis.line = element_line(size = 0.5)) ##'@修改X轴和Y轴粗度

若我们的教程对你有所帮助,请点赞+收藏+转发,大家的支持是我们更新的动力!!

往期部分文章

1. 最全WGCNA教程(替换数据即可出全部结果与图形)

推荐大家购买最新的教程,若是已经购买以前WGNCA教程的同学,可以在对应教程留言,即可获得最新的教程。(注:此教程也仅基于自己理解,不仅局限于此,难免有不恰当地方,请结合自己需求,进行改动。)


2. 精美图形绘制教程

3. 转录组分析教程

4. 转录组下游分析

小杜的生信筆記 ,主要发表或收录生物信息学教程,以及基于R分析和可视化(包括数据分析,图形绘制等);分享感兴趣的文献和学习资料!!


小杜的生信筆記
小杜的生信筆記,生信小白,初来乍到请多指教。 主要学习分享,转录组数据分析,基于R语言数据分析和绘制图片等,以及相关文献的分享。
 最新文章