Я пытаюсь разобраться с некоторыми концепциями D3, но чувствую, что в моих знаниях есть некоторые фундаментальные пробелы. Кажется, это связано с тем, как работает функция stack() в D3.
Я пытаюсь понять, почему следующие два фрагмента кода не эквивалентны. Первый работает и заполняет данные, второй нет.
Первый (рабочий код, упрощенный):
var mainStack = d3.stack().keys(keys);
var seriesData = mainStack(dataset[0]);
gBars = g.selectAll("g")
.data(seriesData, function (d, i) { return (i); })
.enter().append("g").. more work here
Второй (не работает, упрощенный):
var mainStack = d3.stack().keys(keys);
var seriesData = mainStack(dataset[0]);
gBars = g.selectAll("g")
.data(seriesData, function (d, i) { return (i); });
gBars.enter().append("g").. more work here
По сути, я только что попытался разбить код, чтобы его было проще (для меня) читать, а также чтобы я мог реализовать функцию exit(). Однако, когда я делаю вышеперечисленное, графики не отображаются.
Я думал, что переменные gBar должны сохранять свои предыдущие выборки?
Буду признателен за любую помощь, я успешно использовал этот шаблон для простых диаграмм, поэтому я подозреваю, что это связано с чем-то, что мне не хватает, когда задействована функция d3.stacked(), которая вкладывает данные?
gBars
используется после вашего...
? Что заmore work here
? Это важная часть! - person Mark   schedule 21.01.2017