2014-02-20 3 views
1

나는 put two scatterplots onto one plot in ggplot2이 가능하다는 것을 알고 있지만 관련 포인트 사이에 화살표를 넣어야합니다. 내가 가지고있는 경우, 예를 들어두 산점도 사이에 화살표가있는 gplot의 두 산점도

data.frame을 다음

SPEAKER <- c("A","A","B","B") 
VOWEL <- c("ej","ow","ej","ow") 
MB_F1_ONGLIDE <- c(423.88,533.297,465.796,532.118) 
MB_F2_ONGLIDE <- c(1847.428,962.485,1815.381,1058.883) 
MB_F1_OFFGLIDE <- c(404.827,480.176,423.381,522.727) 
MB_F2_OFFGLIDE <- c(1885.349,911.669,1887.392,971.168) 
data <- data.frame(SPEAKER,VOWEL,MB_F1_ONGLIDE,MB_F2_ONGLIDE,MB_F1_OFFGLIDE,MB_F2_OFFGLIDE) 

나는 두 산점도이 같은 동일한 플롯에 표시 할 수 있다는 사실을 알고 :

plot <- ggplot(data,aes(x = MB_F2_ONGLIDE,y = MB_F1_ONGLIDE,color = SPEAKER,label = VOWEL)) + 
    geom_text(aes(x = MB_F2_ONGLIDE,y = MB_F1_ONGLIDE)) + 
    geom_text(aes(x = MB_F2_OFFGLIDE,y = MB_F1_OFFGLIDE)) + 
    scale_x_reverse() + 
    scale_y_reverse() 

생산 :

enter image description here

하지만 내가 원하는 것은 일이 같은 :이다

enter image description here

, 나는 MB_F2_OFFGLIDE 값으로 MB_F2_ONGLIDE 값에서 화살표를 그립니다 MB_F1_OFFGLIDE 값과 뭔가에 MB_F1_ONGLIDE 값에서 화살표를 그립니다 뭔가를 원한다.

이것이 가능합니까?

답변

3

예 - 당신이 사용할 수있는 geom_segment(), 당신은 화살표를 그릴 grid 또는 gridExtra를로드해야합니다. 당신은 라인 크기 /를 geom_segment 호출에서 색상으로 수리를 할 수 있습니다, 봐 화살표 모양/동작을 변경하는 방법은 화살표

require(gridExtra) 

ggplot(data,aes(x = MB_F2_ONGLIDE,y = MB_F1_ONGLIDE,color = SPEAKER,label = VOWEL)) + 
    geom_text(aes(x = MB_F2_ONGLIDE,y = MB_F1_ONGLIDE)) + 
    geom_text(aes(x = MB_F2_OFFGLIDE,y = MB_F1_OFFGLIDE)) + 
    geom_segment(aes(x = MB_F2_ONGLIDE,y = MB_F1_ONGLIDE,xend = MB_F2_OFFGLIDE,yend = MB_F1_OFFGLIDE,color=SPEAKER),arrow=arrow()) + 
    scale_x_reverse() + 
    scale_y_reverse() 

enter image description here