Type: Package
Title: Define Segments in y-Axis for 'ggplot2'
Version: 1.3
Description: It is not very easy to define segments for y-axis in a 'ggplot2' plot. gg.gap() function in this package can carry it out.
Imports: ggplot2, cowplot, grid
License: GPL-3
Encoding: UTF-8
LazyData: true
RoxygenNote: 6.1.1
URL: https://github.com/ChrisLou-bioinfo/gg.gap
BugReports: https://github.com/ChrisLou-bioinfo/gg.gap/issues
NeedsCompilation: no
Packaged: 2019-09-23 15:12:20 UTC; asus
Author: Jiacheng Lou [aut, cre], Jing Zhang [aut], Yizhu Lvy [aut], Zhi Jin [aut]
Maintainer: Jiacheng Lou <loujiacheng1986@foxmail.com>
Repository: CRAN
Date/Publication: 2019-09-30 16:10:02 UTC

Add Legend to gg.gap()

Description

Add legend to gg.gap().

Usage

add.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 Gear") +
    xlab("Gears")
gg.gap(plot = bp,
       ylim = c(0,16),
       segments = c(6,8))
add.legend(plot = bp,
           margin = c(top=1,right=1,bottom=1,left=460))

Define Segments in y-Axis for 'ggplot2'

Description

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

Usage

gg.gap(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 Gear") +
    xlab("Gears")

#single segments and missing tick_width
gg.gap(plot=p,
       segments=c(5,10),
       ylim=c(0,50))
#tick_width can be one or more numbers
gg.gap(plot=p,
       segments=c(5,10),
       tick_width = c(1,10),
       ylim=c(0,50))
#segments list cantains more than one number vectors
gg.gap(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
gg.gap(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 Gear") +
    xlab("Gears")+
    scale_y_continuous(trans = 'reverse')
#single segments and missing tick_width
gg.gap(plot=p,
       segments=c(10,5),
       ylim=c(15,0))