D3
OG
Old school D3 from simpler times
All examples
By author
By category
About
ngocbien
Full window
Github gist
carte des Etats Unis avec couleurs
Built with
blockbuilder.org
forked from
aurelient
's block:
forked from
aurelient
's block:
forked from
aurelient
's block:
forked from
aurelient
's block:
<!DOCTYPE html> <head> <meta charset="utf-8"> <script src="https://d3js.org/d3.v4.min.js"></script> <style> body { margin:0;position:fixed;top:0;right:0;bottom:0;left:0; } </style> </head> <body> <script> var width = 700, height = 580; var svg = d3.select( "body" ) .append( "svg" ) .attr( "width", width ) .attr( "height", height ); // On rajoute un groupe englobant toute la visualisation pour plus tard var g = svg.append( "g" ); var projection = d3.geoAlbersUsa() .translate([width/2, height/2]) // .scale([800]); // On definie une echelle de couleur var color = d3.scaleQuantile() .range(["rgb(237,248,233)", "rgb(186,228,179)", "rgb(116,196,118)", "rgb(49,163,84)", "rgb(0,109,44)"]); //il vaut mieux de choisir les couleurs de valeurs descendue en meme temps var path = d3.geoPath() .projection(projection); // Chargement des donnees d3.csv("us-ag-productivity-2004.csv", function(data) { //Set input domain for color scale color.domain([ d3.min(data, function(d) { return d.value; }), d3.max(data, function(d) { return d.value; }) ]); d3.json("us-states.json", function(json) { //On fusionne les donnees avec le GeoJSON for (var i = 0; i < data.length; i++) { //Nom de l'etat var dataState = data[i].state; //Valeur associee a l'etat var dataValue = parseFloat(data[i].value); //Recherche de l'etat dans le GeoJSON for (var j = 0; j < json.features.length; j++) { var jsonState = json.features[j].properties.name; if (dataState == jsonState) { //On injecte la valeur de l'Etat dans le json json.features[j].properties.value = dataValue; //Pas besoin de chercher plus loin break; } } } g.selectAll("path") .data(json.features) .enter() .append("path") .attr("d", path) .style("fill", function(d) { //on prend la valeur recupere plus haut var value = d.properties.value; if (value) { return color(value); } else { // si pas de valeur alors en gris return "#ccc"; } }); }); }); </script> </body>
https://d3js.org/d3.v4.min.js