Richtige Verwendung von stack.values ​​([accessor]) in D3 Streamgraph?

Ich versuche, ein D3-Streamgraph-Diagramm mit zusätzlichen Daten pro Layer mithilfe eines Wertezugriffs zu erstellen, wie in gezeigtD3 API-Referenz undDiese Frage bei Stack Overflow.

Der Titel wird ordnungsgemäß angehängt, scheint jedoch die Werte nicht anzuhängen. Irgendwelche Ideen, was schief gehen könnte?

Ich bin neu in d3 und bin mir sicher, dass es unkompliziert ist. Der Code ist unten.

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

var     m = 2; // number of samples per layer
var width = 960,
    height = 500,
    mx = m - 1,
    my = 350;

var stack = d3.layout.stack()
    .offset("wiggle")
    .values(function(d) { return d.values; });

var area = d3.svg.area()
    .x(function(d) { 
        return d.x * width / mx; 
    })
    .y0(function(d) { 
        return height - d.y0 * height / my; 
    })
    .y1(function(d) { 
        return height - (d.y + d.y0) * height / my; 
    });

var vis = d3.select("#chart")
  .append("svg")
    .attr("width", width)
    .attr("height", height);

vis.selectAll("path")
    .data(stack(layers))
  .enter().append("path")
    .attr("d", area)
  .append("title")
    .text(function(d) { return d.name; });

Antworten auf die Frage(1)

Ihre Antwort auf die Frage