前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R绘图|转录组上游分析结果可视化-双向柱状图

R绘图|转录组上游分析结果可视化-双向柱状图

作者头像
小汪Waud
发布2023-02-20 11:17:04
7470
发布2023-02-20 11:17:04
举报
文章被收录于专栏:小汪Waud

整理毕业论文数据的时候,想将RNA-seq上游的一些分析结果可视化,主要是比对和定量的结果,通过图表展示反而没有那么直观,经过一番摸索,最后画出了下面的图。

如有问题,请多多指教!

这是一页PPT

准备数据

我的数据是4个不同处理,分别为HNa、HTa、THa、TNa,每个处理3个重复,想要同时展示Mapped和Assigned率。

数据已修改

首先我们先给数据加上分组信息,便于后续作图。

把数据放到放到txt中(其他格式文件也可以,看个人习惯),去掉百分号并保存为maprate.txt。

作图

1 读入数据并处理

代码语言:javascript
复制
maprate <- read.csv('maprate.txt',header = T,sep = "") # 数据读取
maprate$Assigned=maprate$Assigned*-1 # 将Assigned变成负值
library(reshape2)
longdata <- melt(maprate) # 宽数据转长数据

2 作图

代码语言:javascript
复制
library(ggplot2)
ggplot(longdata, aes(SampleName, value, fill = Group)) +
  geom_col(position = position_dodge(width = 0.5), 
           width = 0.5, size = 0.3, colour = 'black') + # 柱形图绘制
  theme_classic()+ # 主题设置

这个图实在是太丑了有没有!

3 美化

我们来加亿点点细节。

代码语言:javascript
复制
library(ggplot2)
library(ggsci)
library(ggbreak)
ggplot(longdata, aes(SampleName, value, fill = Group)) +
  geom_col(position = position_dodge(width = 0.5), 
           width = 0.5, size = 0.3, colour = 'black') + # 柱形图绘制
  theme_classic()+ # 主题设置
  scale_fill_npg()+ # 颜色设置
  labs(x = 'Sample Name', y = 'Rate(%)') + #设置坐标轴标签
  scale_y_break(c(-70, 95), scales = 1.5) + # 坐标轴截断
  theme(axis.text = element_text(size = 12)) + # 修改字体大小
  theme(axis.title = element_text(size = 14))+
  annotate('text',label = 'Mapped', 2, 96,size=6) + # 修改标签位置和大小
  annotate('text',label = 'Assigned', 2, -79,size=6)+
  scale_y_continuous(breaks = seq(-90, 100, 1), 
                     labels = as.character(abs(seq(-90, 100, 1))), 
                     limits = c(-89, 98)) # 截断的数值显示

现在已经好很多了,不过还是不够好看,不妨通过eoffice将图导入到PPT进行微调。

代码语言:javascript
复制
topptx(filename = "test.pptx",width = 8,height = 6)

在工作目录中找到test.pptx,取消图形的组合。

我对其进行以下操作

  1. 去掉右侧多余的坐标轴
  2. 调整左侧Y轴点的个数
  3. 添加截断标志和0线
  4. 调整字体为Times New Roman,颜色为黑色,部分加粗
  5. 加红框突出
  6. 其他微调

最终图如下:

参考资料:

  1. 《R 中的 scale_y_continuous 函数》https://www.delftstack.com/zh/howto/r/scale_y_continuous-in-r/
  2. 《ggbreak:你们要的坐标轴截断,它来了》https://mp.weixin.qq.com/s/l98Pfk4xPykWWuIJs7katw
  3. 《R语言绘制双向柱状图示例》https://mp.weixin.qq.com/s/trx2tKt-EV4n7W2xs20lAg
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-04-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小汪Waud 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 准备数据
  • 作图
    • 1 读入数据并处理
      • 2 作图
        • 3 美化
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档