| Type: | Package | 
| Title: | Streamlined Creation of Segments on the Y-Axis of 'ggplot2' Plots | 
| Version: | 1.0.1 | 
| Description: | The function gggap() streamlines the creation of segments on the y-axis of 'ggplot2' plots which is otherwise not a trivial task to accomplish. | 
| Imports: | ggplot2, cowplot, grid | 
| License: | GPL-3 | 
| Encoding: | UTF-8 | 
| LazyData: | true | 
| RoxygenNote: | 6.1.1 | 
| URL: | https://github.com/cmoralesmx/gggap | 
| BugReports: | https://github.com/cmoralesmx/gggap/issues | 
| NeedsCompilation: | no | 
| Packaged: | 2020-11-17 13:25:12 UTC; cmoralesmx | 
| Author: | Carlos Morales [aut, cre], Jiacheng Lou [aut], Jing Zhang [aut], Yizhu Lvy [aut], Zhi Jin [aut] | 
| Maintainer: | Carlos Morales <carlosmorales777@gmail.com> | 
| Repository: | CRAN | 
| Date/Publication: | 2020-11-20 09:20:02 UTC | 
Define Segments in y-Axis for 'ggplot2'
Description
Easy-to-define segments in y-axis for 'ggplot2'.
Usage
gggap(plot, ylim, segments, tick_width, rel_heights, vjust = 0,
  margin = c(top = 1, right = 2, bottom = 1, left = 1), ...)
Arguments
| plot | A 'ggplot2' plot. | 
| ylim | The y-axis limits. | 
| segments | The interval of a segment. If more than one intervals are given, please use list() to concatenate them. | 
| tick_width | One or more numbers for each segmented y-axis. | 
| rel_heights | Numerical vector of relative segmented y-axis and segments heights, default is 1 and 0. | 
| vjust | Vertical justification. Default = 0 (baseline at y). | 
| margin | Margins around the text. | 
| ... | Arguments will be handed to plot_grid() in 'cowplot'. | 
Value
A segmented picture.
Examples
data(mtcars)
library(ggplot2)
p <- ggplot(data = mtcars, aes(x = gear, fill = gear)) +
  geom_bar() +
  ggtitle("Number of Cars by Gears") +
  xlab("Gears")
# single segments and missing tick_width
gggap(
  plot = p,
  segments = c(5, 10),
  ylim = c(0, 50)
)
# tick_width can be one or more numbers
gggap(
  plot = p,
  segments = c(5, 10),
  tick_width = c(1, 10),
  ylim = c(0, 50)
)
# segments list cantains more than one number vectors
gggap(
  plot = p,
  segments = list(c(2.5, 4), c(5, 10)),
  tick_width = c(1, 0.5, 10),
  ylim = c(0, 50)
)
# rel_heights can set the relative height for segments and segmented y-axis
gggap(
  plot = p,
  segments = list(c(2.5, 4), c(5, 10)),
  tick_width = c(1, 0.5, 10),
  rel_heights = c(0.2, 0, 0.2, 0, 1),
  ylim = c(0, 50)
)
# reversed y-axis
p <- ggplot(
  data = mtcars,
  aes(x = gear, fill = gear)) +
  geom_bar() +
  ggtitle("Number of Cars by Gears") +
  xlab("Gears")+
  scale_y_continuous(trans = 'reverse')
#single segments and missing tick_width
gggap(
  plot = p,
  segments = c(10, 5),
  ylim = c(15, 0))
Add Legend to gggap()
Description
Add a legend to a 'ggplot2' plot modified by gggap().
Usage
gggap_legend(plot, margin = c(top = 200, right = 200, bottom = 200, left =
  200))
Arguments
| plot | A 'ggplot2' plot. | 
| margin | Margins around the text. | 
Value
A legend-added picture
Examples
library(ggplot2)
mtcars$gear <- factor(mtcars$gear)
bp <- ggplot(
  data = mtcars,
  aes(x = gear, fill = gear)
) +
geom_bar() +
ggtitle("Number of Cars by Gears") +
xlab("Gears")
gggap(
  plot = bp,
  ylim = c(0, 16),
  segments = c(6, 8)
)
gggap_legend(
  plot = bp,
  margin = c(top = 1, right = 1, bottom = 1, left = 460)
)