Plotting Polygon
We can add polygons to a karyoplot with the kpPolygon
function. Given a
character vector chr and two integer vectors x and y, it will draw a
closed polygon joining all specified points in the given order. And since it’s
a clodes polygon, it will draw a line between the first and last point.
library(karyoploteR)
x <- 1:23*10e6
y <- rnorm(23, mean=0.5, sd=0.25)
kp <- plotKaryotype(chromosomes="chr1")
kpPolygon(kp, chr="chr1", x=x, y=y)
Polygons can be customized with the standard
graphical parameters
used in the polygon
R base graphics function. As most closed shapes, they can
be filled. col is used to specifys the filling color and border the border color.
kp <- plotKaryotype(chromosomes="chr1")
kpPolygon(kp, chr="chr1", x=x, y=y, col="grey", border="black", lwd=2, lty=3)
kpPolygon
might not be obviouly useful, but it is used by different higher-level
plotting functions such as kpPlotRibbon
with well crafted x and y vectors.
In addition, it adds some flexibility to create unusual plots.
kp <- plotKaryotype(chromosomes="chr1")
for(i in c(1:23)) {
kpPolygon(kp, chr="chr1", x=x[i]+c(-4e6, -4e6, 0, 4e6, 4e6), y=y[i]+c(0, i*0.015, i*0.02, i*0.015, 0), col=rainbow(23)[i], border=darker(rainbow(23)[i]))
}