原創(chuàng) 2018.5.31 星期四 小雨 biolearn
如何利用 R 實現(xiàn)從 A 圖到 B 圖?

只需要三步,畫下面一半,畫上面一半,拼起來即可
1. 畫下面一半
#導入包
library(ggplot2)
library(ggpubr)
#數(shù)據(jù)
data <- data.frame(x = c("Alpha","Bravo","Charlie","Delta"),y=c(200,20,10,15))
#畫下面
p1 <- ggplot(data,aes(x=x,y=y,fill=x)) + geom_bar(stat='identity',position=position_dodge()) +
labs(x=NULL,y=NULL,fill=NULL)+ #可自定義標簽名字
coord_cartesian(ylim = c(0,25)) #設置下面一半的值域

2. 畫上面一半
p2 <- ggplot(data,aes(x=x,y=y,fill=x)) + geom_bar(stat='identity',position=position_dodge()) +
labs(x=NULL,y=NULL,fill=NULL) + #不要標簽
theme(axis.text.x = element_blank(),axis.ticks.x = element_blank()) + #去掉X軸和X軸的文字
coord_cartesian(ylim = c(195,205)) + #設置上面一半的值域
scale_y_continuous(breaks = c(195,205,5)) #以5為單位劃分Y軸

3. 拼起來
ggarrange(p2,p1,heights=c(1/5, 4/5),ncol = 1, nrow = 2,common.legend = TRUE,legend="right",align = "v")
排序為 p2 p1,即上面的圖放上面,下面的圖放下面
heights 兩個圖高度所占的比例,根據(jù)實際情況進行修改
align 這個參數(shù)很重要,對齊參數(shù)將上下兩個圖對齊,h 為水平對齊,v 為垂直對齊

在此基礎上在利用 AI 精修,一張漂亮的圖就完成啦~
轉載請注明出處~ biolearn