Skip to content

Instantly share code, notes, and snippets.

@almccon
Last active June 8, 2019 00:31
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save almccon/cc8061dff72f040f69cd02d1dcfcd70e to your computer and use it in GitHub Desktop.
Save almccon/cc8061dff72f040f69cd02d1dcfcd70e to your computer and use it in GitHub Desktop.
Gapminder time series
license: mit
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
<!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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment