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)
)