Say I have x = seq(1, 40) y = seq(1, 40)^2 g = rep(c("A", "B", "A", "B"), each = 10) xyplot(y~x, groups = g, type = 'l') Is there a way to have a single line and have it be one color when g == "A", and another when g == "B"? Thanks! Regards, Andrew Liu Fixed Income | Investment Fellow T. Rowe Price 100 E. Pratt St, BA-0735 Baltimore, MD 21202 * Office: (410) 345-2750 * E-mail: andrew_liu at troweprice.com<mailto:andrew_liu at troweprice.com> * Please consider the environment before printing this e-mail. T. Rowe Price (including T. Rowe Price Group, Inc. and its affiliates) and its associates do not provide legal or tax advice. Any tax-related discussion contained in this e-mail, including any attachments, is not intended or written to be used, and cannot be used, for the purpose of (i) avoiding any tax penalties or (ii) promoting, marketing, or recommending to any other party any transaction or matter addressed herein. Please consult your independent legal counsel and/or professional tax advisor regarding any legal or tax issues raised in this e-mail. The contents of this e-mail and any attachments are intended solely for the use of the named addressee(s) and may contain confidential and/or privileged information. Any unauthorized use, copying, disclosure, or distribution of the contents of this e-mail is strictly prohibited by the sender and may be unlawful. If you are not the intended recipient, please notify the sender immediately and delete this e-mail.
Chris Campbell
2012-Jan-31 09:51 UTC
[R] Change line colors based on data values in Lattice
Hi Andrew You could plot each section of your plot as a mini-line, something like this: x = seq(1, 40) y = seq(1, 40)^2 g = rep(c("A", "B", "A", "B"), each = 10) newdf <- data.frame(x = x, y = y, g = g) newpanel <- function(x, y, cols, ...) { panel.xyplot(x, y, type = "n", ...) for(i in seq_along(x)) { panel.lines(c(x[i], x[i + 1]), c(y[i], y[i + 1]), col = cols[i]) } } xyplot(y ~ x, data = newdf, groups = g, panel = newpanel, cols = c("blue", "pink", "blue", "pink")[newdf$g]) Best wishes Chris Campbell MANGO SOLUTIONS Data Analysis that Delivers +44 1249 767700 -----Original Message----- From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On Behalf Of Liu, Andrew Sent: 30 January 2012 21:09 To: 'r-help at r-project.org' Subject: [R] Change line colors based on data values in Lattice Say I have x = seq(1, 40) y = seq(1, 40)^2 g = rep(c("A", "B", "A", "B"), each = 10) xyplot(y~x, groups = g, type = 'l') Is there a way to have a single line and have it be one color when g == "A", and another when g == "B"? Thanks! Regards, Andrew Liu Fixed Income | Investment Fellow T. Rowe Price 100 E. Pratt St, BA-0735 Baltimore, MD 21202 * Office: (410) 345-2750 * E-mail: andrew_liu at troweprice.com<mailto:andrew_liu at troweprice.com> * Please consider the environment before printing this e-mail. T. Rowe Price (including T. Rowe Price Group, Inc. and its affiliates) and its associates do not provide legal or tax advice. Any tax-related discussion contained in this e-mail, including any attachments, is not intended or written to be used, and cannot be used, for the purpose of (i) avoiding any tax penalties or (ii) promoting, marketing, or recommending to any other party any transaction or matter addressed herein. Please consult your independent legal counsel and/or professional tax advisor regarding any legal or tax issues raised in this e-mail. The contents of this e-mail and any attachments are intended solely for the use of the named addressee(s) and may contain confidential and/or privileged information. Any unauthorized use, copying, disclosure, or distribution of the contents of this e-mail is strictly prohibited by the sender and may be unlawful. If you are not the intended recipient, please notify the sender immediately and delete this e-mail. ______________________________________________ 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. LEGAL NOTICE This message is intended for the use o...{{dropped:10}}