2022-10-25 03:42:37, 多层组学定制服务 上海欧易生物医学科技有限公司

柱状图是一种常见的数据可视化方式,主要用于展示趋势、排序、分布、相关性等数据分析的含义、应用广泛。柱状图有许多类型,包括常规款、堆积柱状图、簇状图等,种类繁多,让人眼花缭乱,那我们怎么用R语言绘制想要的形式呢?下面小鹿就带大家一起去看看!
1.常规柱状图
我们经常会对KEGG中重要的代谢通路进行绘图,下面就用柱状图来展示代谢通路富集结果:
#载入R包,没有请先安装library(openxlsx)library(ggplot2)library(dplyr)library(tidyverse)library(reshape2)library(ggExtra)#数据处理data <- read.xlsx("data.xlsx")data <- data[order(data$log,decreasing = T),]data[''term''] <- factor(data[["term"]],levels = as.character(data[["term"]]))head(data)
#绘图col<- c("#000000","#191970","#000080","#0000CD","#0000EE","#0000FF")#颜色自定义p <- ggplot(data,aes(x=log,y=term,fill=log))+labs(x="-log(Pvalue)",y="")+geom_bar(stat = "identity",position = "dodge",width = 0.6)+#水平柱状图scale_x_continuous(expand = c(0,0))+#去除柱子与y轴间的距离theme(panel.background = element_blank(),#绘图背景色panel.border = element_rect(fill=NA,color="black", size=1),#绘图边界axis.ticks.length.y = unit(0, ''cm''),#y轴刻度线axis.ticks.length.x = unit(-0.1, ''cm''),#x轴刻度线legend.position = "none",#隐藏图例axis.text.y = element_text(colour = "black"),#y轴标签颜色text = element_text(family = "sans"))+#指定字体scale_fill_gradientn(colours=colorRampPalette(rev(col))(length(data$log)))+#柱子填充色为自定义渐变色geom_vline(xintercept=-log10(0.01), linetype=5,colour = "red",lwd = 1)+#垂直参考线geom_vline(xintercept=-log10(0.05), linetype=5,colour = "blue",lwd = 1)
2.堆积柱状图
微生物研究中,往往要对样本中的微生物种类进行统计,下面就从统计每个样本中门的数量分布来观察不同样本的物种丰富程度。
data1 <- read.xlsx("d2.xlsx",1)head(data1)
#数据处理——phylum(门)蛋白数量最多的10个门绘制堆积图d1 <- data1#筛选排名前十的门phy1 <- as.data.frame(sort(table(d1$phylum),decreasing = T))[1:10,]colnames(phy1) <- c("phylum","number")d1[,2:10][which(!(is.na(d1[,2:10])),arr.ind = T)] <- 1d1[,2:10][which((is.na(d1[,2:10])),arr.ind = T)] <- 0mydata1 <- subset(d1,d1$phylum %in% phy1$phylum)d2 <- aggregate(mydata1[,2:10],list(mydata1$phylum),sum)colnames(d2)[1] <- "phylum" #某列重命名d2 <- merge(d2,phy1)d2 <- d2[order(d2$number,decreasing = T),]#统计每个样本的每个门下对应的蛋白表达个数d2$phylum <- apply(d2["phylum"],1,function(x){paste("p_",x,collapse = "")})d2$phylum <- factor(d2$phylum, levels = rev(d2$phylum))data <- melt(d2[,-dim(d2)[2]],id="phylum")#绘图数据
绘图:#自定义填充色颜色fill1 <- c("#8E44AD","#BB8FCE","#E67E22","#F8C471","#FC4A24","#FD7B5F","#2ECC71","#9CF699","#3498DB","#85C1E9")p <- ggplot(data,aes(x=variable,y=value,fill=phylum))+geom_bar(stat = "identity",position = "fill",width = 0.65)+#比例堆叠柱状图scale_fill_discrete(type = rev(fill1))p1 <- p + ylab("Relative Abundance(%)") + xlab("")+theme(text=element_text(size=16, family="serif"),#图形文本大小字体axis.text.x = element_text(angle = 30, hjust = 1, vjust = 1),#x轴标签位置调整panel.border = element_rect(fill=NA,color="grey", size=1),#绘图区边界线panel.background = element_blank(),#绘图区背景legend.title = element_blank(),#隐藏图例标题legend.key.size = unit(20, "pt"),#图例键大小legend.key.height = unit(10, "pt"),#图例键长legend.key.width = unit(10, "pt"))#图例键宽
3.边缘柱状图
当然,柱状图也可以和其它类型图片结合,比如散点图、箱线图、密度图、小提琴图、热图等,下面展示一下密度边缘直方图:
data <- data1[c("MW.[kDa]","calc..pI")]colnames(data) <- c("MW","PI")head(data)
#绘制散点图p <- ggplot(data = data,aes(x=MW,y=PI))+geom_point(colour="#8A2BE2",size=1.5)+#散点图点颜色大小geom_rug(color = "#8A2BE2",length = unit(0.4, "cm"))+#边缘地毯颜色长度xlab("Molecular Weight")+ylab("Isoelectric Point")+theme_classic()#主题#添加边际直方图p <- ggMarginal(p,type = "histogram",#边际类型xparams = list(fill="#8DEEEE",color = "#D3D3D3"),#X边际颜色yparams = list(fill="#FFE4E1",color = "#D3D3D3"))#Y边际颜色
小结:在生物分析中,柱状图利用柱子高度直观展现数据间的差异,而R可以根据不同分析需求将数据以不同的方式展示。
组间簇状图适合分析有层级关系的数据、分析对比组内各项数据;
堆积柱状图可以形象的展示一个大分类包含的每个小分类的数据,以及小分类的占比情况,显示的是单个项目与整体之间的关系;
边缘柱状图在散点图的基础上添加了柱状图,不仅能展现数据的分布情况,还能直观分析数据的变化。
本文的三种绘图方式简单明了,一起来画画看吧!
猜你还想看
1、Nat Commu | 空间代谢组+磷酸化蛋白+转录组研究胶质母细胞瘤患者异种移植模型的药代动力学和药效学整合图谱
2、Sci Immunol | IF:30+,微生物衍生的代谢物TMAO驱动免疫激活并促进胰腺癌患者对免疫检查点阻断的反应
3、Nat Commu | 蛋白质组学+脂质组学探究多胺对非酒精性脂肪肝的预防机制
4、Science关注 | 通过高分辨率质谱成像技术和单细胞转录组技术揭示鞘脂控制真皮成纤维细胞异质性
END
Aning|撰文
小久|排版
欢迎转发到朋友圈
本文系鹿明生物原创
转载请注明本文转自鹿明生物
我知道你在看哟
点击“阅读原文”了解更多
07-23
化学实验基石:如何制作一条“靠谱”的标准曲线?(下)07-23
连华故事·第5期 | 信得过,所以一直用07-23
活动过半提醒 |618+818双擎守护 购买产品即送豪礼07-23
国资委46号令施行:科学仪器自主创新,更要经得起验证07-22
标称65%的探测效率,实测却只剩10%多:SPAD单光子探测效率,差距到底藏在哪?07-21 光电传感器量测
NK细胞扩增"利器"—— GMP级基因改造K562滋养层细胞07-21
CGT产品RCV风险怎么控?CDE最新征求意见稿深度解读07-21
广拓新境,再攀“高度”|Altura 生物分析版图再扩容07-21 安捷伦科技
PFAS 检测再升级:安捷伦创新方案破解生物固体样本分析难题07-21 安捷伦科技
ACT-UR 支持项目登上《Nature》——安捷伦先进分析技术助力揭示蜂王发育的“建筑密码”07-21 安捷伦科技
【专题会议】聚焦 Vaya 手持拉曼,安捷伦助力原辅料快速、合规、精准入场质检07-21 安捷伦科技
科学搬家 vs 普通搬家:深度拆解实验室搬迁服务的分水岭07-21 安捷伦科技
半导体超痕量分析新选择 | 安捷伦 PFA‑ST MicroFlow 微流量雾化器07-21 安捷伦科技
制备色谱放大务必关注背压 —— 填料粒径与流动相组成对背压的影响07-21 绿绵科技
邀请函 | 2026(第十二届)全国香料香精技术交流年会07-20 大昌华嘉
网络研讨会 | 基于EOF和AOF分析的水基质中PFAS筛查07-20 大昌华嘉
邀请函 | 第十届细胞外囊泡合规与临床应用大会07-20 大昌华嘉
网络研讨会 | 新一代NTA技术助力细胞外囊泡质量评估与工艺开发07-20 大昌华嘉
网络讲堂 | 7月24日 核磁共振分析仪在食品科学中的应用,诚邀莅临!07-20 哈希公司








