block by almccon cc8061dff72f040f69cd02d1dcfcd70e

Gapminder time series

Full Screen

Built with blockbuilder.org

Data is a subset of the gapminder data from here: https://bost.ocks.org/mike/nations/

index.html

<!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 svg = d3.select("body")
      .append("svg")
      .attr("width", 960)
      .attr("height", 500);

    d3.csv("gapminder_time_subset.csv",function(dataWeLoaded) {

      var xScale = d3.scaleLinear()
        .domain([0,40000])
        .range([100,800]);
      var xScaleTime = d3.scaleLinear()
        .domain([1950,2010])
        .range([100,800]);
      var yScale = d3.scaleLinear()
        .domain([30,80])
        .range([400,100]);
      var rScale = d3.scaleSqrt()
        .domain([0,d3.max(dataWeLoaded, function(d) { return +d.population;})])
        .range([0,100]);

      var colorScale = d3.scaleOrdinal(d3.schemeCategory10);

      var chinaData = dataWeLoaded.filter(function(d) { return d.country == 'China';});
      var indiaData = dataWeLoaded.filter(function(d) { return d.country == 'India';});
      var usData = dataWeLoaded.filter(function(d) { return d.country == 'United States';});

      var data = [{
                    id: 'China',
                    values: chinaData
                  },{
                    id: 'India',
                    values: indiaData
                  },{
                    id: 'United States',
                    values: usData
                  }];

      // Create a line generator
      var line = d3.line()
          .x(function(d) { return xScaleTime(+d.year);})
          .y(function(d) { return yScale(+d.lifeexp);})

      svg.selectAll("path")
          .data(data)
        .enter()
          .append("path")
          .attr("fill", "none")
          .attr("stroke", function(d) { return colorScale(d.id);})
          .attr("stroke-linejoin", "round")
          .attr("stroke-linecap", "round")
          .attr("stroke-width", 1.5)
          .attr("d", function(d) { return line(d.values);});
      
      svg.selectAll("text")
          .data(data)
        .enter()
          .append("text")
          .text(function(d) { return d.id; })
          .attr("font-size",10)
          .attr("font-family","sans-serif")
          .attr("transform", function(d) { return "translate(780," + yScale(+d.values.slice(-1)[0].lifeexp) + ")";})
      
/*
      // Alternate method to add one path at a time:
      svg.append("path")
          .datum(chinaData)
          .attr("fill", "none")
          .attr("stroke", function(d) { return colorScale(d.country);})
          .attr("stroke-linejoin", "round")
          .attr("stroke-linecap", "round")
          .attr("stroke-width", 1.5)
          .attr("d", line);
*/

      var leftAxis = d3.axisLeft(yScale);
      var bottomAxis = d3.axisBottom(xScaleTime)
          .tickFormat(d3.format("d"));

      svg.append("g")
          .attr("transform", "translate(100,0)")
          .call(leftAxis);

      svg.append("g")
          .attr("transform", "translate(0,400)")
          .call(bottomAxis);

      svg.append("text")
          .text("life expectancy")
          .attr("transform", "translate(60,90)")
          .attr("font-size",10)
          .attr("font-family","sans-serif")

      svg.append("text")
          .text("year")
          .attr("transform", "translate(770,430)")
          .attr("font-size",10)
          .attr("font-family","sans-serif")

    })

  </script>
</body>

gapminder_time_subset.csv

country,year,population,gdp,lifeexp
India,1950,359000000,580,36.8
India,1951,365000000,583,37.08
India,1952,372000000,588,37.65
India,1953,379000000,613,38.22
India,1954,386000000,626,38.8
India,1955,393000000,629,39.39
India,1956,401000000,651,39.98
India,1957,409000000,631,40.59
India,1958,418000000,663,41.19
India,1959,426000000,664,41.81
India,1960,434000000,696,42.44
India,1961,444000000,700,43.07
India,1962,454000000,699,43.71
India,1963,464000000,717,44.35
India,1964,474000000,755,45
India,1965,485000000,707,45.65
India,1966,495000000,698,46.3
India,1967,506000000,739,46.94
India,1968,518000000,739,47.57
India,1969,529000000,771,48.19
India,1970,541000000,791,48.82
India,1971,554000000,779,49.47
India,1972,567000000,758,50.14
India,1973,580000000,774,50.83
India,1974,593000000,764,51.54
India,1975,607000000,812,52.24
India,1976,620000000,804,52.92
India,1977,634000000,845,53.55
India,1978,648000000,870,54.13
India,1979,664000000,806,54.65
India,1980,679000000,844,55.11
India,1981,692000000,877,55.51
India,1982,708000000,883,55.88
India,1983,723000000,933,56.22
India,1984,739000000,947,56.55
India,1985,755000000,963,56.86
India,1986,771000000,982,57.16
India,1987,788000000,1001,57.44
India,1988,805000000,1081,57.7
India,1989,822000000,1127,57.95
India,1990,839000000,1160,58.2
India,1991,856000000,1150,58.45
India,1992,872000000,1186,58.72
India,1993,891000000,1227,59
India,1994,908000000,1290,59.3
India,1995,927000000,1354,59.62
India,1996,943000000,1433,59.95
India,1997,959000000,1475,60.28
India,1998,975000000,1543,60.61
India,1999,991691000,1607,60.94
India,2000,1007702000,1648,61.26
India,2001,1023590000,1714,61.56
India,2002,1034172547,1754,61.86
India,2003,1049700118,1872,62.15
India,2004,1065070607,1981,62.45
India,2005,1080264388,2126,62.74
India,2006,1095351995,2300,63.04
India,2007,1110396331,2478,63.35
India,2008,1125368288,2622,63.68
United States,1950,152271000,15855.86,68.12
United States,1951,154878000,16750.74,68.22
United States,1952,157553000,17039.38,68.44
United States,1953,160184000,17471.28,68.79
United States,1954,163026000,16979.26,69.58
United States,1955,165931000,17822.45,69.63
United States,1956,168903000,17783.27,69.71
United States,1957,171984000,17749.5,69.49
United States,1958,174882000,17217.39,69.76
United States,1959,177830000,18084.11,69.98
United States,1960,180671000,18175.43,69.91
United States,1961,183691000,18226.62,70.32
United States,1962,186538000,18978.45,70.21
United States,1963,189242000,19461.1,70.04
United States,1964,191889000,20243.98,70.33
United States,1965,194303000,21209.93,70.41
United States,1966,196560000,22263.22,70.43
United States,1967,198712000,22495.68,70.76
United States,1968,200706000,23268.21,70.42
United States,1969,202677000,23669.41,70.66
United States,1970,205052000,23345.77,70.92
United States,1971,207661000,23744.67,71.24
United States,1972,209896000,24654.04,71.34
United States,1973,211909000,25742,71.54
United States,1974,213854000,25281.7,72.08
United States,1975,215973000,24889.6,72.68
United States,1976,218035000,25881.72,72.99
United States,1977,220239000,26715.14,73.38
United States,1978,222585000,27814.18,73.58
United States,1979,225055000,28278.91,74.03
United States,1980,227726463,27838.11,73.93
United States,1981,229966237,28160.14,74.36
United States,1982,232187835,27243.47,74.65
United States,1983,234307207,28119.69,74.71
United States,1984,236348292,29785.25,74.82
United States,1985,238466283,30636.21,74.79
United States,1986,240650755,31297.31,74.87
United States,1987,242803533,31953.81,75.01
United States,1988,245021414,32860.52,75.03
United States,1989,247341697,33587.09,75.31
United States,1990,250131894,33710.39,75.6
United States,1991,253492503,33076.87,75.8
United States,1992,256894189,33589.59,76.08
United States,1993,260255352,33914.89,75.83
United States,1994,263435673,34730.56,76
United States,1995,266557091,35053.29,76.09
United States,1996,269667391,35807,76.44
United States,1997,272911760,36847.81,76.8
United States,1998,276115288,37811.68,76.97
United States,1999,279294713,38912.58,76.97
United States,2000,282338631,39758.5,77.13
United States,2001,285023886,39474.11,77.25
United States,2002,287675526,39535.84,77.31
United States,2003,290342554,40044.18,77.49
United States,2004,293027571,40956.4,77.92
United States,2005,295734134,41674,77.93
United States,2006,298444215,42385.18,78.21
United States,2007,301139947,42866.22,79.09
United States,2008,303824646,42656.49,79.27
China,1950,546815000,394.49,39.25
China,1951,557480000,432.35,39.64
China,1952,568910000,473.38,40.41
China,1953,581390000,486.2,44.56
China,1954,595310000,490.39,46.47
China,1955,608655000,507.64,48.02
China,1956,621465000,542.5,50.45
China,1957,637408000,560,50.55
China,1958,653235000,607.89,50.16
China,1959,666005000,604.38,38.4
China,1960,667070000,583.02,31.63
China,1961,660330000,486.83,34.1
China,1962,665770000,484.67,44.5
China,1963,682335000,519.76,51.9
China,1964,698355000,567.77,53.32
China,1965,715185000,617.76,55.65
China,1966,735400000,657.14,56.8
China,1967,754550000,622.45,58.38
China,1968,774510000,594.27,59.41
China,1969,796025000,627.78,60.97
China,1970,818315000,685.35,62.65
China,1971,841105000,699.98,63.74
China,1972,862030000,702.94,63.12
China,1973,881940000,738.22,62.78
China,1974,900350000,735.36,62.5
China,1975,916395000,767.09,62.7
China,1976,930685000,750.79,62.44
China,1977,943455000,786.85,63.97
China,1978,956165000,861.1,64.24
China,1979,969005000,915.22,65.09
China,1980,981235000,934.27,66.12
China,1981,993861000,977.54,66.45
China,1982,1000281000,1044.34,66.37
China,1983,1023288000,1107.46,66.54
China,1984,1036825000,1229.08,66.71
China,1985,1051040000,1337.64,66.89
China,1986,1066790000,1406.19,67.08
China,1987,1084035000,1529.5,67.29
China,1988,1101630000,1611.38,67.52
China,1989,1118650000,1615.03,67.77
China,1990,1135185000,1647.38,68.04
China,1991,1150780000,1732.13,68.33
China,1992,1164970000,1877.41,68.64
China,1993,1178440000,2035.59,68.95
China,1994,1191835000,2214.2,69.27
China,1995,1204855000,2521.34,69.6
China,1996,1217550000,2546.44,69.94
China,1997,1230075000,2653.3,70.28
China,1998,1241935000,2635.55,70.62
China,1999,1252735000,2784.39,70.96
China,2000,1262645000,3012.12,71.29
China,2001,1271850000,3309.8,71.59
China,2002,1280400000,3695.65,71.87
China,2003,1288400000,4228.98,72.13
China,2004,1295733978,4551.13,72.35
China,2005,1303182268,4909.2,72.56
China,2006,1310823807,5450.12,72.74
China,2007,1318683096,6127.78,72.92
China,2008,1326856173,6679.2,73.1