Я пытаюсь создать диаграмму с разбивкой по областям и столкнуться с проблемой с функцией стека. Ось x - это дата, ось y подсчитывается, а область - buildResult.D3 сложена функция диаграммы стоп-кадра
Вот код:
var stack = d3.layout.stack()
.offset("zero")
.values(function(d) { return d.values; })
.x(function(d) { return d.date; })
.y(function(d) { return d.count; });
// Loop through the data and add elements
data.result.forEach(function(d) {
d.date = new Date(d._id.year, d._id.month-1, d._id.day);
});
// Nest by name aka status
var nested = d3.nest()
.key(function(d) { return d._id.buildResult; });
// Create the layers
var layers = stack(nested.entries(data.result));
Необработанные данные выглядят следующим образом:
{
"result" : [
{
"_id" : {
"month" : 1,
"day" : 20,
"year" : 2014,
"buildResult" : "FAILURE"
},
"count" : 27
},
{
"_id" : {
"month" : 1,
"day" : 20,
"year" : 2014,
"buildResult" : "SUCCESS"
},
"count" : 93
}
],
"ok" : 1
}
Ошибка я получаю из слоев объекта:
Cannot read property 1 of undefined
В nested.entries(data.result)
объекте не является нулевым, поэтому я не уверен, что происходит. Спасибо за помощь!
трудно, не видя больше кода ... но не должно быть '.key (function (d) {return d._id.buildResult;});'? – FernOfTheAndes
Да, я скопировал неправильную строку. У меня оно есть, как у вас есть, но все равно получаю ошибку. Зафиксирует сообщение. – JamesE