ggpubr****包****绘制lollipop图
小编今天给大家分享的是ggpubr包绘制lollipop图相关方法。棒棒糖图(lollipop chart),其实就是一个垂线图,棒棒糖图传达了与柱形图或者条形图相同的信息,只是将矩形转变成线条,这样可减少展示空间,重点放在数据点上,从而看起来更加简洁、美观。相对柱形图与条形图,棒棒糖图更加适合数据量比较多的情况。
画图示例
#安装包
#示例数据
#链接:https://pan.baidu.com/s/1UkPToa79jv7DhaY8cHqRUg 提取码:r56h
#install.packages("ggplot2")
#install.packages("ggpubr")
#加载包
library(ggplot2)
library(ggpubr)
#输入文件
inputFile="input_2.txt"
#输出文件
outFile="Lollipop.pdf"
outFile1="Lollipop1.pdf"
#查看工作目录getwd()
#设置工作目录
setwd("C:\\Users\\admin\\Documents\\RStudio\\30.Lollipop")
#读取输入文件数据
rt=read.table(inputFile,header=T,sep="\t",check.names=F)
#输入文件需要有三列信息
#ONTOLOGY: GO分类
#Term: GO名称
#Count: 富集在每个GO上的数目
#输入文件数据展示
image.png
#绘制Lollipop图
pdf(file=outFile,width=7,height=6) #设置输出文件的格式
#ggplot2包绘制
ggplot(rt,aes(x=Term,y=Count))+
geom_hline(yintercept = 0,color="grey",size=1)+ #设置横坐标的坐标系位置,颜色,大小
geom_point(aes(color=ONTOLOGY),size=2)+ #设置点的大小
geom_bar(aes(file=ONTOLOGY),stat="identity",width = 0.2)+ #设置柱子的粗细
theme_bw(base_family = "Times")+
theme(panel.grid.minor = element_blank(), #消除横条的背景线
panel.grid.major.x=element_blank(), #消除竖条的背景线
axis.text.x=element_text(angle = 90), #设置横坐标图例旋转角度
legend.position = "None",
panel.border = element_blank())+
labs(x="Count",y="Term",colour="",linetype="",file="")
dev.off()
image.png
#ggpubr包绘制
pdf(file=outFile1,width=7,height=6)
ggdotchart(rt, x="Term", y="Count", color = "ONTOLOGY",group = "ONTOLOGY", #ggpubr包中ggdotchart()函数绘制
palette = "aaas", #配色方案
legend = "right", #图例位置
sorting = "descending", #上升排序,区别于desc
add = "segments", #增加线段
dot.size = 5, #设置圆圈大小
label = round(rt$Count), #圆圈内数值
font.label = list(color="white",size=9, vjust=0.5), #圆圈内数值字体,颜色设置
rotate = T, #横向显示,设置为rotate=F便是纵向显示
ggtheme = theme_pubr())
dev.off()
image.png
END
图图云平台-永久免费绘图工具
https://www.cloudtutu.com/
网友评论