R可视化之ggplot2绘制堆叠barplot

100天生信-Day2

条形图作为科研中最常用的可视化方法之一,在转录组下游可视化中同样有用武之地。比如展示GO terms中基因的数目就经常用得到,而且每个terms可以堆叠/分组展示不同组间的比较或者一个组内的上下调变化,如下展示:


barplot_stack.png

输入数据要求长数据,长宽数据使用reshape2转换,参考:https://cloud.tencent.com/developer/article/1369874

绘图代码如下

library(ggplot2)

## 导入数据
setwd("PATH")  
test <- read.csv('test.csv', header = T)

## 设置展示的顺序,不设置则默认按照首字母
order = {xxxxxxxxx,
         xxxxxxxxx,
         ..........
         }

## 将dataframe按之前设置转换为因子,顺序固定,加rev()表示反向,默认顺序是反的
test = as.factor(test, levels = rev(order))

ggplot(test, aes(x = goterms, y = number, fill = group)) + ## 1. 按照输入数据的列名映射数据
  geom_bar(position="stack",stat="identity") +   ## 2. 排列方式,stack堆叠,换dodge变单独两条
  coord_flip()  +     ## 3. 横竖转换,去掉这行就是竖排
  theme_set(theme_bw()) + theme(panel.grid.major=element_line(colour=NA)) +   ## 4. 去背景颜色和网格
  theme(axis.title.x=element_blank(),axis.title.y=element_blank(),legend.title=element_blank()) +    ## 5. 换主题
  scale_fill_manual(values=c("red", "darkblue"))   ## 6. 换颜色
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容