我有一个包含200个不同组的数据集,可能需要介于0到200之间。我想为每个组绘制一条线,所以总共有200行,并且图例为“数字”。我知道如何用一个因素来做到这一点,但是无法让它发挥作用。不是最好的例子:
library(tidyverse)
df <- data.frame(Day = 1:100)
df <- df %>% mutate(A = Day + runif(100,1,400) + rnorm(100,3,400) + 2500,
B = Day + rnorm(100,2,900) + -5000 ,
C = Day + runif(100,1,50) + rnorm(100,1,1000) -500,
D = (A+B+C)/5 - rnorm(100, 3,450) - 2500)
df <- gather(df, "Key", "Value", -Day)
df$Key1 <- apply(df, 1, function(x) which(LETTERS == x[2]))
ggplot(df, aes(Day, Value, col = Key)) + geom_line() # I would to keep 4 lines, but would like have the following legend
ggplot(df, aes(Day, Value, col = Key1)) + geom_line() # Not correct lines
ggplot(df, aes(Day, Value)) + geom_line(aes(col = Key1)) # Not correct lines
可能是重复,但我找不到答案,并猜测有一些小的不正确。
答案 0 :(得分:3)
ggplot(df, aes(Day, Value, group = Key, col=Key1)) + geom_line()
使用group
为您提供不同的行,使用col
为您提供不同的颜色。