Обновление макета стека 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? Кажется, я не могу найти новый способ сделать это. В моем текущем формате данных у меня есть полезные свойства, связанные с массивом значений. Если я изменю свой формат данных на табличный, я не вижу удобного способа связать свойства со значениями.

Ответы на вопрос(1)

Ваш ответ на вопрос