[R] How to plot points as numbers/strings in lattice

Owen Solberg solberg at berkeley.edu
Tue Mar 15 23:54:35 CET 2005


Hello,

I would be very grateful if anyone could help with what seems like a 
simple lattice task.  I want to use xyplot, where the symbols for the 
plotted points are taken from another column in the data frame.  So if the 
data frame looked like:

a <- as.data.frame(matrix(data=c(1,1,10,2,2,20,3,3,30), nrow=3, ncol=3, byrow=TRUE))
a

   V1 V2 V3
1  1  1 10
2  2  2 20
3  3  3 30

you would get an xy scatter plot using where "10" (not a dot) is at 
coordinate 1,1, "20" is at 2,2, and so on.

I have made two attempts.  The first, below, almost works, but only takes 
the first character from the V3 column:

library(lattice)
xyplot(V1~V2, data=a, pch=as.character(a$V3))

I've also tried this example, which is given in an online user guide for 
trellis.  It uses the built-in "ethanol" data set (which is also in 
lattice), and subscripts... but when I try the same code in lattice, I get 
an "invalid graphics state" error.

library(lattice)
xyplot(NOx ~ E | C, data = ethanol, aspect = 1/2,
        panel = function(x, y, subscripts)
          text(x, y, subscripts, cex = .75)
)


Thank you very much in advance!

Owen Solberg

------------

> version
          _
platform i686-redhat-linux-gnu
arch     i686
os       linux-gnu
system   i686, linux-gnu
status
major    2
minor    0.0
year     2004
month    10
day      04
language R




More information about the R-help mailing list