Jie Liu
2011-Mar-13 06:47 UTC
[R] How to draw different series for different groups in xyplot
Hi guys,
I got a problem when I was trying to use lattice to do some plot. Below is
one working example which can generate one curve for A and one curve for B
in each subplot. However, I would like to just show the points for B, not
connecting the dots. As for A, I still want a curve (dots are connected). Is
there any people having any suggestions. Data are attached. Thanks a lot,
--Jerry
library(lattice)
example <- read.csv("example.txt",header=T)
xyplot(y~x1|as.factor(x2)*as.factor(x3), groups = as.factor(x4),
data=example, type="b", pch=c(16,4),
col=c("blue","red"), xlim=c(1.04,1.26),
ylim = c(0,1.1), xlab = "X2", ylab = "Y",key = list(space =
"top", text list("B"), points = list(pch=16,
col="blue", cex=0.8), text = list("A"),
points = list(pch=4, col="red", cex=0.8)) )
-------------- next part --------------
x1,y,x2,x3,x4
1.05,0.550707692,Prior=0.025,m=2,A
1.1,0.719302564,Prior=0.025,m=2,A
1.15,0.846502564,Prior=0.025,m=2,A
1.2,0.927158974,Prior=0.025,m=2,A
1.25,0.958974359,Prior=0.025,m=2,A
1.05,0.508789474,Prior=0.05,m=2,A
1.1,0.674368421,Prior=0.05,m=2,A
1.15,0.846136842,Prior=0.05,m=2,A
1.2,0.9362,Prior=0.05,m=2,A
1.25,0.973957895,Prior=0.05,m=2,A
1.05,0.539233333,Prior=0.1,m=2,A
1.1,0.697716667,Prior=0.1,m=2,A
1.15,0.831361111,Prior=0.1,m=2,A
1.2,0.914277778,Prior=0.1,m=2,A
1.25,0.956377778,Prior=0.1,m=2,A
1.05,0.550707692,Prior=0.025,m=5,A
1.1,0.719302564,Prior=0.025,m=5,A
1.15,0.846502564,Prior=0.025,m=5,A
1.2,0.927158974,Prior=0.025,m=5,A
1.25,0.958974359,Prior=0.025,m=5,A
1.05,0.508789474,Prior=0.05,m=5,A
1.1,0.674368421,Prior=0.05,m=5,A
1.15,0.846136842,Prior=0.05,m=5,A
1.2,0.9362,Prior=0.05,m=5,A
1.25,0.973957895,Prior=0.05,m=5,A
1.05,0.539233333,Prior=0.1,m=5,A
1.1,0.697716667,Prior=0.1,m=5,A
1.15,0.831361111,Prior=0.1,m=5,A
1.2,0.914277778,Prior=0.1,m=5,A
1.25,0.956377778,Prior=0.1,m=5,A
1.05,0.550707692,Prior=0.025,m=10,A
1.1,0.719302564,Prior=0.025,m=10,A
1.15,0.846502564,Prior=0.025,m=10,A
1.2,0.927158974,Prior=0.025,m=10,A
1.25,0.958974359,Prior=0.025,m=10,A
1.05,0.508789474,Prior=0.05,m=10,A
1.1,0.674368421,Prior=0.05,m=10,A
1.15,0.846136842,Prior=0.05,m=10,A
1.2,0.9362,Prior=0.05,m=10,A
1.25,0.973957895,Prior=0.05,m=10,A
1.05,0.539233333,Prior=0.1,m=10,A
1.1,0.697716667,Prior=0.1,m=10,A
1.15,0.831361111,Prior=0.1,m=10,A
1.2,0.914277778,Prior=0.1,m=10,A
1.25,0.956377778,Prior=0.1,m=10,A
1.05,0.719389744,Prior=0.025,m=2,B
1.1,0.760702564,Prior=0.025,m=2,B
1.15,0.792102564,Prior=0.025,m=2,B
1.2,0.811897436,Prior=0.025,m=2,B
1.25,0.819738462,Prior=0.025,m=2,B
1.05,0.764115789,Prior=0.05,m=2,B
1.1,0.806,Prior=0.05,m=2,B
1.15,0.849123684,Prior=0.05,m=2,B
1.2,0.870418421,Prior=0.05,m=2,B
1.25,0.879263158,Prior=0.05,m=2,B
1.05,0.776863889,Prior=0.1,m=2,B
1.1,0.813677778,Prior=0.1,m=2,B
1.15,0.844763889,Prior=0.1,m=2,B
1.2,0.863002778,Prior=0.1,m=2,B
1.25,0.872165278,Prior=0.1,m=2,B
1.05,0.890310564,Prior=0.025,m=5,B
1.1,0.896415179,Prior=0.025,m=5,B
1.15,0.901015795,Prior=0.025,m=5,B
1.2,0.903880205,Prior=0.025,m=5,B
1.25,0.904955897,Prior=0.025,m=5,B
1.05,0.907001684,Prior=0.05,m=5,B
1.1,0.913923789,Prior=0.05,m=5,B
1.15,0.921018947,Prior=0.05,m=5,B
1.2,0.923842105,Prior=0.05,m=5,B
1.25,0.924983158,Prior=0.05,m=5,B
1.05,0.926547778,Prior=0.1,m=5,B
1.1,0.930999778,Prior=0.1,m=5,B
1.15,0.934912222,Prior=0.1,m=5,B
1.2,0.936755778,Prior=0.1,m=5,B
1.25,0.937682889,Prior=0.1,m=5,B
1.05,0.931726359,Prior=0.025,m=10,B
1.1,0.933041641,Prior=0.025,m=10,B
1.15,0.934038564,Prior=0.025,m=10,B
1.2,0.934652513,Prior=0.025,m=10,B
1.25,0.934879179,Prior=0.025,m=10,B
1.05,0.962036316,Prior=0.05,m=10,B
1.1,0.963844421,Prior=0.05,m=10,B
1.15,0.965691684,Prior=0.05,m=10,B
1.2,0.966160211,Prior=0.05,m=10,B
1.25,0.966348842,Prior=0.05,m=10,B
1.05,0.983,Prior=0.1,m=10,B
1.1,0.9835,Prior=0.1,m=10,B
1.15,0.984,Prior=0.1,m=10,B
1.2,0.984,Prior=0.1,m=10,B
1.25,0.984,Prior=0.1,m=10,B
Dennis Murphy
2011-Mar-13 08:09 UTC
[R] How to draw different series for different groups in xyplot
Hi:
Try this:
xyplot(y ~ x1 | x2 * x3, groups = x4, data = example,
type= c("l", "p"), pch=c(16, 4),
col=c("blue", "red"),
col.line = c('blue', 'transparent'),
xlim = c(1.04, 1.26), ylim = c(0, 1.1), xlab = "X2", ylab =
"Y",
key = list(space = "top", text = list("A"),
points = list(pch=16, col="blue", cex=0.8),
text = list("B"),
points = list(pch=4, col="red", cex=0.8)))
I think you had your A and B labels reversed in the legend, but check to be
sure.
HTH,
Dennis
On Sat, Mar 12, 2011 at 10:47 PM, Jie Liu <jerryliu4u@gmail.com> wrote:
> Hi guys,
>
> I got a problem when I was trying to use lattice to do some plot. Below is
> one working example which can generate one curve for A and one curve for B
> in each subplot. However, I would like to just show the points for B, not
> connecting the dots. As for A, I still want a curve (dots are connected).
> Is
> there any people having any suggestions. Data are attached. Thanks a lot,
>
> --Jerry
>
> library(lattice)
> example <- read.csv("example.txt",header=T)
> xyplot(y~x1|as.factor(x2)*as.factor(x3), groups = as.factor(x4),
> data=example, type="b", pch=c(16,4),
col=c("blue","red"),
> xlim=c(1.04,1.26),
> ylim = c(0,1.1), xlab = "X2", ylab = "Y",key =
list(space = "top", text > list("B"), points =
list(pch=16, col="blue", cex=0.8), text = list("A"),
> points = list(pch=4, col="red", cex=0.8)) )
>
> ______________________________________________
> R-help@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.
>
>
[[alternative HTML version deleted]]