Перебор одной строки данных

#javascript #d3.js

#javascript #d3.js

Вопрос:

Мои данные находятся в форме:

 data = { "year" : 2001,
         "category 1": 1234, 
         "category 2": 2345, 
         "category 3": 3456, 
          ...
}

 

И поэтому я собираюсь создать графику с помощью этих строк кода:

   svg.selectAll("left.coord")
    .data(data) 
    .enter()
    .append("circle")
    .attr("r", 3)
    .attr("cy", function(d, i){
      return d[i]; //or whatever
    })
    .attr("cx", 0)
 

В принципе, мне нужна функция внутри cy, чтобы вернуть 1234, затем 2345, затем 3456 и т.д. Я знаю, как это сделать, если мои данные были массивом объектов, но что мне делать в этом случае? Код не выдает никаких ошибок, но и ничего не делает.

Комментарии:

1. Вы можете получить массив значений с помощью Object.values(data)

2. selectAll().data() необходимо передать массив, а не объект. Поскольку массив не предоставлен, элементы не вводятся, и ваша функция для установки cy никогда не выполняется.