如何使用相同颜色的ggplot绘制数据框的大量列?

时间:2016-04-27 19:13:48

标签: r ggplot2

我有一个如下所示的数据框:

  Time f1            f2
  6.04 0.0030113949 -2.816807e-03
  6.05 0.0030217415 -2.830386e-03
  6.06 0.0030320970 -2.843984e-03
  6.07 0.0030424615 -2.857600e-03
  6.08 0.0030528349 -2.871233e-03
  6.09 0.0030632171 -2.884885e-03
  6.10 0.0030736081 -2.898555e-03
  6.11 0.0030840079 -2.912242e-03

我想将f1f2与ggplot用相同的颜色绘制,并将它们的平均值用不同的颜色绘制,所有这些都在同一个图上。

我做了什么:

 df <- melt(df ,  id.vars = 'Time', variable.name = 'f')
ggplot(df, aes(Time,value)) + geom_line(aes(colour = f))

但它用不同的颜色绘制每个evry列。

1 个答案:

答案 0 :(得分:2)

我会开枪。

install.packages('dplyr')
library(dplyr)
df <- mutate(df, f_mean = mean(f1 + f2))

ggplot(df, aes(x = Time, y = f1)) +
    geom_point(color = 'black') +
    geom_point(aes(x = Time, y = f2), color = 'black') +
    geom_point(aes(x = Time, y = f_mean), color = 'red')

您应该能够使用该代码到达您想要的位置。另外,请查看ggplot2 cheat sheet