d3.js Diagramm nicht aktualisiert, mit neuen Daten

Einer Reihe der Rechtecke werden gezeichnet, indem d3.js durch das Holen einer Anordnung von 100 Objekten. Obwohl die console.log(data) zeigt, dass neue Daten empfangen wurden, werden die neuen Daten Punkte scheinen nicht Anhängen beliebiger Rechtecke.

War .enter().append() falsch verwendet?

function init() {
    var width = 800,
        height = 400,
        margin = 50;

    chart = d3.select('#chart')
                .append('svg:svg')
                .attr('width', width)
                .attr('height', height);
}

function do_update() {
    data = fetch_latest_top100();
    console.log(data)

    chart.selectAll('rect')
        .data(data)
        .enter()
        .append('svg:rect')
        .attr('x', function(d) { return x(d.x); })
        .attr('y', function(d) { return y(d.y); })
        .attr('height', function(d) { return d.value; })
        .attr('width', function(d) { return 3 });
}

jsfiddle: http://jsfiddle.net/BU8cA/

  • es wäre besser, wenn Sie eine Geige (jsfiddle.net) oder plunkr plnkr.co/edit/?p=Katalog, die helfen würde, zu sehen, Problem live
  • Ich weiß nicht, ob es eine copy/paste-Problem, aber Ihnen fehlt ein ")" nach y(d....y auf der y attr, und das könnte der Fehler sein
  • Copy-paste-Problem, korrigierte die Tippfehler, danke!
  • versuchen Sie, die svg: bevor Sie die rect-dann, da Sie bereits die Auswahl der svg, etwa so: .append("rect"), wenn es ist nicht, dass ich nichts mehr sehen komisch aus mit diesem code
  • Ich habe das jsfiddle in der post. Die Daten aus der 2. Holen scheint nicht alles zu tun, um das Diagramm.
  • Ich glaube, ich kann mir nicht helfen, hier, sorry, aber ich bin nicht so vertraut mit der d3 entweder. Wenn Sie nicht gesehen haben noch, es könnte helfen: mbostock.github.io/d3/tutorial/bar-2.html

InformationsquelleAutor Nyxynyx | 2013-12-20
Schreibe einen Kommentar