美文网首页计算机@linux_python_R 技术帖R语言
2020-04-14 ggplot2进阶-区域放大,交互注释

2020-04-14 ggplot2进阶-区域放大,交互注释

作者: 程凉皮儿 | 来源:发表于2020-04-14 09:56 被阅读0次

上个月在表观学习小组的讨论上,说起过文章里面的区域放大效果图怎么做的,当时还没有了解到真的有R包能完成,大多数人认为可能是PS做的,最近偶然看到一个推送,原来那种图是由ggplot2的扩展包完成的。那就马上来学习一下吧。
学习链接:
https://mp.weixin.qq.com/s/BxPDHi57EUWmYZ6_5UZ4NA
该文章介绍了一个包ggforce,是在ggplot2基础上,将分面显示函数进行了包装,根据数据的选择进行放大或者根据坐标范围进行放大。
刚好最近做的双荧光素酶报告基因实验有了初步结果下面尝试下:

rm(list = ls())
options(stringsAsFactors = F)
library(tidyverse)
library(ggforce)
dat=read.table("data_raw",header = T)
head(dat)

p <- ggplot(dat,aes(wt,mut,colour = gene)) + geom_boxplot() + 
  facet_zoom(ylim = c(0, 2.5)) + cowplot::theme_cowplot()
p
forlabel <- dat %>% filter(wt<80 & mut<1.9)
lp <- p+ geom_boxplot(size = 3,shape =1,data = forlabel)+
  ggrepel::geom_label_repel(aes(label = gene),
                            data = forlabel)
lp
library(export)
export::graph2ppt(lp)
程良平的实验数据
facet_zoom()函数完成了从纵坐标截取一段放大展示。这个图导出到ppt后可以解组合,然后再进行细节调整。
自己画的标注那么丑,想结合Y叔叔前几天分享的交互注释你的ggplot,再来排个版(主要是自己不会写函数)由于网络原因直接从GitHub安装包比较难,想办法下载到本地安装,这是个shiny插件,用ggannotate::ggannotate(p)出图,然后可以用鼠标调整细节:
library(devtools)
#install_local("./ggannotate-master/",upgrade = F)
ggannotate::ggannotate(p)

geom_text(data = data.frame(label = "NONO"),
          mapping = aes(label = label),
          size = 3.86605783866058,
          angle = 0L,
          lineheight = 2L,
          hjust = 0.5,
          vjust = 0.5,
          colour = "black",
          family = "sans",
          fontface = "bold",
          inherit.aes = FALSE,
          show.legend = FALSE)
ggsave("luc20200413.png")
程良平的实验结果

失败的尝试,并没有把想要的标识弄出来,也不要了,记录下来,后面再尝试吧。

发现原始读值比的结果不太好(汇报需要柱状图,科研汪的必备技能),继续处理一下:
用mean+se来做个最常展示的bar图吧:

dat=read.table("mean_sd_0413",header = T)
p3 <- ggplot(dat,aes(y=mean,x=gp))+
  geom_bar(stat="identity", position=position_dodge(width=.8))+
  theme(plot.title = element_text(hjust = 0.5),
        axis.title = element_text(size = 10, color = "blue", face = "bold"),
        axis.text.x = element_text(size = 8, angle = 45, hjust = 1, vjust = 1, face = "bold"))+
  geom_errorbar(
    data = dat,
    aes(gp, mean, ymin = mean - sd, ymax = mean + sd),
    colour = 'black',
    width = 0.4
  )
p3
程良平的实验数据

相关文章

  • 2020-04-14 ggplot2进阶-区域放大,交互注释

    上个月在表观学习小组的讨论上,说起过文章里面的区域放大效果图怎么做的,当时还没有了解到真的有R包能完成,大多数人认...

  • ggforce画图

    ggforce基于对ggplot2的扩展,可以更好的展示相应的视图,并根据数据绘制轮廓以及区域放大。1.形状的扩展...

  • 「r<-包」ggplot2 图区域放大

    这个功能今天工作的时候需要,就搜了一下,有个 ggforce 包可以做这个事情(之前还 mark 过,哈哈)。 简...

  • ggplot2学习(三)

    ggplot2基础(3)——注释 ggplot2基础(1)[https://www.jianshu.com/p/0...

  • 6.1  注释规范

    html注释: 注释格式 , '--'只能在注释的始末位置,不可置入注释文字区域; css注释: 注释格式 /这儿...

  • 纯干货!JAVA细节标注+源码分析

    一、基本数据类型 注释 单行注释:// 区域注释:/* */ 文档注释:/** */ 数值 对于byte类型而言...

  • 9 可视化数据探索 R作图ggplot

    ggplot2 探索数据 做成合并的图 最终效果 添加注释 https://www.shixiangwang.to...

  • Vue指令实现区域点击放大

    在H5的项目中,通常有很多区域性的 点击icon ,布局实现比较麻烦,为了放大点击区域,实现区域点击放大的效果,我...

  • 重复区域注释

    1.UCSC上重复区域文件rmsk.txt.gz 将rmsk文件根据重复序列分类需求转换为bed文件:grep L...

  • 【Axure10】说明(注释)区域-页面说明

    说明(注释)区域-页面说明 注:在预览时,显示注释说明内容需手动点击打开。 页面注释设置 编辑页面注释 进行页面注...

网友评论

    本文标题:2020-04-14 ggplot2进阶-区域放大,交互注释

    本文链接:https://www.haomeiwen.com/subject/dpngmhtx.html