D3.js 使用新csv数据集更新d3甜甜圈图表

D3.js 使用新csv数据集更新d3甜甜圈图表,d3.js,donut-chart,D3.js,Donut Chart,真的很难用来自几个csv文件的新数据更新甜甜圈图表 如何使用新的csv文件更新图表?Im使用setInterval()循环文件数组 我的代码: var updateChart = function(){} var width = 360; var height = 360; var radius = Math.min(width, height) / 2; var donutWidth = 75; var legendRectSize = 18;

真的很难用来自几个csv文件的新数据更新甜甜圈图表

如何使用新的csv文件更新图表?Im使用setInterval()循环文件数组

我的代码:

   var updateChart = function(){}
    var width = 360;
    var height = 360;
    var radius = Math.min(width, height) / 2;
    var donutWidth = 75;
    var legendRectSize = 18;
    var legendSpacing = 4;

    var color = d3.scale.category20b();

    var svg = d3.select('#chart')
      .append('svg')
      .attr('width', width)
      .attr('height', height)
      .append('g')
      .attr('transform', 'translate(' + (width / 2) + 
        ',' + (height / 2) + ')');

    var arc = d3.svg.arc()
      .innerRadius(radius - donutWidth)
      .outerRadius(radius);

    var pie = d3.layout.pie()
      .value(function(d) { return d.population; })
      .sort(null);

    d3.csv('data.csv', function(error, dataset) {           
      dataset.forEach(function(d) {                             
        d.population = +d.population;                                     
      });                                                       /

      var path = svg.selectAll('path')
        .data(pie(dataset))
        .enter()
        .append('path')
        .attr('d', arc)
        .attr('fill', function(d, i) { 
          return color(d.data.age);
        });
        
                    
        
     
      var legend = svg.selectAll('.legend')
        .data(color.domain())
        .enter()
        .append('g')
        .attr('class', 'legend')
        .attr('transform', function(d, i) {
          var height = legendRectSize + legendSpacing;
          var offset =  height * color.domain().length / 2;
          var horz = -2 * legendRectSize;
          var vert = i * height - offset;
          return 'translate(' + horz + ',' + vert + ')';
        });

      legend.append('rect')
        .attr('width', legendRectSize)
        .attr('height', legendRectSize)
        .style('fill', color)
        .style('stroke', color);
        
      legend.append('text')
        .attr('x', legendRectSize + legendSpacing)
        .attr('y', legendRectSize - legendSpacing)
        .text(function(d) { return d; });                       

    });  
CSV格式:

 age,population
 Cumulative,2704659
 Cumulative Prev,4499890

你能为它做一把小提琴吗?你有没有找到解决办法?是的,找到了这个例子。我有一个$ajax调用,成功后更新json并重新呈现图表