JSFiddle - React, Tailwind, and code Playground
by IPWright83
CSS
rect {
fill: steelblue;
}
JavaScript
var margin = {top: 20, right: 55, bottom: 30, left: 40},
width = 1000 - margin.left - margin.right,
height = 500 - margin.top - margin.bottom;
var x = d3.scale.ordinal().rangeRoundBands([0, width], .1);
var y = d3.scale.linear().rangeRound([height, 0]);
var line = d3.svg.line().interpolate("cardinal")
.x(function (d) { return x(d.label) + x.rangeBand() / 2; })
.y(function (d) { return y(d.value); });
var color = d3.scale.ordinal()
.range(["#001c9c","#101b4d","#475003","#9c8305","#d3c47c"]);
var svg = d3.select("body").append("svg")
.attr("width", width + margin.left + margin.right)
.attr("height", height + margin.top + margin.bottom)
.append("g")
.attr("transform", "translate(" + margin.left + "," + margin.top + ")");
var data = [
{ year: 1950, europe: 546, americas: 332, africa: 227 },
{ year: 2050, europe: 650, americas: 1231, africa: 1937 },
{ year: 2040, europe: 680, americas: 1178, africa: 1665 },
{ year: 2030, europe: 704, americas: 1110, africa: 1416 },
{ year: 2020, europe: 721, americas: 1027, africa: 1189 },
{ year: 2010, europe: 728, americas: 935, africa: 982 },
{ year: 2000, europe: 730, americas: 836, africa: 797 },
{ year: 1990, europe: 721, americas: 721, africa: 623 },
{ year: 1980, europe: 694, americas: 614, africa: 471 },
{ year: 1970, europe: 656, americas: 513, africa: 361 },
{ year: 1960, europe: 605, americas: 417, africa: 283 }
];
console.log("Inital Data", data);
var labelVar = 'year';
var varNames = d3.keys(data[0])
.filter(function (key) { return key !== labelVar;});
color.domain(varNames);
var seriesData = varNames.map(function (name) {
return {
name: name,
values:...