image.png
在一个交流群看到有人问这个图怎么实现,今天的推文我们来介绍一下如何用R预言的ggplot2实现上面这个图。
首先是准备作图数据,作图数据整理成如下格式,我这里用excel存储
image.png
library(readxl)
library(ggplot2)
library(tidyverse)
dat<-read_excel("data/20231114/data.xlsx")
dat
ggplot()+
geom_segment(data=data.frame(y=seq(0,200,by=20),
yend=seq(0,200,by=20)),
aes(x=0.5,xend=5.5,y=y,yend=yend),
color="gray")+
geom_bar(data=dat,aes(x=x,y=value,fill="Total value"),stat="identity")+
geom_bar(stat="identity",position = "dodge",
data=dat,aes(x=x,y=value,fill=group))+
theme_bw(base_size = 20)+
theme(panel.grid = element_blank(),
legend.position = "top",
legend.title = element_blank(),
panel.border = element_blank(),
axis.ticks = element_blank(),
axis.line.x = element_line())+
scale_y_continuous(expand = expansion(mult=c(0,0)),
limits = c(0,200),
breaks = seq(0,200,by=20))+
scale_x_discrete(labels=c(2000,"01","02","03","04"))+
labs(x=NULL,y=NULL)+
geom_text(data=dat %>% group_by(x) %>% summarise(sum_value=sum(value)),
aes(x=x,y=sum_value,label=sum_value),
vjust=-1,size=5)+
scale_fill_manual(values = c("#f8766d","#a3a500","#00bf7d","#00b0f6","gray"))
image.png
背后灰色的柱子是堆积柱形图,只不过没有按照分组添加颜色,统一填充了同样的颜色灰色。前面的柱子是簇状柱形图
示例数据和代码可以给推文打赏1元获取
欢迎大家关注我的公众号
小明的数据分析笔记本
小明的数据分析笔记本 公众号 主要分享:1、R语言和python做数据分析和数据可视化的简单小例子;2、园艺植物相关转录组学、基因组学、群体遗传学文献阅读笔记;3、生物信息学入门学习资料及自己的学习笔记!
image.png