2016-06-01 5 views
0

예, 여기에 비슷한 질문을 NetLogo: histogram relative frequency에게 묻습니다. 그러나 알고있는 한 대답이 없습니다. 다시 물어볼 수 있습니까? 나는 그 질문 아래에 주석을 추가 했었지만 나는 허용되지 않았다.Netlogo : 플롯 상대도 수 주파수

거북이와의 거리가 멀어짐에 따라 특정 색상으로 패치의 상대적 빈도를 그립니다. 지금까지 시도한 내용 :

ask turtle [ 
    set-current-plot "plot 1" 
    set-plot-y-range 0 1 
    set-plot-pen-mode 1 
    histogram [distance myself] of patches with [pcolor = red]] 

이것은 단지 절대 빈도를 제공합니다. 거북이와의 거리가 멀어짐에 따라 각 패치 색상의 상대적 빈도를 그래프로 표시하고 싶습니다. 따라서 거북이에서 거리 = 1 떨어진 곳에서 전체 거북 중 얼마나 많은 패치가 나오는지. 패치가 빨간색입니다. 나는 추가하려고 시도했다. 원시 히스토그램은 목록을 기대하기 때문에 특정 문법 문제가 있었지만

histogram [distance myself ] of patches with [ ]/count patches with [distance myself = 1] ; when x-axis = 1, and so for increasing x 

과 같은 문법 문제가 있었다. 나는 Netlogo 사전을 들여다 보았으나 y 축을 플롯 세트로 설정하는 것을 찾을 수 없기 때문에 y 축을 (거리 어긋남의 절대 어커런스/총 번호)로 설정하는 간단한 방법이 있다고 생각한다. -up 명령.

이 문제와 관련하여 조언을 부탁드립니다. 시간 내 주셔서 감사합니다.

+0

을 예를 들어 주시겠습니까? 패치의 상대적 빈도를 플로팅하여 무엇을 의미하는지 확신 할 수 없습니다. 좀 더 구체적이어야합니다. – mattsap

+0

구문 문제를 해결하려면 : 히스토그램 [(거리 자신)/[distance myself = 1]]로 패치 수를 [pcolor = red]로 수정하십시오. 0으로 나누기 오류가있을 수 있습니다. ifelse-value. – mattsap

+0

안녕하세요 mattsap 투명도를 높이기 위해 qns를 편집했습니다. 감사합니다 :) – lyh198

답변

0

빨간색과 전체 패치의 비율을 거리에 비유하고 싶은 것처럼 들립니다. 당신은 이것에 히스토그램을 사용하지 않을 것입니다 ...

대신, 당신은 그것을 플로팅 할 것입니다.

멀리있는 패치의 거리를 가져와야합니다. 각 거리보다 그 거리에있는 패치의 총 수에 대한 적색의 비율을 계산하십시오.

는 거북이 패치에서 오프 중심이 될 수 있기 때문에 거리를 반올림 할 수 있습니다, 당신의 인생을 간단하게하기 위해 (즉, 거북이 xcor 0.5보다는 0 또는 1이있는 경우)

to setup 
    clear-all 

    crt 1 [ setxy random-xcor random-ycor] 
    ask patches [ set pcolor ifelse-value (random 100 < 30) [red][black]] 

    ask turtle 0 
    [ 
    let max-distance round max [distance myself] of patches 
    set-current-plot "example-plot" 
    set-plot-x-range 0 max-distance 
    set-plot-y-range 0 1 
    foreach n-values max-distance [?] 
    [ 
    let percent-red (count patches with [ round (distance myself) = ? and pcolor = red])/(count patches with [ round (distance myself) = ?]) 
    plotxy ? percent-red 
    ] 

    ] 

end