R 用纯色绘制一条线,用渐变绘制第二条线

R 用纯色绘制一条线,用渐变绘制第二条线,r,ggplot2,R,Ggplot2,我想在一张图表上画两条线,一条是渐变色,另一条是纯色。我可以添加单独的线条和渐变: x <- seq(1, 100, 1) y <- rnorm(100, 50, 15) z <- rnorm(100, 30, 5) df <- data.frame(x,y,z) library(ggplot2) ggplot(df, aes(x = x, y = y, color = x)) + geom_line() + scale_color_gradient(low

我想在一张图表上画两条线,一条是渐变色,另一条是纯色。我可以添加单独的线条和渐变:

x <- seq(1, 100, 1)
y <- rnorm(100, 50, 15)
z <- rnorm(100, 30, 5)
df <- data.frame(x,y,z)

library(ggplot2)   
ggplot(df, aes(x = x, y = y, color = x)) + geom_line() +
  scale_color_gradient(low = "blue", high = "red") +
  geom_line(data = df, aes(x = x, y = z, color = x))

我希望添加标签,但这可能会很复杂…

最简单的方法是为aes之外的实线指定颜色:

library(ggplot2)
ggplot(df, aes(x, y, color = x)) + 
    geom_line() +
    # No need to respecify data or x at it's defined in main ggplot call
    geom_line(aes(y = z), color = "yellow") +
    scale_color_gradient(low = "blue", high = "red")

它有用吗?
library(ggplot2)
ggplot(df, aes(x, y, color = x)) + 
    geom_line() +
    # No need to respecify data or x at it's defined in main ggplot call
    geom_line(aes(y = z), color = "yellow") +
    scale_color_gradient(low = "blue", high = "red")