Я хотел бы создать столбчатую диаграмму с накоплением (или диаграмму с накоплением с областями) для мужчин и женщин с течением времени. Бар (или область) мужчины находится внизу, а сверху будет женщина. Данные довольно простые. Он имеет формат, как показано ниже в CSV:
gender year value
male 1999 2845
male 2004 2904
male 2009 3004
male 2014 3056
female 1999 2910
female 2004 3210
female 2009 3340
female 2014 4029
Прочитал по d3.csv, сделал гнездо по годам и проделал некоторые манипуляции, чтобы подогнать его под формат для d3.stack (). Таким образом, окончательный формат данных выглядит так:
Object { male: 2845, female: 2910 }
Object { male: 2904, female: 3210 }
Object { male: 3004, female: 3340 }
Object { male: 3056, female: 4029 }
Я пробовал использовать d3.stack с данными выше, но, похоже, это не сработало. Я начал сомневаться, подходит ли этот формат для d3.stack () и есть ли более эффективные способы сделать столбчатую диаграмму / диаграмму с областями, чем этот. Мне было интересно, может ли группировка данных по полу (больше, чем по году) иметь больше смысла для использования d3.stack ().
Если у кого-нибудь есть какие-либо советы по созданию штабелированного бара / зоны, мы будем очень признательны.
Спасибо,
Я имел в виду, что результат d3.stack () был пуст. Я не был уверен, что это привело к пустому результату, потому что входные данные, например {male: 2845, female: 2910} не соответствует формату, который d3.stack () требует в качестве входных данных.
Спасибо за ссылку. Это решено. Проблема была не во входной структуре. Это потому, что я плохо использовал d3.stack (). Когда я следил за документом по вашей ссылке, он работал нормально.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)

