gggap: Define Segments in y-Axis for 'ggplot2'

Description Usage Arguments Value Examples

View source: R/gggap.R

Description

Easy-to-define segments in y-axis for 'ggplot2'.

Usage

1
2
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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
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))

Example output

[1] "plot_midd, skipped, only 1 segment"
[1] "plot_midd, skipped, only 1 segment"
Scale for 'y' is already present. Adding another scale for 'y', which will
replace the existing scale.
[1] "plot_midd, skipped, only 1 segment"
Scale for 'y' is already present. Adding another scale for 'y', which will
replace the existing scale.

gggap documentation built on Nov. 20, 2020, 5:08 p.m.