D3
OG
Old school D3 from simpler times
All examples
By author
By category
About
wmarcos
Full window
Github gist
Module 3 - Barchart - Social progress index
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>Social progress index - By country</title> <script type="text/javascript" src="https://d3js.org/d3.v3.js"></script> <style type="text/css"> </style> </head> <body> <h1> Social Progress Index - By Country</h1> <h3> MEASURING NATIONAL PROGRESS – To truly advance social progress, we must learn to measure it, comprehensively and rigorously. The Social Progress Index offers a rich framework for measuring the multiple dimensions of social progress, benchmarking success, and catalyzing greater human wellbeing </h3> <script type="text/javascript"> var data; var height; var width; var svg = d3.select("body") .append("svg") .attr("width", 300) .attr("height", 1500); d3.csv("Social_Progress_Index.csv", function(data) { data.sort(function(a, b) { return d3.descending(a.SocialProgressIndex, b.SocialProgressIndex); //If your numeric values aren't sorting properly, //try commenting out the line above, and instead using: // //return d3.descending(+a.lifeSatisfaction, +b.lifeSatisfaction); // //Data coming in from the CSV is saved as strings (text), //so the + signs here force JavaScript to treat those //strings instead as numeric values, thereby fixing the //sort order (hopefully!). }); var rects = svg.selectAll("rect") .data(data) .enter() .append("rect"); rects.attr("x", 0) .attr("y", function(d, i) { return i * 10; }) .attr("width", function(d) { return d.SocialProgressIndex * 2; }) .attr("height", 8) .attr("style", "fill:rgb(71, 156, 184);stroke-width:0") .append("title") .text(function(d) { return d.Country + " SPI " + d.SocialProgressIndex; }); }); </script> </body> </html>
Modified
http://d3js.org/d3.v3.js
to a secure url
https://d3js.org/d3.v3.js