D3
OG
Old school D3 from simpler times
All examples
By author
By category
About
Ctuauden
Full window
Github gist
SNCF_dataviz_corentin
Built with
blockbuilder.org
<!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> // Feel free to change or delete any of the code you see in this editor! var margin = {top : 20,left: 20, right: 20, bottom: 20} var svg = d3.select("body").append("svg") .attr("width", 960) .attr("height", 500) // gare 1 selectionnée virtuellement var gare1 = 713040 // gare 2 selectionnée virtuellement var gare2 = 471003 // emplacement du text 'nom des gares' svg.append("text") .attr("class","nom") .text("Nom des gares") .attr("y", 0 + margin.top) .attr("x", 0 + margin.left) .attr("font-size", 15) .attr("font-family", "monospace") .attr("text-anchor","start") // emplacement du nom de la gare 1 svg.append("text") .attr("class","nom1") .text("") .attr("y", 0 + margin.top) .attr("x", 500 + margin.left) .attr("font-size", 15) .attr("font-family", "monospace") .attr("text-anchor","end") // emplacement du nom de la gare 2 svg.append("text") .attr("class","nom2") .text("") .attr("y", 0 + margin.top) .attr("x", 800 + margin.left) .attr("font-size", 15) .attr("font-family", "monospace") .attr("text-anchor","end") // emplacement du text 'nombre de voyageurs' svg.append("text") .attr("class","Nombre de voyageurs") .text("Nombre de voyageurs") .attr("y", 20 + margin.top) .attr("x", 0 + margin.left) .attr("font-size", 15) .attr("font-family", "monospace") .attr("text-anchor","start") // emplacement de la valeur correspondante pour la gare 1 svg.append("text") .attr("class","valeur_voyageurs") .text("") .attr("y", 20 + margin.top) .attr("x", 500 + margin.left) .attr("font-size", 15) .attr("font-family", "monospace") .attr("text-anchor","end") // emplacement de la valeur correspondante pour la gare 2 svg.append("text") .attr("class","valeur_voyageurs2") .text("") .attr("y", 20 + margin.top) .attr("x", 800 + margin.left) .attr("font-size", 15) .attr("font-family", "monospace") .attr("text-anchor","end") // emplacement du text 'variation par rapport à 2015' svg.append("text") .attr("class","Variation") .text("Variation par rapport à 2015") .attr("y", 40 + margin.top) .attr("x", 0 + margin.left) .attr("font-size", 15) .attr("font-family", "monospace") .attr("text-anchor","start") // emplacement de la valeur correspondante pour la gare 1 svg.append("text") .attr("class","valeur_variation") .text("") .attr("y", 40 + margin.left) .attr("x", 500 + margin.top) .attr("font-size", 15) .attr("font-family", "monospace") .style("text-anchor","end") // emplacement de la valeur correspondante pour la gare 2 svg.append("text") .attr("class","valeur_variation2") .text("") .attr("y", 40 + margin.left) .attr("x", 800 + margin.top) .attr("font-size", 15) .attr("font-family", "monospace") .style("text-anchor","end") // début csv d3.csv("all-joined-datasets.csv",function(data){ //parcour des données data.forEach(function(d){ d.nbvoy = d.voyageurs_2016 d.variation = (+d.voyageurs_2016-+d.voyageurs_2015)/(d.voyageurs_2015) d.uic = d.Code_UIC d.nom = d.Nom_de_la_gare }) refresh(data,gare1,gare2) })// fin csv // Définition des fonctions function refresh(data,gare1,gare2){ data.forEach(function(d){ if(d.uic == gare1){ d3.select(".valeur_voyageurs") .text(d3.format(".3s")(d.nbvoy)) d3.select(".valeur_variation") .text(d3.format(".0%")(d.variation)) d3.select(".nom1") .text(d.nom) ;} // fin if else if(d.uic == gare2){ d3.select(".valeur_voyageurs2") .text(d3.format(".3s")(d.nbvoy)) d3.select(".valeur_variation2") .text(d3.format(".0%")(d.variation)) d3.select(".nom2") .text(d.nom) ;}// fin else if ;}) // fin forEach ;} // fin refresh </script> </body>
https://d3js.org/d3.v4.min.js