(function() { d3.queue() .defer(d3.csv, "IndiaStates.csv") .defer(d3.json, "statePop.json") .defer(d3.json, "stateGDP.json") .defer(d3.json, "stateLS.json") .defer(d3.json, "stateRS.json") .await(function(error, states, recipePop, recipeGDP, recipeLS, recipeRS) { if (error) throw error; csvType(states); var recipe = { "population": recipePop, "GDP": recipeGDP, "LS_Seats": recipeLS, "RS_Seats": recipeRS }; // Radio HTML d3.select("#select").style("top", "20px").call(selectFilter()); var parameter = d3.select('#select input[name="parameter"]:checked').node().value; // Map render var map = stateCarto(states, recipe[parameter], parameter).width(640).height(560); d3.select("#map").call(map); // On change of selection re-render d3.selectAll("#select input[name=parameter]").on("change", function() { parameter = d3.select('#select input[name="parameter"]:checked').node().value; map = stateCarto(states, recipe[parameter], parameter).width(640).height(560).transit(1000); d3.select("#map").call(map); }); }); }()); function csvType(states) { states.forEach(function(d) { d.name = d.name; d.alias = d.alias; d.id = d.id; d.population = +d.population; d.GDP = +d.GDP; d.LS_Seats = +d.LS_Seats; d.RS_Seats = +d.RS_Seats; }); } function colorCode(data, filter) { var color = ["#fc9272", "#fb6a4a", "#ef3b2c", "#cb181d", "#a50f15"]; data.forEach(function(d) { d.color = color[Math.floor(Math.random() * 5)]; }); } function selectFilter() { function render(selection) { selection.each(function() { d3.select(this).html("
"+ " Population
"+ " GDP
"+ " LS Seats
"+ " RS Seats"+ "
"); }); } // render return render; } // selectFilter