2014-09-18 2 views
0

ggplot2를 사용하여 단일 플롯에서 여러 개의 시계열 연속 변수를 플롯하려고했습니다. 이 변수를 많이했고, 내가루프 내 ggplot의 미적 매핑

p1<-ggplot(df, aes(x=timVar)) 
ind<-c(2,4,5,6,8,9,10,12,13,15,17) # Index of the series that I wanted to plot 
for(i in ind){ 
    p1<-p1+geom_line(aes(df[,i])) 
} 
print(p1) 

등을위한 루프 내부에 정상 미적 매핑을 사용하려 이것은 나에게 마지막 시리즈의 플롯을주고, 나는 몇 가지 솔루션을 봤 마지막으로 한 하나의 발견 이후 aes_string() 함수를 사용하라고 제안했습니다. 코드를 다음과 같이 다시 작성합니다.

p1<-ggplot(df, aes(x=timVar)) 
ind<-c(2,4,5,6,8,9,10,12,13,15,17) # Index of the series that I wanted to plot 
for(i in ind){ 
    p1<-p1+geom_line(aes_string(names(df)[i])) 
} 
print(p1) 

이것은 필자에게 필요한 모든 라인을 제공합니다. 그러나 각 변수에 대해 개별 색상을 얻으려고하면 개별 색상을 얻을 수 없습니다. 다음 코드,

p1<-p1+geom_line(aes_string(names(df)[i], col=names(df)[i])) 

aes_string를 사용하는 방법은 없나요 루프 내부에 함께 AES 또는 변수 이름으로 레이블 개별 색상 값을 생성 할 수있는 방법이 사용.

+0

나는 왜 그렇게하려고하는지 잘 모르겠습니다. DF를 제공 할 수 있습니까? –

+0

데이터 형식을 긴 형식으로 바꾸지 않으려는 이유가 있습니까? 예제는 [이 답변] (http://stackoverflow.com/a/15988472/2461552)을 참조하십시오. – aosmith

답변

0

dplyr 패키지의 melt 기능을 사용하고 있습니다. 위의 모든 문제를 해결했습니다. 모든 의견을 주셔서 감사합니다.