Задать вопрос
victorzadorozhnyy
@victorzadorozhnyy

Как в моем случае переделать функции для получения значений (D3.js)?

Сделал D3.js графики по туториалу и все получилось, но там дата из аррея обычного, а мне нужно из вот такого.
var dataArray= [
                          [ {'name': 'Education', 'number': 33}],
                          [ {'name': 'Promotion', 'number': 10}],
                          [ {'name': 'Events', 'number': 55 }]
                         ]
<.code>
Не могу разобраться что и откуда берется для 
<code>
//SVG element
        var myChart = d3.select(this.refs.chart).append("svg")
            .attr("width", width + margin.left + margin.right)
            .attr("height", height + margin.top + margin.bottom)
.selectAll("rect")
            .data(dataArray)
            .enter().append("rect")
            .style("fill", function (d) { return colors([d].number) })//Как здесь задать?
            .attr("width", xScale.rangeBand()-2 )
            .attr("height", function (d) { return yScale([d].number) })//Как здесь задать?
            .attr("x", function (d, i) { return xScale(i) })//Как здесь задать?
            .attr("y", height)//Как здесь задать?
</code>
Вот так все отлично работает если данные из аррея
<code>
.selectAll("rect")
            .data(dataArray)
            .enter().append("rect")
            .style("fill", function (d) { return colors(d) })
            .attr("width", xScale.rangeBand()-2 )
            .attr("height", function (d) { return yScale(d) })
            .attr("x", function (d, i) { return xScale(i) })
            .attr("y", height)
</code>
  • Вопрос задан
  • 141 просмотр
Подписаться 1 Оценить Комментировать
Решения вопроса 1
BOOMER_74
@BOOMER_74
Full-Stack разработчик
А зачем массив в массиве из одного элемента? У вас тут нет однозначности и придется их либо перебирать, либо выбирать первое значение (d[0].number).
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы