#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 никогда не выполняется.