Построение нисходящих кривых, связанных с переменной / списком - PullRequest
0 голосов
/ 10 апреля 2019

это связано с моим предыдущим вопросом

Я создал список для каждой черепахи с тремя элементами (мнение1 мнение2 мнение3). Каждый из этих элементов находится в [-1; +1] диапазон (три случайных значения для каждой черепахи).

Теперь мне бы хотелось иметь график с 3 наклонными вниз кривыми, отражающими количество черепах, которые имеют , по крайней мере, данного мнения. То есть, если у меня 100 черепах, то -1 имеет 100 случаев, а +2 - ноль. До сих пор мне удалось создать гистограмму мнений с

set-current-plot "opinion distribution"
set-histogram-num-bars 10
histogram [sum opinions] of turtles

Что дает enter image description here но на самом деле это не то, к чему я стремлюсь, потому что (1) я объединил все три мнения, тогда как я хотел бы, чтобы они разделились, и (2) это не нисходящая линия, которой я являюсь, которая отражает совокупную частоту, а не абсолютную.

Любая помощь ценится как всегда!


После комментария LukeC я добавляю картинку, чтобы попытаться прояснить цель моего графика

enter image description here

1 Ответ

0 голосов
/ 12 апреля 2019

Можете ли вы предоставить более подробную информацию или пример того, как должен выглядеть ваш сюжет?Я не совсем уверен, что вы пытаетесь подсчитать здесь - вы пытаетесь проверить количество черепах, у которых одно из этих мнений является самым низким?Если это так, это может приблизиться к тому, что вы пытаетесь сделать.С помощью этой setup и игрушечной go процедуры для изменения мнения черепахи:

turtles-own [ opinions ]

to setup
  ca
  crt 100 [
    set opinions n-values 3 [ random 3 - 1 ]
  ]
  reset-ticks
end


to go
  ask turtles [
    let i one-of [ 0 1 2 ] 
    let my-opinion item i opinions
    let greater one-of other turtles with [
      item i opinions > my-opinion 
    ] 
    if greater != nobody [
      set opinions replace-item i opinions [ item i opinions ] of greater
    ]
  ]  
  tick
end

Вы можете заставить репортеров возвращать любую ценность, которая вам нужна.Здесь я сделал три репортера биннинга, которые просто считают количество черепах с тремя возможными значениями в качестве их минимального значения из списка opinions:

to-report bin-1
  report count turtles with [ min opinions = -1  ]
end

to-report bin-2
  report count turtles with [ min opinions = 0 ]
end

to-report bin-3
  report count turtles with [ min opinions = 1 ]
end

Если вы строите репортеров (например, ссюжетная ручка, вызывающая plot bin-1), вы получите что-то вроде:

enter image description here

Это на правильном пути?Если нет, не могли бы вы рассказать немного больше о том, как вы ожидаете, как будет выглядеть сюжет со временем?

...