Jamieson Cobleigh
2006-Jul-10 17:16 UTC
[R] Setting the colors of lines in a trellis plot...
With some help from those with expertise on this list, I managed to
produce a plot using trellis that looked like I wanted it to look.
Now, I need to take the same plot and make the lines on it color, but
I want to specify the color for the lines myself.
I've managed to make the key use the colors I want. I've managed to
make the symbols of the actual plot use the colors I want. But I have
been unable to find the correct incantation to make the lines of the
actual plot use the colors I want. Here's the relevant section of
code:
mycolors <- c("black", "darkgreen", "red")
mylines <- Rows(superpose.line, 1:numlines);
mylines$col <- mycolors
mysymbols <- Rows(superpose.symbol, 1:numlines);
mysymbols$pch <- c(15:18)[1:numlines]
mysymbols$col <- mycolors
print(xyplot(
panel = panel.superpose,
log10(states) ~ size,
groups=category,
data=data,
type='b',
lwd = 2,
par.settings = list(superpose.symbol=mysymbols),
ylim=c(y_min, y_max),
scales = list(tck=c(1, 0), axs="r",
x=list(tick.number=(xmax - xmin + 1), at=xmin:xmax,
labels=xmin:xmax, cex=1.75),
y=list(axs="r", rot=c(90, 0), labels=y_labels,
at=y_at, cex=1.75
)
),
key = list (
text = list(levels(data$category)),
lines = list(type="b",
lty=mylines$lty,
pch=mysymbols$pch,
cex=rep(1.25, numlines),
col=mylines$col),
x = .98,
y = .25,
corner=c(1,0)
),
xlab = list(label="System Size", cex=2),
ylab = list(label="States", cex=2),
))
Can anyone help me out with this?
Thanks!
Jamie
Gabor Grothendieck
2006-Jul-10 17:34 UTC
[R] Setting the colors of lines in a trellis plot...
Use col= to specify colors, e.g.
library(lattice)
x <- 1:12
xyplot(x ~ x, group = gl(3,4), col = 1:3, type = "l", auto.key =
TRUE)
If this is not sufficiently close to your problem
1. cut your example down to a *minimal* size and
2. provide it as *self contained* and
3. *reproducible* code.
On 7/10/06, Jamieson Cobleigh <cobleigh at gmail.com>
wrote:> With some help from those with expertise on this list, I managed to
> produce a plot using trellis that looked like I wanted it to look.
> Now, I need to take the same plot and make the lines on it color, but
> I want to specify the color for the lines myself.
>
> I've managed to make the key use the colors I want. I've managed
to
> make the symbols of the actual plot use the colors I want. But I have
> been unable to find the correct incantation to make the lines of the
> actual plot use the colors I want. Here's the relevant section of
> code:
>
> mycolors <- c("black", "darkgreen",
"red")
>
> mylines <- Rows(superpose.line, 1:numlines);
> mylines$col <- mycolors
>
> mysymbols <- Rows(superpose.symbol, 1:numlines);
> mysymbols$pch <- c(15:18)[1:numlines]
> mysymbols$col <- mycolors
>
> print(xyplot(
> panel = panel.superpose,
> log10(states) ~ size,
> groups=category,
> data=data,
> type='b',
> lwd = 2,
> par.settings = list(superpose.symbol=mysymbols),
> ylim=c(y_min, y_max),
> scales = list(tck=c(1, 0), axs="r",
>
> x=list(tick.number=(xmax - xmin + 1), at=xmin:xmax,
> labels=xmin:xmax, cex=1.75),
>
> y=list(axs="r", rot=c(90, 0), labels=y_labels,
> at=y_at, cex=1.75
> )
> ),
> key = list (
> text = list(levels(data$category)),
> lines = list(type="b",
> lty=mylines$lty,
> pch=mysymbols$pch,
> cex=rep(1.25, numlines),
> col=mylines$col),
> x = .98,
> y = .25,
> corner=c(1,0)
> ),
> xlab = list(label="System Size", cex=2),
> ylab = list(label="States", cex=2),
> ))
>
>
> Can anyone help me out with this?
>
> Thanks!
>
> Jamie
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide!
http://www.R-project.org/posting-guide.html
>
Deepayan Sarkar
2006-Jul-10 18:27 UTC
[R] Setting the colors of lines in a trellis plot...
On 7/10/06, Jamieson Cobleigh <cobleigh at gmail.com> wrote:> With some help from those with expertise on this list, I managed to > produce a plot using trellis that looked like I wanted it to look. > Now, I need to take the same plot and make the lines on it color, but > I want to specify the color for the lines myself. > > I've managed to make the key use the colors I want. I've managed to > make the symbols of the actual plot use the colors I want. But I have > been unable to find the correct incantation to make the lines of the > actual plot use the colors I want. Here's the relevant section of > code: > > mycolors <- c("black", "darkgreen", "red") > > mylines <- Rows(superpose.line, 1:numlines); > mylines$col <- mycolors > > mysymbols <- Rows(superpose.symbol, 1:numlines); > mysymbols$pch <- c(15:18)[1:numlines] > mysymbols$col <- mycolors > > print(xyplot( > panel = panel.superpose, > log10(states) ~ size, > groups=category, > data=data, > type='b', > lwd = 2, > par.settings = list(superpose.symbol=mysymbols),You have forgotten to add 'superpose.line=mylines'.> ylim=c(y_min, y_max), > scales = list(tck=c(1, 0), axs="r", > > x=list(tick.number=(xmax - xmin + 1), at=xmin:xmax, > labels=xmin:xmax, cex=1.75), > > y=list(axs="r", rot=c(90, 0), labels=y_labels, > at=y_at, cex=1.75 > ) > ), > key = list ( > text = list(levels(data$category)), > lines = list(type="b", > lty=mylines$lty, > pch=mysymbols$pch, > cex=rep(1.25, numlines), > col=mylines$col),You might consider using the 'auto.key' argument instead of 'key' (YMMV). -Deepayan> x = .98, > y = .25, > corner=c(1,0) > ), > xlab = list(label="System Size", cex=2), > ylab = list(label="States", cex=2), > )) > > > Can anyone help me out with this? > > Thanks! > > Jamie