Мне нравится использовать механизм тем для этого. Черно-белая тема, по умолчанию будет делать разные символы; Вы получите это так:
bwtheme <- standard.theme("pdf", color=FALSE)
Или вы можете начать с цветовой темы и изменить точки, как вам нравится, следующим образом.
mytheme <- standard.theme("pdf")
mytheme$superpose.symbol$pch <- c(15,16,17,3)
mytheme$superpose.symbol$col <- c("blue","red","green","purple")
p4 <- xyplot(Rate~Weight|Rep+Temp, groups=Week, data=rate,
as.table=TRUE,
xlab="Weight (gr)", ylab="Rate (umol/L*gr)",
main="All individuals and Treatments at all times",
strip=strip.custom(strip.names=1),
par.settings=mytheme,
auto.key=list(title="Week", cex.title=1, space="right")
)
Или, если вы хотите, чтобы все это было одной строкой, просто передайте то, что вы хотите изменить, на par.settings
.
xyplot(Rate~Weight|Rep+Temp, groups=Week, data=rate,
as.table=TRUE,
xlab="Weight (gr)", ylab="Rate (umol/L*gr)",
main="All individuals and Treatments at all times",
strip=strip.custom(strip.names=1),
par.settings=list(superpose.symbol=list(
pch=c(15,16,17,3),
col=c("blue","red","green","purple"))),
auto.key=list(title="Week", cex.title=1, space="right")
)
Эти решения рекомендуются для изменения col
и pch
напрямую, потому что тогда они также должны быть изменены при создании ключа.
Два других примечания, которые могут показаться вам поучительными: во-первых, попробуйте использовать factor
вместо as.character
; это отсортирует ваши недели в правильном порядке. Вы можете сделать это с меньшим набором текста, используя within
.
rate <- within(rate, {
Temp <- factor(Temp)
Week <- factor(Week)
Rep <- factor(Rep)
}
Во-вторых, проверьте функцию useOuterStrips
в пакете latticeExtra
. В частности, если исходный сюжет сохранен как p
, попробуйте
useOuterStrips(p, strip=strip.custom(strip.names=1),
strip.left=strip.custom(strip.names=1) )