查看原文
其他

截断坐标轴后,你还想留更多的白?

Y叔叔 YuLabSMU 2022-09-21
library(ggplot2)
library(ggbreak) 
library(patchwork)

set.seed(2019-01-19)
d <- data.frame(x = 1:20,
   y = c(rnorm(5) + 4, rnorm(5) + 20, rnorm(5) + 5, rnorm(5) + 22)
)
 
p1 <- ggplot(d, aes(y, x)) + geom_col(orientation="y")
p1 + scale_x_break(c(717)) 

代码大家不陌生,出来图也是符合大家的期望的,这是长这样子的:

中间的间隔是默认调很小的,因为大部分人是不会调的,而且需求就应该是比较小。但默认这个你可能觉得太小,截断的位置显示得不明显,所以你想搞大它?好像不太容易吧。



现在就是想搞大一点,该怎么搞呢?我们截得断坐标轴,当然搞大得了空隙,那么我们在ggbreak 0.0.8版本中引入了space参数,这个版本已经在cran上了,升级一下,即可拥有,它适用于scale_x_break(), scale_y_break(), scale_x_cut()和scale_y_cut()几个函数,默认是0.1,单位是cm,单位是写死的,所以你调数字就行。


p1 + scale_x_break(c(717), space=1


调来看看,出图如下:


再来个用cut的例子:

library(ggplot2)
library(ggbreak)
set.seed(2019-01-19)
d <- data.frame(
     x = 1:20,
     y = c(rnorm(5) + 4, rnorm(5) + 20, rnorm(5) + 5, rnorm(5) + 22)
 )
p <- ggplot(d, aes(x, y)) + geom_col()
p + scale_y_cut(breaks=c(718), which=c(13), scales=c(30.5), space=.5)



点击图片,了解一下ggbreak这个包,谁来把这个包的0引用给干掉?


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存