2013-02-05 162 views
1

我正在與ggplot2一起生成一些geom_line圖表,我已經從另一個data.frame生成了這個圖表,這在此處不重要。但它也包含與以下數據幀相同的id值。在ggplot2中添加自定義圖例

我有一個名爲DF這個數據幀:

id X Y  total 
1 3214 6786 10000 
2 4530 5470 10000 
3 2567 7433 10000 
4 1267 8733 10000 
5 2456 7544 10000 
6 6532 6532 10000 
7 5642 4358 10000 

我想要做的就是創建custom legend其中存在特定ID對每個geom_lineXY爲當id變量是百分比一樣。所以基本上對例如每個geom_lineid=1,畫爲idgeom_line情節的百分比)

我試着使用geom_text,但問題是,這是在一行中打印的一切,我看不到任何東西它。

這是怎麼做到的?

編輯

olddf據幀是類似的東西:

id pos X Y Z 
1 
1..... 
1 
2 
3 
4 
3 ...... 
. 
. 

這是我試過的代碼

for(i in df$id) 
{ 
test = subset(olddf, id==i) 
mdata <- melt(test, id=c("pos","id")) 
pl = ggplot() + geom_line(data=mdata, aes(x=pos, y=value, color=variable)) + geom_text(data=df, aes(x=6000, y=0.1, label=(X*total)/100), size=5) 
} 

enter image description here

+4

你應該張貼你到目前爲止你面對geom_text並粘貼從您的代碼導致圖中的問題的代碼讓你的文章更具信息性。 – Arun

+0

(+1)爲好的更新。但是,另外,您能否提供'olddf'的數據?我想爲您提供一個答案,但我需要這些數據。 – Arun

+0

@Arun謝謝你,olddf數據框太大了,不能在這裏展示......但基本上'id,pos,X,Y和Z'的值與df中的值相似,所以你可以創建一個隨機的'df '具有類似的價值。 – ifreak

回答

2

答案(如在聊天中討論)是相當簡單:

變化geom_text(data = df, ...)geom_text(data = df[df$id == i, ], ...)

相關問題