Last data update: 2014.03.03

R: Arrange grobs by parse their legend.
arrangeGrobByParsingLegendR Documentation

Arrange grobs by parse their legend.

Description

Arrange grobs and parse their legend, then put it together on the right.

Usage

arrangeGrobByParsingLegend(..., nrow = NULL, ncol = NULL,
                           widths = c(4, 1), legend.idx = NULL)

Arguments

...

ggplot graphics.

nrow

number of row for layout.

ncol

number of columns for layout

widths

width ratio for plot group and legend group.

legend.idx

legend index you want to keep.

Value

a

Author(s)

Tengfei Yin

Examples

library(ggplot2)
p1 <- qplot(x = mpg, y= cyl, data = mtcars, color = carb)
p2 <- qplot(x = mpg, y= cyl, data = mtcars, color = wt)
p3 <- qplot(x = mpg, y= cyl, data = mtcars, color = qsec)
p4 <- qplot(x = mpg, y= cyl, data = mtcars, color = gear)
arrangeGrobByParsingLegend(p1, p2, p3, p4)
arrangeGrobByParsingLegend(p1, p2, p3, p4, ncol = 1)
arrangeGrobByParsingLegend(p1, p2, p3, p4, legend.idx = 2)

Results


R version 3.3.1 (2016-06-21) -- "Bug in Your Hair"
Copyright (C) 2016 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> library(ggbio)
Loading required package: BiocGenerics
Loading required package: parallel

Attaching package: 'BiocGenerics'

The following objects are masked from 'package:parallel':

    clusterApply, clusterApplyLB, clusterCall, clusterEvalQ,
    clusterExport, clusterMap, parApply, parCapply, parLapply,
    parLapplyLB, parRapply, parSapply, parSapplyLB

The following objects are masked from 'package:stats':

    IQR, mad, xtabs

The following objects are masked from 'package:base':

    Filter, Find, Map, Position, Reduce, anyDuplicated, append,
    as.data.frame, cbind, colnames, do.call, duplicated, eval, evalq,
    get, grep, grepl, intersect, is.unsorted, lapply, lengths, mapply,
    match, mget, order, paste, pmax, pmax.int, pmin, pmin.int, rank,
    rbind, rownames, sapply, setdiff, sort, table, tapply, union,
    unique, unsplit

Loading required package: ggplot2
Need specific help about ggbio? try mailing 
 the maintainer or visit http://tengfei.github.com/ggbio/

Attaching package: 'ggbio'

The following objects are masked from 'package:ggplot2':

    geom_bar, geom_rect, geom_segment, ggsave, stat_bin, stat_identity,
    xlim

Warning message:
replacing previous import 'ggplot2::Position' by 'BiocGenerics::Position' when loading 'ggbio' 
> png(filename="/home/ddbj/snapshot/RGM3/R_BC/result/ggbio/arrangeGrobByParsingLegend.Rd_%03d_medium.png", width=480, height=480)
> ### Name: arrangeGrobByParsingLegend
> ### Title: Arrange grobs by parse their legend.
> ### Aliases: arrangeGrobByParsingLegend
> 
> ### ** Examples
> 
> library(ggplot2)
> p1 <- qplot(x = mpg, y= cyl, data = mtcars, color = carb)
> p2 <- qplot(x = mpg, y= cyl, data = mtcars, color = wt)
> p3 <- qplot(x = mpg, y= cyl, data = mtcars, color = qsec)
> p4 <- qplot(x = mpg, y= cyl, data = mtcars, color = gear)
> arrangeGrobByParsingLegend(p1, p2, p3, p4)
TableGrob (1 x 2) "arrange": 2 grobs
  z     cells    name            grob
1 1 (1-1,1-1) arrange gtable[arrange]
2 2 (1-1,2-2) arrange gtable[arrange]
> arrangeGrobByParsingLegend(p1, p2, p3, p4, ncol = 1)
TableGrob (1 x 2) "arrange": 2 grobs
  z     cells    name            grob
1 1 (1-1,1-1) arrange gtable[arrange]
2 2 (1-1,2-2) arrange gtable[arrange]
> arrangeGrobByParsingLegend(p1, p2, p3, p4, legend.idx = 2)
TableGrob (1 x 2) "arrange": 2 grobs
  z     cells    name            grob
1 1 (1-1,1-1) arrange gtable[arrange]
2 2 (1-1,2-2) arrange gtable[arrange]
> 
> 
> 
> 
> 
> dev.off()
null device 
          1 
>