Обновление макета стека d3.js с v3 до v4
Используя D3 v3, я отформатировал свои данные в соответствии с примером Майка, чтобы быстро начать процесс разработки. Пример страницы здесьhttps://github.com/d3/d3-3.x-api-reference/blob/master/Stack-Layout.md
var data = [
{
"name": "apples",
"values": [
{ "x": 0, "y": 91},
{ "x": 1, "y": 290}
]
},
{
"name": "oranges",
"values": [
{ "x": 0, "y": 9},
{ "x": 1, "y": 49}
]
}
];
Тогда все, что мне нужно было сделать, чтобы получить сложенные значения, было
var stack = d3.layout.stack().values(d=>d.values)
var layers = stack(data)
Как именно он это сделал в своем примере.
Однако в версии 4 кажется, что функция стека ожидает данные в табличном формате, поэтому приведенные выше данные будут выглядеть следующим образом.
var data = [
{x: 0, apples: 91, oranges: 9},
{x: 1, apples: 290, oranges: 49},
];
Есть ли простой способ сохранить мой формат данных и использовать функцию стека v4? Кажется, я не могу найти новый способ сделать это. В моем текущем формате данных у меня есть полезные свойства, связанные с массивом значений. Если я изменю свой формат данных на табличный, я не вижу удобного способа связать свойства со значениями.