R語言—ggplot2畫圖如何截斷 y 軸

原創(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

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容