2016-12-13 4 views
0

TL; DR : 플롯을 단계적으로 줄을 추가 오른쪽 ggplot에서 범례 점점R 설정 범례 반복적 색

I 동일한 열 이름하지만 다른 값 (예 dataframe 참조와 dataframes 세트를 가지고 밑바닥에).

a = ggplot() + geom_ribbon(data = na.omit(m), aes(x = Time, ymin=SDmin, ymax=SDplus), alpha = 0.5, fill ="grey") +geom_line(data = na.omit(m), aes(x = Time, y = OD_scaled, color = "Growth")) + xlab("Time (H)") + ylab("OD Scaled") 
a + geom_ribbon(data = na.omit(p), aes(x = Time, ymin=SDmin, ymax=SDplus), alpha = 0.5, fill ="grey") +geom_line(data = na.omit(p), aes(x = Time, y = OD_scaled, color = "photo")) + xlab("Time (H)") + ylab("OD Scaled") 

Multiple plot

나는 데이터의 다른 조합 (와이 많은 작업을 수행해야합니다

종종 나는 리본 그래서 등 꾸몄다 표준 편차와 함께 하나의 그래프에서 이러한 dataframes을 플롯 할 필요가 항상 같은 dataframe 형식) 그래서 첨가제 방식으로 플롯에 dataframes을 추가 할 수있는 기능을 작성했다 : 다음

plot.OD = function(df, Growth, graph_name) { 
    if(missing(graph_name)) { 
    graph_name = ggplot() 
    } 

    graph_name = graph_name + geom_ribbon(data = na.omit(df), aes(x = Time, ymin=SDmin, ymax=SDplus), alpha = 0.5, fill ="grey") +geom_line(data = na.omit(df), aes(x = Time, y = OD_scaled, color = Growth)) + xlab("Time (H)") + ylab("OD Scaled") 
    return(graph_name) 
} 
} 

I을 사용하여 함수를 호출

a = plot.OD(df1,"Mix") 
a 
#Adding a plot is done like this: 
a + plot.OD(df2,"Photo",a) 

이것은 결과 : Second plot

범례를 볼 수 있으며 색상이 자동으로 할당되지 않은 것처럼.

그럼 내 질문 : 범례가 자동으로 업데이트되도록이 기능을 개선하려면 어떻게해야합니까?

link 두 예제 dataframes을 찾아주세요

Time R B W T Tprof Tmeas Tcool pH OD_scaled SD SDmin SDplus 
0.002777778 0 0 0 0 21 21.13767 3.524333 0   2 0  2  2 
0.005555556 0 0 0 0 21 21.12400 3.461333 0  NA NA NA  NA 
0.008333333 0 0 0 0 21 21.11833 3.396333 0  NA NA NA  NA 
0.011111111 0 0 0 0 21 21.11800 3.359333 0  NA NA NA  NA 
0.013888889 0 0 0 0 21 21.12767 3.269333 0  NA NA NA  NA 
0.016666667 0 0 0 0 21 21.12933 3.225667 0  NA NA NA  NA 
+1

귀하의 질문에 두 개의 작은 예를 들어 data.frames를 추가 결국 속임수를 썼는지 (을 저장하려면 저장 기능을 사용) 그래서 그것은 재현 가능하고 누군가는 당신을 도울 것이고 당신을 도울 것입니다. – Nova

+0

Done, good point – mimat

+1

시도해 보지 않았지만 일반적으로 열 이름이 같으면 어떻게 할 것인가? 예를 들어 dplyr의'bind_rows() '와 같이 선택 방법을 사용하여 열 이름을 병합하는 것입니다. 어디에서 왔는지 알려주는 열이 있거나 그 정보가있는 열을 추가해야하기 때문에 데이터가 충분히 식별됩니다. 일단 전체 데이터 세트를 얻었 으면'aes (color = [your grouping variable]) '을 – yoland

답변

0

dplyr 바인드 행