[R] Adding markers and text for some data points after drawing a plot

Jim Lemon jim at bitwrit.com.au
Tue Feb 26 23:15:23 CET 2013


On 02/27/2013 08:04 AM, Debs Majumdar wrote:
> Hi All,
>
> I have a data set of around 17,000 gene names and their lengths. E.g.
>
>            gene      kblength
>   A3GALT2       14.333
> AADACL3       12.609
> AADACL4       22.532
>       ABCA4     128.312
>      ABCB10      42.114
>        ABCD3    100.287
> ............
> .........
>
> and I was able to draw a reverse cumulative frequency plot using the following code:
> d<- read.table("gene_length_data.txt", header=T)
> attach(d)
> kblength.ecdf<-ecdf(kblength)
> r<-range(kblength)
> curve(1-kblength.ecdf(x), from=r[1], to=r[2], col="red", xlim=r)
> detach(d)
>
> Here's the link to the output: http://www.tiikoni.com/tis/view/?id=5c41810
>
> I want to put markers and the corresponding gene names in the graph for a small list of 6 genes. i.e. say a hollow circle on the curve followed by the corresponding gene name.
>
> I am fighting with this but wasn't able to get a solution.

Hi Debs,
I think you can get what you want with this:

kborder<-order(kblength)
example_pos<-c(25,50,75,100,125)
text(example_pos,kblength[kborder][example_pos],
  paste(gene[kborder][example_pos],kblength[kborder][example_pos],
  sep="\n"))

Jim



More information about the R-help mailing list