美文网首页生信可视化生物信息学与算法
ggplot2基础画图-带百分百的条形图

ggplot2基础画图-带百分百的条形图

作者: bioYIYI | 来源:发表于2020-04-29 15:20 被阅读0次

条形图很常用,excel就能画,但很多时候不仅要看绝对数量,还要看其在总体中的占比,这时excel就无能为力了(除非一个一个手动添加),今天分享一下用ggplot2绘制这种带百分百的条形图,代码很简单,但省去了你自己调图的时间~

示例

image.png

代码

#读入文件
data <- read.table('data.txt', header=T)
#预处理
data$var <- as.character(data$var)
data$var <- factor(data$var, levels=data$var[seq(20, 1, -1)])
#画图
pdf('example.pdf', width=12, height=6)
ggplot(data, aes(x=var, y=ratio,fill="blue")) + geom_bar(stat="identity", position=position_dodge2(reverse=T)) +
  coord_flip() + scale_y_reverse(expand=expand_scale(add=c(0.05, 0))) + scale_x_discrete(position="top") +
  theme(panel.grid.major.x=element_blank(), legend.position="top") +
  xlab("") + ylab("carrier ratio (%)") + scale_fill_manual(values=c("#8DA0CB", "#FC8D62"), name="") +
  guides(fill=F) + geom_text(aes(label=paste(format(round(ratio, 2), nsmall=2), '% (', num, ')', sep="")), position=position_dodge2(0.9, reverse=T), size=3, hjust=1.2)
dev.off()

输入文件格式

示例如下:


image.png

注:需要排好序,且ratio的单位是%
如果你得到了帮助,不要吝啬留下你的赞哦~

相关文章

网友评论

    本文标题:ggplot2基础画图-带百分百的条形图

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