考慮下面的示例數據幀進行分組,不同的標籤:情節兩個不同的數據幀,由一個或多個變量圖例
x1=seq(2,7,length.out=13)
y1a=1.5*x1+4; y2a=1.5*x1+7;y3a=1.5*x1+9;
X1=rep(x1,3)
Y1=c(y1a,y2a,y3a)
groups1=rep(c("A","B","C"),each=13)
df1=data.frame(groups1,X1,Y1)
x2=seq(4,10,length=10)
y1b=3*x2+4; y2b=3*x2+7;y3b=3*x2+9;
X2=rep(x2,3)
Y2=c(y1b,y2b,y3b)
groups2=rep(c("A","B","C"),each=10)
df2=data.frame(groups2,X2,Y2)
與ggplot2
繪製他們,我得到一個自動的傳說,這是偉大的。然而,傳說是兩個dataframes一樣的,這是沒有那麼大:
p <- ggplot()
p <- p + geom_line(data=df1,aes(x=X1, y=Y1, color = groups1)) +
geom_point(data=df2,aes(x=X2, y=Y2, color = groups2))
相反,我想傳說爲曲線從df1
的到來,和曲線從df2
來區分,標記前者爲「Pred」,後者爲「Test」。我怎樣才能做到這一點?請注意,實際的數據幀要大得多,而且非常不同(一個有〜400行×10列,另一個有〜90行×30列),因此將它們合併在一起並不會很簡單。
其實,在真實數據集,兩個'groups'變量具有相同的名稱,而不是比'groups1'和'groups2':我創建測試用例時不夠細心這裏(我認爲這不重要!)。無論如何,即使在這種情況下,你的第二個解決方案似乎也能工作我實際上需要繪製第二個數據集的點。我認爲添加一個'geom_point'圖層就足夠了...... – DeltaIV
哇!解決方案1現在看起來很棒非常感謝 :) – DeltaIV