2016-04-27 53 views
0

我有一個數據幀,看起來像這樣:如何使用相同顏色的ggplot繪製大量數據框的列?

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)) 

但它繪製不同的顏色每埃夫裏列。

+3

你有什麼嘗試嗎?如果您顯示您嘗試過的代碼並詢問您遇到困難的具體問題,則會更輕鬆。如果你不知道從哪裏開始,我建議你谷歌的基本ggplot教程。我們不是爲了給你寫代碼。我們在這裏幫助解答具體問題。 – MrFlick

+0

我做了,編輯了我的帖子。 – Lanza

+0

如果你想要所有的東西都是相同的顏色,不要在'aes'裏面指定'color',但是在外部:使用'color ='grey''而不是'aes(color = f)' – Jaap

回答

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

+0

那些硬編碼的'data $ column'除了最簡單的情況外,都會打破ggplot。你應該使用'aes()',並且只需指定列名。 – Gregor

+0

我會更新答案。謝謝。 –

+1

我進一步編輯以移動'aes()'之外的常量顏色。最佳做法是將數據列映射到'aes()'內,但將常量保留在外部。對於簡單的情節並沒有真正的區別,但是如果存在方面或其他複雜情況,這種方法可靠地發揮作用。 – Gregor

相關問題