First I loaded in the library into R (it had already been installed):
> library(RColorBrewer)
Then I wanted to find 4 colours between red and yellow: (following an example from here)
> pal(4)
[1] "#FF0000" "#FF5500" "#FFAA00" "#FFFF00"
I decided to use a darker yellow instead of "#FFFF00": #ccc943
Now assign a colour to each of my lines (the start point of which I had stored in a vector 'insertion_start') according to the frequency of data (amount of sequence reads) supporting it (stored in vector 'reads'):
> mycolors <- character(length(insertion_start))
> for (i in 1:length(mycolors))
{
myreads <- num_reads[i]
if (myreads <= 10) { mycolor <- "#CCC943"}
else if (myreads <= 100) { mycolor <- "#FFAA00"}
else if (myreads <= 500) { mycolor <- "#FF5500"}
else { mycolor <- "#FF0000"}
mycolors[i] <- mycolor
}
Now try plotting with the lines supported by the most reads at the bottom:
> oo <- order(num_reads,decreasing=TRUE)
> plot(insertion_start[oo],yval,ylab="Allele index",xlab="Spanning deletions",col="white")
> segments(insertion_start[oo],yval,insertion_end[oo],yval,col=mycolors[oo],lwd=2)
Et voila, a beautiful plot!
Thank you RColorBrewer : )
No comments:
Post a Comment