d3.js Stack-Layout wird von v3 auf v4 aktualisiert

Unter Verwendung von D3 v3 habe ich meine Daten so formatiert, dass sie Mikes Beispiel entsprechen, um meinen Entwicklungsprozess schnell zu starten. Beispielseite hierhttps: //github.com/d3/d3-3.x-api-reference/blob/master/Stack-Layout.m

var data = [
  {
    "name": "apples",
    "values": [
      { "x": 0, "y":  91},
      { "x": 1, "y": 290}
    ]
  },
  {
    "name": "oranges",
    "values": [
      { "x": 0, "y":  9},
      { "x": 1, "y": 49}
    ]
  }
];

Dann war alles, was ich tun musste, um die gestapelten Werte zu erhalten,

var stack = d3.layout.stack().values(d=>d.values)

var layers = stack(data)

enau so hat er es in seinem Beispiel gemach

In Version 4 scheint es jedoch so zu sein, dass die Stack-Funktion tabellarisch formatierte Daten erwartet, sodass die obigen Daten folgendermaßen aussehen würden.

var data = [
  {x: 0, apples: 91, oranges: 9},
  {x: 1, apples: 290, oranges: 49},
];

Gibt es eine einfache Möglichkeit, mein Datenformat beizubehalten und die v4-Stack-Funktion zu verwenden? Ich kann den neuen Weg, dies zu tun, nicht ergründen. In meinem gegenwärtigen Datenformat habe ich nützliche Eigenschaften, die mit dem Wertearray verbunden sind. Wenn ich mein Datenformat auf tabellarisch ändere, sehe ich keine praktische Möglichkeit, Eigenschaften mit Werten zu koppeln.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage