2016-07-27 133 views
0

我有这个功能可以在应用第一次加载时调用d3-geomap。 但是,如何在不重绘全新地图的情况下使用新数据更新地图?如何使用新数据更新(但不重绘)d3-geomap

function buildMap(dataToShow){ 

     var map = d3.geomap.choropleth() 
       .geofile('https://d3-geomap.github.io//d3-geomap/topojson/world/countries.json') 
       .colors(colorbrewer.YlGnBu[9]) 
       .column('figure') 
       .format(function(d) {return (Math.round(d * 10)/10).toFixed(2)+"%";}) 
       .legend(true) 
       .unitId('ccode') 
       .domain(chartDomain) 
       .zoomFactor(5); 


     d3.select('#map') 
      .datum(dataToShow) 
      .call(map.draw, map); 
    } 

回答

1

说你的数据是在一个名为newData列,那么你需要做以下电话

map.column(newData).update() 

这应该全部由自己打理一切。