У меня возникли проблемы с пониманием выбора и фильтрации в d3. Скажем, у меня есть простой массив:
data = [1, 2, 6, 3, 4]
Я хочу нарисовать круги, если значение < 5 и квадратов, если он >= 5. Мой код сейчас только рисует круги и выглядит так:
var svg = d3.select("body").append("svg")
svg.selectAll("shapes")
.data(data)
.enter()
.append("circle")
и другие атрибуты для кругов. Мне нужно использовать метод .filter()
, но я не знаю, куда его поместить. Я попытался сделать что-то вроде:
var svg = d3.select("body").append("svg")
svg.selectAll("shapes")
.data(data)
.enter()
.filter(function(d){if (d>5){console.log('working');})
.append("circle")
но затем я получаю сообщение об ошибке с помощью метода append
. Может ли кто-нибудь указать мне в правильном направлении, как я это выполнил?