2

作成したボタンをクリックして、新しいランダム データを含む新しいチャートをプッシュするように D3 に指示するにはどうすればよいですか? 現在、ページを更新して新しいデータを取得していますが、ページをリロードせずに新しいチャートをプッシュできるようにしたいと考えています。

</script>
    var w = 500;
    var h = 500;
    var barPadding = 1;

    var dataset = [ ];

    for (var i = 0; i < 14; i++) {var newNumber = Math.round(Math.random() * 70);
    dataset.push(newNumber);}



    var svg = d3.select("body")
            .append("svg")
            .attr("width", w)
            .attr("height", h);

    var widthScale = d3.scale.linear()
                    .domain([0, d3.max(dataset, function(d,i) {return d;})])
                    .range([0,w]);

        svg.selectAll("rect")
            .data(dataset)
            .enter()
            .append("rect")
            .attr("x", 3)
            .attr("y", function (d,i) {return i* 36;}) 
            .attr("width", widthScale)
            .transition()
            .duration(1000)
            .attr("height", h / dataset.length - barPadding)
            .attr("fill", function(d) {return "rgb(0, 0, " + (d * 10) + ")";});

        svg.selectAll("text")
            .data(dataset)
            .enter()
            .append("text")
            .text(function(d) {return d;})
            .attr("x", function(d) {return widthScale(d) -17;})
            .attr("y", function(d,i) {return (i * 36) + 23 ;})
            .attr("fill", "white")
            .attr("font-family", "sans-serif")
            .attr("text-anchor", "middle");

4

1 に答える 1