Last data update: 2014.03.03
R: Arrow geoms for GRanges object
geom_arrow R Documentation
Arrow geoms for GRanges object
Description
Show interval data as arrows.
Usage
## S4 method for signature 'GRanges'
geom_arrow(data, ..., xlab, ylab, main,
angle = 30, length = unit(0.12, "cm"), type = "open",
stat = c("stepping", "identity"), facets = NULL,
arrow.rate = 0.03, group.selfish = TRUE)
Arguments
data
A GRanges
object.
...
Extra parameters such as aes() passed.
xlab
Label for x
ylab
Label for y
main
Title for plot.
angle
The angle of the arrow head in degrees (smaller numbers produce
narrower, pointier arrows). Essentially describes the width of the
arrow head.
length
A unit specifying the length of the arrow head (from tip to base).
type
One of "open" or "closed" indicating whether the arrow head should
be a closed triangle.
stat
Character vector specifying statistics to use. "stepping" with
randomly assigned stepping levels as y varialbe. "identity" allow
users to specify y
value in aes
.
facets
Faceting formula to use.
arrow.rate
Arrow density of the arrow body.
group.selfish
Passed to addStepping
, control whether to show each group as
unique level or not. If set to FALSE
, if two groups are not
overlapped with each other, they will probably be layout in the same
level to save space.
Value
A 'Layer'.
Author(s)
Tengfei Yin
Examples
set.seed(1)
N <- 100
require(GenomicRanges)
## ======================================================================
## simmulated GRanges
## ======================================================================
gr <- GRanges(seqnames =
sample(c("chr1", "chr2", "chr3"),
size = N, replace = TRUE),
IRanges(
start = sample(1:300, size = N, replace = TRUE),
width = sample(70:75, size = N,replace = TRUE)),
strand = sample(c("+", "-", "*"), size = N,
replace = TRUE),
value = rnorm(N, 10, 3), score = rnorm(N, 100, 30),
sample = sample(c("Normal", "Tumor"),
size = N, replace = TRUE),
pair = sample(letters, size = N,
replace = TRUE))
## ======================================================================
## default
## ======================================================================
ggplot(gr) + geom_arrow()
# or
ggplot() + geom_arrow(gr)
## ======================================================================
## facetting and aesthetics
## ======================================================================
ggplot(gr) + geom_arrow(facets = sample ~ seqnames, aes(color = strand, fill = strand))
## ======================================================================
## stat:identity
## ======================================================================
ggplot(gr) + geom_arrow(stat = "identity", aes(y = value))
## ======================================================================
## stat:stepping
## ======================================================================
ggplot(gr) + geom_arrow(stat = "stepping", aes(y = value, group = pair))
## ======================================================================
## group.selfish
## ======================================================================
ggplot(gr) + geom_arrow(stat = "stepping", aes(y = value, group = pair), group.selfish = FALSE)
## ======================================================================
## other options to control arrow angle, density, ...
## ======================================================================
library(grid)
ggplot(gr) + geom_arrow(stat = "stepping", aes(y = value, group = pair),
arrow.rate = 0.01, legnth = unit(0.3, "cm"), agnle = 45,
group.selfish = FALSE)
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/geom_arrow-method.Rd_%03d_medium.png", width=480, height=480)
> ### Name: geom_arrow
> ### Title: Arrow geoms for GRanges object
> ### Aliases: geom_arrow geom_arrow,GRanges-method geom_arrow,missing-method
> ### geom_arrow,uneval-method
>
> ### ** Examples
>
> set.seed(1)
> N <- 100
> require(GenomicRanges)
Loading required package: GenomicRanges
Loading required package: S4Vectors
Loading required package: stats4
Attaching package: 'S4Vectors'
The following objects are masked from 'package:base':
colMeans, colSums, expand.grid, rowMeans, rowSums
Loading required package: IRanges
Loading required package: GenomeInfoDb
> ## ======================================================================
> ## simmulated GRanges
> ## ======================================================================
> gr <- GRanges(seqnames =
+ sample(c("chr1", "chr2", "chr3"),
+ size = N, replace = TRUE),
+ IRanges(
+ start = sample(1:300, size = N, replace = TRUE),
+ width = sample(70:75, size = N,replace = TRUE)),
+ strand = sample(c("+", "-", "*"), size = N,
+ replace = TRUE),
+ value = rnorm(N, 10, 3), score = rnorm(N, 100, 30),
+ sample = sample(c("Normal", "Tumor"),
+ size = N, replace = TRUE),
+ pair = sample(letters, size = N,
+ replace = TRUE))
>
>
> ## ======================================================================
> ## default
> ## ======================================================================
> ggplot(gr) + geom_arrow()
> # or
> ggplot() + geom_arrow(gr)
>
> ## ======================================================================
> ## facetting and aesthetics
> ## ======================================================================
> ggplot(gr) + geom_arrow(facets = sample ~ seqnames, aes(color = strand, fill = strand))
>
> ## ======================================================================
> ## stat:identity
> ## ======================================================================
> ggplot(gr) + geom_arrow(stat = "identity", aes(y = value))
>
>
> ## ======================================================================
> ## stat:stepping
> ## ======================================================================
> ggplot(gr) + geom_arrow(stat = "stepping", aes(y = value, group = pair))
>
> ## ======================================================================
> ## group.selfish
> ## ======================================================================
> ggplot(gr) + geom_arrow(stat = "stepping", aes(y = value, group = pair), group.selfish = FALSE)
>
>
>
> ## ======================================================================
> ## other options to control arrow angle, density, ...
> ## ======================================================================
> library(grid)
> ggplot(gr) + geom_arrow(stat = "stepping", aes(y = value, group = pair),
+ arrow.rate = 0.01, legnth = unit(0.3, "cm"), agnle = 45,
+ group.selfish = FALSE)
>
>
>
>
>
>
> dev.off()
null device
1
>