kpPoints | R Documentation |
Plots data points along the genome.
kpPoints(karyoplot, data=NULL, chr=NULL, x=NULL, y=NULL, ymin=NULL, ymax=NULL, data.panel=1, r0=NULL, r1=NULL, clipping=TRUE, pch=16, cex=0.5, ...)
karyoplot |
(a |
data |
(a |
chr |
(a charecter vector) A vector of chromosome names specifying the chromosomes of the data points. If |
x |
(a numeric vector) A numeric vector with the positions (in base pairs) of the data points in the chromosomes. If |
y |
(a numeric vector) A numeric vector with the values of the data points. If |
ymin |
(numeric) The minimum value of |
ymax |
(numeric) The maximum value of |
data.panel |
(numeric) The identifier of the data panel where the data is to be plotted. The available data panels depend on the plot type selected in the call to |
r0 |
(numeric) r0 and r1 define the vertical range of the data panel to be used to draw this plot. They can be used to split the data panel in different vertical ranges (similar to tracks in a genome browser) to plot differents data. If NULL, they are set to the min and max of the data panel, it is, to use all the available space. (defaults to NULL) |
r1 |
(numeric) r0 and r1 define the vertical range of the data panel to be used to draw this plot. They can be used to split the data panel in different vertical ranges (similar to tracks in a genome browser) to plot differents data. If NULL, they are set to the min and max of the data panel, it is, to use all the available space. (defaults to NULL) |
clipping |
(boolean) Only used if zooming is active. If TRUE, the data representation will be not drawn out of the drawing area (i.e. in margins, etc) even if the data overflows the drawing area. If FALSE, the data representation may overflow into the margins of the plot. (defaults to TRUE) |
pch |
(numeric) the glyph to represent the points as specified in |
cex |
(numeric) the relative size of the glyphs as defined at |
... |
The ellipsis operator can be used to specify any additional graphical parameters. Any additional parameter will be passed to the internal calls to the R base plotting functions. |
This is one of the functions from karyoploteR implementing the adaptation to the genome context
of basic plot functions
from R base graphics. Given a set of positions on the genome (chromosome and base) and a
value (y) for each of them, it plots the set of points representing them. Data can be provided
via a GRanges
object (data
), independent parameters for chr, x and y or a
combination of both. A number of parameters can be used to define exactly where
and how the points are drawn. In addition, via the ellipsis operator (...
), kpPoints
accepts any parameter valid for points
(e.g. pch
, cex
, col
, ...)
There's more information at the https://bernatgel.github.io/karyoploter_tutorial/karyoploteR tutorial.
Returns the original karyoplot object, unchanged.
The parameter r0 can be used to specify r0 and r1 together. If r1 is
NULL and r0 is either a list with two elements called r0 and r1 or a numeric
vector of length 2, this values will be used for r0 and r1. This might be
useful when working with autotrack
to compute r0 and r1.
plotKaryotype
, kpLines
, kpText
kpPlotRegions
set.seed(1000)
data.points <- sort(createRandomRegions(nregions=500, mask=NA))
mcols(data.points) <- data.frame(y=runif(500, min=0, max=1))
kp <- plotKaryotype("hg19", plot.type=2, chromosomes=c("chr1", "chr2"))
kpDataBackground(kp, data.panel=1)
kpDataBackground(kp, data.panel=2)
kpLines(kp, data=data.points, col="red")
#Three ways of specifying the exact same data.points
kpPoints(kp, data=data.points, cex=0.5)
kpPoints(kp, data=data.points, y=data.points$y, pch=16, col="#CCCCFF", cex=0.6)
kpPoints(kp, chr=as.character(seqnames(data.points)),
x=(start(data.points)+end(data.points))/2,
y=data.points$y, pch=".", col="black", cex=1)
#plotting in the data.panel=2 and using r0 and r1, ymin and ymax
kpLines(kp, data=data.points, col="red", r0=0, r1=0.3, data.panel=2)
#and we can specify r0 and r1 in r0
kpPoints(kp, data=data.points, r0=list(r0=0, r1=0.3), data.panel=2, pch=".", cex=3)
kpLines(kp, data=data.points, col="blue", r0=0.4, r1=0.7, data.panel=2)
kpLines(kp, data=data.points, col="blue", y=-1*(data.points$y),
ymin=-1, ymax=0, r0=0.7, r1=1, data.panel=2)
#It is also possible to "flip" the data by giving an r0 > r1
kpPoints(kp, data=data.points, col="red", y=(data.points$y),
r0=1, r1=0.7, data.panel=2, pch=".", cex=2)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.