可视化R语言知识干货R数据处理

R语言—ggplot2画图如何截断 y 轴

2018-05-31  本文已影响402人  biolearn

原创 2018.5.31 星期四 小雨 biolearn

如何利用 R 实现从 A 图到 B 图?

只需要三步,画下面一半,画上面一半,拼起来即可

1. 画下面一半

#导入包
library(ggplot2)
library(ggpubr)
#数据
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 两个图高度所占的比例,根据实际情况进行修改
align 这个参数很重要,对齐参数将上下两个图对齐,h 为水平对齐,v 为垂直对齐

在此基础上在利用 AI 精修,一张漂亮的图就完成啦~

转载请注明出处~ biolearn

上一篇下一篇

猜你喜欢

热点阅读