2016-07-15 3 views
-3

나는 그렇게하기가 쉽지 않을 수도 있고 많은 것을 검색했지만 이것을 수행 할 방법을 찾을 수 없다는 것을 알고있다.플로팅 중 멈춤을 만드는 방법

데이터 프레임의 각 두 열을 플로트하고 싶을 때마다 줄거리를 예를 들어 예 : Enter를 클릭하면 다른 플롯을 보여줍니다. 하나는 첫 번째 열의 두 번째 열 사이에, 예를 들어, 줄거리를 확인하고자하는 경우

제가

mydf<- structure(list(Am = c(0.91971, 0.61566, 0.78723, 1.038, 0.65656, 
0.9448, NaN, 1.1353, 0.82117, 0.15673, 0.083684, 1.145, 0.53346, 
1.0294, 1.0154, NaN, 0.97639, 0.090728, 0.65683, 1.1206, NaN, 
NaN, 0.9239, 0.78985, 0.95377, 1.0535, 1.032, 1.0663, 1.0226, 
0.967), Bm = c(0.27, NaN, 0.56, NaN, 20, 10, 0.1, 0.3, 0.6, NaN, 
NaN, NaN, 0.7, NaN, 0.9, NaN, 4, NaN, 10, NaN, 1, NaN, NaN, NaN, 
NaN, NaN, NaN, NaN, NaN, NaN), Cm = c(NaN, NaN, NaN, NaN, NaN, 
NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, 0.91, NaN, NaN, NaN, 
NaN, 0.75, NaN, 0.46, NaN, 0.1, NaN, NaN, 10, NaN, 20, NaN, 5 
), Dm = c(NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, 
NaN, NaN, 100, NaN, NaN, 1, NaN, 100, NaN, NaN, 0.8, NaN, NaN, 
NaN, NaN, NaN, NaN, NaN, NaN), Em = c(NaN, NaN, NaN, NaN, NaN, 
NaN, NaN, 21, NaN, 4, NaN, 0.3, NaN, 0.1, NaN, NaN, 0.2, NaN, 
NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN), 
    Fm = c(NaN, 0.22, 0.43, NaN, 0.66, NaN, NaN, NaN, NaN, NaN, 
    NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, 
    NaN, 100, NaN, 5, NaN, 1, NaN, 20), Gm = c(NaN, NaN, NaN, 
    NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, 
    NaN, NaN, NaN, NaN, 0.5, NaN, NaN, 0.1, NaN, 0.6, NaN, NaN, 
    NaN, NaN, NaN), Hm = c(NaN, NaN, NaN, NaN, NaN, NaN, NaN, 
    NaN, 0.5, NaN, NaN, 4, NaN, NaN, 0.8, NaN, 0.22, NaN, NaN, 
    NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN), Im = c(NaN, 
    100, NaN, NaN, NaN, 200, NaN, NaN, NaN, NaN, NaN, NaN, NaN, 
    NaN, NaN, 50, NaN, NaN, 0.12, 0.14, 0.15, 0.99, NaN, NaN, 
    100, NaN, NaN, NaN, NaN, NaN), Jm = c(NaN, NaN, NaN, 0.22, 
    NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, 
    NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, 
    NaN, NaN)), .Names = c("Am", "Bm", "Cm", "Dm", "Em", "Fm", 
"Gm", "Hm", "Im", "Jm"), row.names = c(NA, -30L), class = "data.frame") 

아래 예시적인 데이터를 제공한다. 그것은 사용 완료 됨

plot(mydf[,1],mydf[,2]) 

플롯 이후 클릭을 중지하거나 r을 설정하는 방법을 찾지 못했습니다.

+0

아마도 '쌍 (mydf)'일까요? – zx8754

+0

뭔가 대화식을 만들기 위해'Shiny' 패키지를 가지고 놀아야한다고 생각합니다. – Tensibai

답변

1

나는 당신이 원하는 것을하기위한 가장 쉬운 방법은 줄거리를 루프 (I)에 삽입하고 여러 가지 보유 옵션 (II) 중 하나를 사용하는 것이라고 생각합니다.

(I) 루프 : 당신이 잡아 온하는 키가 될 때까지 원하는 경우

:

for (i in 2:number_of_plots) { 
    plot(mydf[,i-1],mydf[,i]) 
    <<hold_option>> 
} 

(II) hold_option :

루프는 다음과 같이 보일 것입니다을 누를 경우 기본형 readline을 확인할 수 있습니다 (터미널에 ?readline 입력). 작동 방식을 보려면 다른 기기를 사용하는 것이 좋습니다. this 질문). 버튼이 눌러지면 루프가 계속되기를 원한다면 여기에 예제가 있습니다.

for (i in 2:number_of_plots) { 
    plot(mydf[,i-1],mydf[,i]) 
    line <- readline() 
} 

당신이 ?sys.sleep을 통해 시간의 기본 R의 sys.sleep 기능을 점검을 일정 금액을 기다려야합니다

. 다음은 루프가 3 초 동안 유지되기를 원하는 경우의 예입니다.

for (i in 2:number_of_plots) { 
    plot(mydf[,i-1],mydf[,i]) 
    line <- Sys.sleep(3) 
} 
+0

전적으로 동의합니다. 다른 옵션에 대한 외부 소스와 함께 완전한 솔루션을 예시로 보여주는 한 가지 옵션만으로도 충분합니다. – Tensibai

관련 문제