[R] How do I order xyplot line points?

Alex Reynolds reynolda at u.washington.edu
Sun Nov 7 14:04:58 CET 2010


Perfect, thanks!

On Nov 7, 2010, at 4:59 AM, baptiste auguie wrote:

> Hi,
> 
> try this,
> 
> xyplot(Time~Chromosome|factor(Elements),
>               data = mtx[order(mtx$Chromosome), ], ... [snipped])
> 
> 
> HTH,
> 
> baptiste
> 
> 
> 
> 
> 
> On 7 November 2010 13:17, Alex Reynolds <reynolda at u.washington.edu> wrote:
>> I have the following xyplot figure:
>> 
>>  http://img577.imageshack.us/img577/686/filesizeresults12000000.png
>> 
>> The data are organized in a matrix file as follows:
>> 
>>  Type  Elements        Chromosome      Time
>>  bedGz 12000000        chr1    14.240
>>  bedGz 12000000        chr2    7.949
>>  bedGz 12000000        chr3    5.103
>>  bedGz 12000000        chr4    5.290
>>  bedGz 12000000        chr5    5.161
>>  ...
>> 
>> The x-axis labels in the Chromosome column are ordered lexicographically in my figure ( chr1 > chr10 > chr11 > ... ) — this is correct.
>> 
>> However, the code I use to draw lines between points in the xyplot connects points in numerical order ( chr1 > chr2 > ... ) — this is incorrect.
>> 
>> The problem this causes is most evident in the line that is drawn for the blue "bedGz" category.
>> 
>> What I would like is that categorical points are joined by lines in lexicographic order, to match ordering of labels on the x-axis.
>> 
>> How do I modify the xyplot command so that the lines are joined in correct order?
>> 
>> Here is the code I am using to draw my xyplot:
>> 
>> mtx <- read.table(mtxf.in, as.is=F, sep="\t", quote='', header=T, stringsAsFactors=T)
>> attach(mtx)
>> postscript(mtxf.ps,
>>           width = 12,
>>           height = 6,
>>           paper = 'special',
>>           horizontal = F)
>> par(mar=c(0.0, 0.0, 0.0, 0.0))
>> mtx.p <- xyplot(Time~Chromosome|factor(Elements),
>>                mtx,
>>                type="o",
>>                groups=Type,
>>                col = c(
>>                  'red',
>>                  'green',
>>                  'red',
>>                  'green',
>>                  'blue'),
>>                auto.key=list(
>>                  lines=TRUE,
>>                  space="right"),
>>                ylab="CPU Time (sec)",
>>                xlab="Type",
>>                main="Extraction time for archive types")
>> print(mtx.p)
>> dev.off()
>> 
>> Sorry if this is a dumb question. Thanks for your advice.
>> 
>> Regards,
>> Alex
>> ______________________________________________
>> R-help at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
>> and provide commented, minimal, self-contained, reproducible code.
>> 



More information about the R-help mailing list