如何使用R图中的变量(GGPLOT或类似)变化线颜色



我试图在r图中改变线的颜色(在同一数据系列中)。例如,如果您有分数显示一年中数周的温度,并且它们与geom_line()或同等学历相关,我该如何表明该线在更高的温度几周内更深,并且在较冷的几周内逐渐变成黄色?(如果两个点和线都可以根据相同的变量在同一调色板/梯度上有所不同 - 例如温度,那将是理想的)。

bp.df <- NULL
bp.weeks <- 26
bp.days <- 7 * bp.weeks
bp.df$day <- 1:bp.days
bp.df$week <- ceiling(bp.df$day / 7)
bp.mean.normal <- 100
bp.sd.normal <- 20
bp.df <- as.data.frame(bp.df)
bp.df$normal <- rnorm(nrow(bp.df),bp.mean.normal, bp.sd.normal)
bp.df$day <- as.numeric(bp.df$day)
# make sure ggplot2 is installed and loaded
g <- ggplot(bp.df, aes(x = day, y = normal, color = normal)) + 
    geom_point() + 
    geom_line(col = bp.df$normal)
g

为什么线颜色不匹配"正常"变量的级别?我知道,由于它们连接了两个点,因此行必须"决定"使用哪个值,但是此输出似乎使颜色完全随机。

如果跨梯度变化不起作用,我将如何在最初的50天内使线变成红色,接下来的50天绿色,等等?

尝试以下:

g <- ggplot(bp.df, aes(x=day, y = normal, color = normal)) + geom_point() +
geom_line(aes(color=normal))
g

看来COL参数与AES参数中的颜色不同。

最新更新