参考:
「r<-包|ggplot2|grid」ggplotify——连接各类R图形
R神包export的使用
缘由;
最近使用ChIPseeker 对peak进行了注释,画一个注释结果分布图,结果发现画pie 图,右边legend 被覆盖了;但是画bar 图一切正常。以为直接将画布拉宽就行,但没有变化。。。
![](https://img.haomeiwen.com/i9589088/28505d7e9b16884d.png)
- code
library(ChIPseeker)
library(org.Hs.eg.db)
library(TxDb.Hsapiens.UCSC.hg38.knownGene)
library(clusterProfiler)
library(VennDiagram)
library(stringi)
txdb <- TxDb.Hsapiens.UCSC.hg38.knownGene
# devtools::install_github("tomwenseleers/export")
library(export)
library(ggplotify)
setwd("E:\\单细胞\\HZAU_scChIP\\测试CUT&Tag\\Fig5_peak注释结果")
##
peak <- readPeakFile("ENCFF465EGH.bed")
# covplot(peak, chr = c("chr1", "chr2"))
peakAnno <- annotatePeak(peak, tssRegion = c(-3000, 3000), TxDb = txdb, annoDb="org.Hs.eg.db")
## 基础pie
plotAnnoPie(peakAnno)
## 转换成ppt
graph2ppt(file="effect plot.pptx", width=7, height=5)
## 转换成ggplot
p1 <- as.ggplot(~plotAnnoPie(peakAnno))
p1
实践:
1.发现画bar 图一切正常,并且是一个ggplot2 对象,可以直接修改主题;pie 使用的pie 函数画的,基础绘图。https://github.com/YuLab-SMU/ChIPseeker/blob/master/R/plotAnno.R
-
首先我们画ggplot2 时候,画板面积太小,可能导致文字叠加问题,手动调整大小就可以;基础语法的pie 图,我们拉宽画布,查看效果,还是存在叠加想象
image.png
![](https://img.haomeiwen.com/i9589088/a161582474e8e968.png)
- 怎么让它显示正常呢,可以拉宽画布,在运行一次饼图函数。
plotAnnoPie(peakAnno)
image.png
2.尝试用ggplotify 包解决问题
-
我对基础语法,理解不深刻。运行后出现报错
image.png
-
如何需要转换成ggplot2 语法,可以这样操作
p1 <- as.ggplot(~plotAnnoPie(peakAnno))
p1+ theme_bw()
![](https://img.haomeiwen.com/i9589088/17a0702b3e034779.png)
3.export 包使用
- 对于图例和饼图存在叠加情况,用基因语法画图,及时导出为ppt,还是无法显示被覆盖区间的内容。可能是ggplot 和 基础语法 画图差异。
-
但是导出ppt ,取消组合,日常修图可以胜任的。
image.png
![](https://img.haomeiwen.com/i9589088/982d9d0e8e1ba41f.png)
思考
-
ggplotify
可以将base plot 转换成ggplot 对象。as.ggplot(~plotAnnoPie(peakAnno))
,要加上~
波浪号 - export 转换成ppt ,完成日常修图
- ChIPseeker里面
plotAnnoPie
基础语法绘图;plotAnnoBar
使用ggplot 语法绘图
欢迎大家评论交流~😀
网友评论