【问题标题】:Different colour for different types of lines using xyplot使用 xyplot 为不同类型的线提供不同的颜色
【发布时间】:2025-11-24 07:55:01
【问题描述】:

这可能是一个非常基本的问题,但我在 xyplot 中的 Lattice 中苦苦挣扎,我在其中绘制曲线和回归线(类型“r”,类型“l”)以给每条线不同的颜色.

我基本上已经用?cars 数据集尝试了下面的代码。

xyplot(speed ~ dist, data=cars, type=c("r", "l"), 
       col=c("red", "black"), 
       auto.key=list(lines=TRUE))

问题是它绘制了两条线,但它们都是红色的......

【问题讨论】:

  • 请让您的示例可重现。

标签: r graph lattice


【解决方案1】:

这是latticeExtra 的一种方式:

df <- data.frame(x=1:10,y=c(10,9,8,1,3,4,6,7,8,10))

library(lattice)
library(latticeExtra)

xyplot(y ~ x, data=df, type=c("r"),col=c("gray")) +
as.layer( xyplot(y ~ x, data=df, type=c("l"),col=c("blue")))

为了它,我个人更喜欢在ggplot2做这些事情:

library(ggplot2)
ggplot(df,aes(x=x,y=y)) + geom_line(colour="blue") +  
stat_smooth(method=lm,colour="black",se=FALSE)

【讨论】:

    【解决方案2】:
    xyplot(speed ~ dist, data=cars,
           panel=function(x, y, col, ...) {
             panel.xyplot(x, y, col='red', ...)
             panel.abline(lm(y~x), col='blue')
           },
           type='l'
    )
    

    【讨论】:

    • 或者只是panel.lines()panel.lmline()
    最近更新 更多