2013-02-05 3 views
1

나는 ggplot2과 협력하여 이미 data.frame에서 생성 한 플롯을 geom_line으로 생성했습니다. 여기에는 언급하지 않는 것이 좋습니다. 다음 데이터 프레임과 동일한 id 값을 포함합니다.ggplot2에 커스텀 범례 추가하기

나는 안양이라는 데이터 프레임이 있습니다

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에 대한 현재 어느 id 변수가있을 때의 geom_line의 각 XY의 비율 똑같다. 그래서 기본적으로 예를 들어, 각 geom_line을 위해 내가 geom_text을 사용하려고했습니다

(id=1geom_line 플롯에서 그 id에 대한 비율을 그릴)하지만 문제는 내가 아무것도 볼 수없는 한 줄에 인쇄 할 모든 점이다 그것.

어떻게 할 수 있습니까 ??

편집

olddf dataframe은 같은 것입니다 : 내가 해봤 코드의 그

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(data = df, ...) 귀하의 게시물을 훨씬 유익하게 만드십시오. 좋은 업데이트의 경우 – Arun

+0

(+1) 그러나 'olddf'에 대한 데이터를 제공 할 수 있습니까? 답변을 제공해 드리고 싶지만 데이터를 사용해야합니다. – Arun

+0

@Arun 감사합니다. olddf 데이터 프레임이 너무 커서 여기에 표시 될 수는 없지만 기본적으로'id, pos, X, Y, Z'는 df와 비슷한 값을 갖기 때문에 임의의'df '비슷한 가치를 지닌다. – ifreak

답변

2

(채팅에서 논의 된 바와 같이) 그 대답은 매우 간단하다 :

당신은 당신이 지금까지 당신이 geom_text에 직면하며 사용자 코드에서 결과 그림을 붙여 문제를 가지고있는 코드를 게시해야 geom_text(data = df[df$id == i, ], ...)

관련 문제