Plotting Arrows

To plot arrows in a karyoplot we need to use the kpArrows function. Given a character vector chr and 4 integer vectors x0, y0, x1 and y1 it will plot arrows going from (x0, y0) to (x1, y1).

library(karyoploteR)

kp <- plotKaryotype(chromosomes="chr1")
kpArrows(kp, chr="chr1", x0=0, x1=80e6, y0=0.2, y1=0.8)

plot of chunk Figure1

We can give it vectors of positions and it will plot an arrow for each element in the vectors (recycling them if necessary).

x0 <- 1:23*10e6
x1 <- 2:24*10e6
y0 <- rnorm(23, mean=0.3, sd=0.1)
y1 <- c(0.7, 0.9)

kp <- plotKaryotype(chromosomes="chr1")
kpArrows(kp, chr="chr1", x0=x0, x1=x1, y0=y0, y1=y1)

plot of chunk Figure2

The lines can be customized with the same graphical parameters as in the R base graphics arrows function: lwd, lty, col, length, angle

kp <- plotKaryotype(chromosomes="chr1")
kpArrows(kp, chr="chr1", x0=x0, x1=x1, y0=0.5, y1=y1, col=rainbow(23), 
          lwd=(1:23)/6, angle=30, length=0.2)
kpArrows(kp, chr="chr1", x0=x0, x1=x0, y0=0.5, y1=0, col=rainbow(23), 
          lwd=(1:23)/6, angle=10, length=0.1)

plot of chunk Figure3