Created
February 19, 2016 15:41
-
-
Save junkwhinger/4cea19f857a92eb0799a to your computer and use it in GitHub Desktop.
Revisions
-
junkwhinger created this gist
Feb 19, 2016 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,407 @@ <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script src="http://d3js.org/d3.v3.min.js"></script> <style> .title { font: 20px helvetica; fill: #404040; } .axis { font: 12px helvetica; fill: rgb(99,99,99); } .axis path, .axis line { color: red; fill: none; stroke: #000; stroke-width: 1px; } .left.bar { fill: #b8e186; } .right.bar { fill: #f1b6da; } div.years_buttons { display: flex; justify-content: space-between; width: 1000px; } div.years_buttons div { font: 12px helvetica; padding: 3px; margin: 7px; width: 55px; text-align: center; } </style> <script type="text/javascript"> function draw(data) { // setting the d3 space "use strict"; var width = 960, height = 600; var margin = { top: 60, right: 20, bottom: 24, left: 20, middle: 28 }; // the width of each side of the chart var regionWidth = width/2 - margin.middle; // x-coordinates of the y-axes, // cuz they should be in the middle var pointA = regionWidth, pointB = width - regionWidth; // var years = [1925,1930,1935,1940,1944,1949,1955,1960,1966,1970,1975,1980,1985,1990,1995,2000,2005,2010]; var years = [1925,1930,1935,1940,1944,1949,1955,1960,1966,1970,1975,1980,1985,1990,1995,2000,2005,2010]; // setting the title // d3.select("div.chart") // .append("h2") // .attr("class", "title") // .text("Korean Population Structure - Year 1925"); // loading the very first batch of the population data var first_data = data[1925]; // calculate the sum of the whole population of 1925 var totalPopulation = d3.sum(first_data, function(d) { return d.male + d.female; }), percentage = function(d) { return d / totalPopulation; }; // setting the svg var svg = d3.select('div.chart').append('svg') .attr("class", "container") .attr('width', margin.left + width + margin.right) .attr('height', margin.top + height + margin.bottom) .append('g') .attr('transform', translation(margin.left, margin.top)); svg.append("text") .attr("class", "title") .attr("x", width/2) .attr("y", 0 - (margin.top / 2)) .attr("text-anchor", "middle") .text("Korean Population Structure - Year 1925"); // find the maximum data value on either side // since this will be shared by both of the x-axes var maxValue = Math.max( d3.max(first_data, function(d) { return percentage(d.male); }), d3.max(first_data, function(d) { return percentage(d.female); }) ); // SET UP SCALES // the xScale goes from 0 to the width of a region // it will be reversed for the left x-axis var xScale = d3.scale.linear() .domain([0, maxValue]) .range([0, regionWidth]) .nice(); var xScaleLeft = d3.scale.linear() .domain([0, maxValue]) .range([regionWidth, 0]); var xScaleRight = d3.scale.linear() .domain([0, maxValue]) .range([0, regionWidth]); var yScale = d3.scale.ordinal() .domain(first_data.map(function(d) { return d.group; })) .rangeRoundBands([height, 0], 0.1); // SET UP AXES var yAxisLeft = d3.svg.axis() .scale(yScale) .orient('right') .tickSize(4,0) .tickPadding(margin.middle-4); var yAxisRight = d3.svg.axis() .scale(yScale) .orient('left') .tickSize(4,0) .tickFormat(''); var xAxisRight = d3.svg.axis() .scale(xScale) .orient('bottom') .tickFormat(d3.format('.1%')); var xAxisLeft = d3.svg.axis() // REVERSE THE X-AXIS SCALE ON THE LEFT SIDE BY REVERSING THE RANGE .scale(xScale.copy().range([pointA, 0])) .orient('bottom') .tickFormat(d3.format('.1%')); // MAKE GROUPS FOR EACH SIDE OF CHART // scale(-1,1) is used to reverse the left side so the bars grow left instead of right var leftBarGroup = svg.append('g') .attr('transform', translation(pointA, 0) + 'scale(-1,1)'); var rightBarGroup = svg.append('g') .attr('transform', translation(pointB, 0)); // DRAW AXES svg.append('g') .attr('class', 'axis y left') .attr('transform', translation(pointA, 0)) .call(yAxisLeft) .selectAll('text') .style('text-anchor', 'middle'); svg.append('g') .attr('class', 'axis y right') .attr('transform', translation(pointB, 0)) .call(yAxisRight); svg.append('g') .attr('class', 'axis x left') .attr('transform', translation(0, height)) .call(xAxisLeft); svg.append('g') .attr('class', 'axis x right') .attr('transform', translation(pointB, height)) .call(xAxisRight); var null_data = [{ "group": "0-4", "male": 0, "female": 0 }, { "group": "5-9", "male": 0, "female": 0 }, { "group": "10-14", "male": 0, "female": 0 }, { "group": "15-19", "male": 0, "female": 0 }, { "group": "20-24", "male": 0, "female": 0 }, { "group": "25-29", "male": 0, "female": 0 }, { "group": "30-34", "male": 0, "female": 0 }, { "group": "35-39", "male": 0, "female": 0 }, { "group": "40-44", "male": 0, "female": 0 }, { "group": "45-49", "male": 0, "female": 0 }, { "group": "50-54", "male": 0, "female": 0 }, { "group": "55-59", "male": 0, "female": 0 }, { "group": "60-64", "male": 0, "female": 0 }, { "group": "65-69", "male": 0, "female": 0 }, { "group": "70-74", "male": 0, "female": 0 }, { "group": "75-79", "male": 0, "female": 0 }, { "group": "80-84", "male": 0, "female": 0 }, { "group": "85+", "male": 0, "female": 0 } ]; leftBarGroup.selectAll('.bar.left') .data(null_data) .enter().append('rect') .attr('class', 'bar left') .attr('x', 0) .attr('y', function(d) { return yScale(d.group); }) .attr('width', function(d) { return xScale(percentage(d.male)); }) .attr('height', yScale.rangeBand()); rightBarGroup.selectAll('.bar.right') .data(null_data) .enter().append('rect') .attr('class', 'bar right') .attr('x', 0) .attr('y', function(d) { return yScale(d.group); }) .attr('width', function(d) { return xScale(percentage(d.female)); }) .attr('height', yScale.rangeBand()); leftBarGroup.selectAll('.bar.left') .data(first_data) .transition() .duration(10) .attr('width', function(d) { return xScale(percentage(d.male)); }) .attr('height', yScale.rangeBand()); rightBarGroup.selectAll('.bar.right') .data(first_data) .transition() .duration(10) .attr('width', function(d) { return xScale(percentage(d.female)); }) .attr('height', yScale.rangeBand()); // so sick of string concatenation for translations function translation(x,y) { return 'translate(' + x + ',' + y + ')'; } function update(year) { var filtered = data[year] d3.select(".title") .text("Korean Population Structure - Year " + year) var totalPopulation = d3.sum(filtered, function(d) { return d.male + d.female; }), percentage = function(d) { return d / totalPopulation; }; var maxValue = Math.max( d3.max(filtered, function(d) { return percentage(d.male); }), d3.max(filtered, function(d) { return percentage(d.female); }) ); var xScale = d3.scale.linear() .domain([0, maxValue]) .range([0, regionWidth]) .nice(); var xAxisRight = d3.svg.axis() .scale(xScale) .orient('bottom') .tickFormat(d3.format('.1%')); var xAxisLeft = d3.svg.axis() // REVERSE THE X-AXIS SCALE ON THE LEFT SIDE BY REVERSING THE RANGE .scale(xScale.copy().range([pointA, 0])) .orient('bottom') .tickFormat(d3.format('.1%')); svg.selectAll('.axis.x.left') .transition() .duration(500) .call(xAxisLeft); svg.selectAll('.axis.x.right') .transition() .duration(500) .call(xAxisRight); // bar update and transition leftBarGroup.selectAll('rect.bar.left') .data(filtered) .transition() .duration(500) .attr('width', function(d) { return xScale(percentage(d.male)); }) .attr('height', yScale.rangeBand()); rightBarGroup.selectAll('rect.bar.right') .data(filtered) .transition() .duration(500) .attr('width', function(d) { return xScale(percentage(d.female)); }) .attr('height', yScale.rangeBand()); } var year_idx = 1; var year_interval = setInterval(function() { update(years[year_idx]); year_idx++; if(year_idx >= years.length) { clearInterval(year_interval); var buttons = d3.select("div.chart") .append("div") .attr("class", "years_buttons") .selectAll("div") .data(years) .enter() .append("div") .text(function(d) { return d; }); buttons.on("click", function(d) { d3.select(".years_buttons") .selectAll("div") .transition() .duration(500) .style("color", "black") .style("background", "white"); d3.select(this) .transition() .duration(500) .style("background", "black") .style("color", "white"); update(d) }) } else { console.log("it's okay") }}, 1000); } </script> </head> <body> <div class="chart"></div> <script type="text/javascript"> d3.json("korea_population_sample.json", draw); </script> </body> </html> This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,1353 @@ { "1925": [{ "group": "0-4", "male": 1560053, "female": 1509533 }, { "group": "5-9", "male": 1200503, "female": 1123590 }, { "group": "10-14", "male": 1117122, "female": 1040101 }, { "group": "15-19", "male": 964186, "female": 912881 }, { "group": "20-24", "male": 749424, "female": 720859 }, { "group": "25-29", "male": 754495, "female": 718047 }, { "group": "30-34", "male": 654292, "female": 605105 }, { "group": "35-39", "male": 594448, "female": 545399 }, { "group": "40-44", "male": 497970, "female": 451578 }, { "group": "45-49", "male": 425428, "female": 392262 }, { "group": "50-54", "male": 347447, "female": 326250 }, { "group": "55-59", "male": 291999, "female": 296371 }, { "group": "60-64", "male": 231498, "female": 248627 }, { "group": "65-69", "male": 181586, "female": 207868 }, { "group": "70-74", "male": 94614, "female": 112990 }, { "group": "75-79", "male": 45498, "female": 58776 }, { "group": "80-84", "male": 12674, "female": 18238 }, { "group": "85+", "male": 2913, "female": 5405 } ], "1930": [{ "group": "0-4", "male": 1661240, "female": 1620443 }, { "group": "5-9", "male": 1361625, "female": 1296035 }, { "group": "10-14", "male": 1153608, "female": 1066871 }, { "group": "15-19", "male": 1058199, "female": 993740 }, { "group": "20-24", "male": 860573, "female": 850970 }, { "group": "25-29", "male": 692154, "female": 679822 }, { "group": "30-34", "male": 706726, "female": 677336 }, { "group": "35-39", "male": 618681, "female": 578721 }, { "group": "40-44", "male": 548241, "female": 507159 }, { "group": "45-49", "male": 460921, "female": 428224 }, { "group": "50-54", "male": 379603, "female": 357839 }, { "group": "55-59", "male": 305594, "female": 302361 }, { "group": "60-64", "male": 235138, "female": 248612 }, { "group": "65-69", "male": 171553, "female": 196183 }, { "group": "70-74", "male": 114519, "female": 137739 }, { "group": "75-79", "male": 50191, "female": 66432 }, { "group": "80-84", "male": 0, "female": 0 }, { "group": "85+", "male": 0, "female": 0 } ], "1935": [{ "group": "0-4", "male": 1864127, "female": 1807454 }, { "group": "5-9", "male": 1478064, "female": 1408407 }, { "group": "10-14", "male": 1301810, "female": 1229821 }, { "group": "15-19", "male": 1080314, "female": 1021591 }, { "group": "20-24", "male": 959748, "female": 937281 }, { "group": "25-29", "male": 811545, "female": 802225 }, { "group": "30-34", "male": 652568, "female": 633374 }, { "group": "35-39", "male": 669307, "female": 639446 }, { "group": "40-44", "male": 572611, "female": 540153 }, { "group": "45-49", "male": 508714, "female": 482679 }, { "group": "50-54", "male": 409120, "female": 388381 }, { "group": "55-59", "male": 334045, "female": 331983 }, { "group": "60-64", "male": 248205, "female": 255063 }, { "group": "65-69", "male": 179466, "female": 202173 }, { "group": "70-74", "male": 113398, "female": 134568 }, { "group": "75-79", "male": 62583, "female": 83215 }, { "group": "80-84", "male": 0, "female": 0 }, { "group": "85+", "male": 0, "female": 0 } ], "1940": [{ "group": "0-4", "male": 1974157, "female": 1923501 }, { "group": "5-9", "male": 1655425, "female": 1581813 }, { "group": "10-14", "male": 1398317, "female": 1322947 }, { "group": "15-19", "male": 1142250, "female": 1121413 }, { "group": "20-24", "male": 908119, "female": 926974 }, { "group": "25-29", "male": 845382, "female": 859217 }, { "group": "30-34", "male": 725152, "female": 731569 }, { "group": "35-39", "male": 606498, "female": 598909 }, { "group": "40-44", "male": 608860, "female": 592442 }, { "group": "45-49", "male": 515050, "female": 501824 }, { "group": "50-54", "male": 445617, "female": 439414 }, { "group": "55-59", "male": 355954, "female": 357287 }, { "group": "60-64", "male": 270603, "female": 281946 }, { "group": "65-69", "male": 186391, "female": 205490 }, { "group": "70-74", "male": 115515, "female": 140678 }, { "group": "75-79", "male": 56882, "female": 76336 }, { "group": "80-84", "male": 0, "female": 0 }, { "group": "85+", "male": 0, "female": 0 } ], "1944": [{ "group": "0-4", "male": 2159146, "female": 2119472 }, { "group": "5-9", "male": 1815269, "female": 1747262 }, { "group": "10-14", "male": 1545793, "female": 1462954 }, { "group": "15-19", "male": 1174771, "female": 1175654 }, { "group": "20-24", "male": 889337, "female": 979989 }, { "group": "25-29", "male": 812916, "female": 858660 }, { "group": "30-34", "male": 768255, "female": 799205 }, { "group": "35-39", "male": 675127, "female": 681636 }, { "group": "40-44", "male": 575438, "female": 563422 }, { "group": "45-49", "male": 554141, "female": 531905 }, { "group": "50-54", "male": 451506, "female": 451128 }, { "group": "55-59", "male": 366961, "female": 377014 }, { "group": "60-64", "male": 293122, "female": 314342 }, { "group": "65-69", "male": 200965, "female": 225093 }, { "group": "70-74", "male": 136940, "female": 165109 }, { "group": "75-79", "male": 65901, "female": 88320 }, { "group": "80-84", "male": 24464, "female": 36987 }, { "group": "85+", "male": 11121, "female": 20849 } ], "1949": [{ "group": "0-4", "male": 0, "female": 0 }, { "group": "5-9", "male": 2991580, "female": 2886197 }, { "group": "10-14", "male": 1282027, "female": 1232613 }, { "group": "15-19", "male": 1029625, "female": 993026 }, { "group": "20-24", "male": 863715, "female": 854011 }, { "group": "25-29", "male": 759752, "female": 735565 }, { "group": "30-34", "male": 652043, "female": 613678 }, { "group": "35-39", "male": 589925, "female": 552259 }, { "group": "40-44", "male": 488270, "female": 459063 }, { "group": "45-49", "male": 393673, "female": 380476 }, { "group": "50-54", "male": 340893, "female": 340741 }, { "group": "55-59", "male": 294192, "female": 322327 }, { "group": "60-64", "male": 485605, "female": 590121 }, { "group": "65-69", "male": 0, "female": 0 }, { "group": "70-74", "male": 0, "female": 0 }, { "group": "75-79", "male": 0, "female": 0 }, { "group": "80-84", "male": 0, "female": 0 }, { "group": "85+", "male": 0, "female": 0 } ], "1955": [{ "group": "0-4", "male": 1742778, "female": 1633870 }, { "group": "5-9", "male": 1495871, "female": 1371517 }, { "group": "10-14", "male": 1371568, "female": 1249453 }, { "group": "15-19", "male": 1256904, "female": 1138007 }, { "group": "20-24", "male": 808143, "female": 946257 }, { "group": "25-29", "male": 635243, "female": 803884 }, { "group": "30-34", "male": 679017, "female": 710431 }, { "group": "35-39", "male": 585542, "female": 583037 }, { "group": "40-44", "male": 530158, "female": 523904 }, { "group": "45-49", "male": 496405, "female": 451476 }, { "group": "50-54", "male": 337483, "female": 342418 }, { "group": "55-59", "male": 295560, "female": 319434 }, { "group": "60-64", "male": 217405, "female": 263101 }, { "group": "65-69", "male": 156405, "female": 203113 }, { "group": "70-74", "male": 80971, "female": 110771 }, { "group": "75-79", "male": 0, "female": 0 }, { "group": "80-84", "male": 0, "female": 0 }, { "group": "85+", "male": 0, "female": 0 } ], "1960": [{ "group": "0-4", "male": 1820312, "female": 1729252 }, { "group": "5-9", "male": 1958379, "female": 1823172 }, { "group": "10-14", "male": 1480279, "female": 1341976 }, { "group": "15-19", "male": 1248791, "female": 1134363 }, { "group": "20-24", "male": 1175602, "female": 1103847 }, { "group": "25-29", "male": 916751, "female": 996435 }, { "group": "30-34", "male": 727096, "female": 829238 }, { "group": "35-39", "male": 687559, "female": 729178 }, { "group": "40-44", "male": 598867, "female": 588603 }, { "group": "45-49", "male": 518017, "female": 515744 }, { "group": "50-54", "male": 444283, "female": 440293 }, { "group": "55-59", "male": 318745, "female": 345793 }, { "group": "60-64", "male": 257447, "female": 309124 }, { "group": "65-69", "male": 174206, "female": 230526 }, { "group": "70-74", "male": 120719, "female": 173283 }, { "group": "75-79", "male": 55635, "female": 85028 }, { "group": "80-84", "male": 25744, "female": 42696 }, { "group": "85+", "male": 8186, "female": 15983 } ], "1966": [{ "group": "0-4", "male": 2318664, "female": 2162257 }, { "group": "5-9", "male": 2391295, "female": 2221577 }, { "group": "10-14", "male": 1857472, "female": 1732555 }, { "group": "15-19", "male": 1399246, "female": 1308900 }, { "group": "20-24", "male": 1203321, "female": 1095362 }, { "group": "25-29", "male": 1116120, "female": 1128214 }, { "group": "30-34", "male": 975994, "female": 983780 }, { "group": "35-39", "male": 734345, "female": 818450 }, { "group": "40-44", "male": 659331, "female": 687495 }, { "group": "45-49", "male": 559889, "female": 556646 }, { "group": "50-54", "male": 465588, "female": 482044 }, { "group": "55-59", "male": 376426, "female": 412297 }, { "group": "60-64", "male": 248035, "female": 302918 }, { "group": "65-69", "male": 182750, "female": 254634 }, { "group": "70-74", "male": 104987, "female": 162301 }, { "group": "75-79", "male": 62232, "female": 109437 }, { "group": "80-84", "male": 20423, "female": 39207 }, { "group": "85+", "male": 7932, "female": 17416 } ], "1970": [{ "group": "0-4", "male": 2228736, "female": 2087407 }, { "group": "5-9", "male": 2349086, "female": 2182856 }, { "group": "10-14", "male": 2274301, "female": 2119047 }, { "group": "15-19", "male": 1573179, "female": 1514955 }, { "group": "20-24", "male": 1298687, "female": 1224483 }, { "group": "25-29", "male": 1096819, "female": 1107474 }, { "group": "30-34", "male": 1108853, "female": 1084426 }, { "group": "35-39", "male": 915069, "female": 939131 }, { "group": "40-44", "male": 691062, "female": 770841 }, { "group": "45-49", "male": 628934, "female": 655694 }, { "group": "50-54", "male": 506554, "female": 517981 }, { "group": "55-59", "male": 407895, "female": 447146 }, { "group": "60-64", "male": 302362, "female": 362896 }, { "group": "65-69", "male": 181431, "female": 253284 }, { "group": "70-74", "male": 120835, "female": 194609 }, { "group": "75-79", "male": 60931, "female": 114485 }, { "group": "80-84", "male": 26355, "female": 57481 }, { "group": "85+", "male": 8526, "female": 21441 } ], "1975": [{ "group": "0-4", "male": 2189456, "female": 2037904 }, { "group": "5-9", "male": 2302542, "female": 2151156 }, { "group": "10-14", "male": 2348676, "female": 2178654 }, { "group": "15-19", "male": 2124156, "female": 2022756 }, { "group": "20-24", "male": 1611767, "female": 1511359 }, { "group": "25-29", "male": 1271743, "female": 1235707 }, { "group": "30-34", "male": 1131486, "female": 1092752 }, { "group": "35-39", "male": 1111449, "female": 1077695 }, { "group": "40-44", "male": 885250, "female": 914903 }, { "group": "45-49", "male": 649961, "female": 748859 }, { "group": "50-54", "male": 576664, "female": 620715 }, { "group": "55-59", "male": 449224, "female": 489981 }, { "group": "60-64", "male": 334479, "female": 403073 }, { "group": "65-69", "male": 229780, "female": 313047 }, { "group": "70-74", "male": 123219, "female": 201994 }, { "group": "75-79", "male": 68241, "female": 136049 }, { "group": "80-84", "male": 26304, "female": 64613 }, { "group": "85+", "male": 10843, "female": 32509 } ], "1980": [{ "group": "0-4", "male": 1963963, "female": 1830729 }, { "group": "5-9", "male": 2282813, "female": 2138133 }, { "group": "10-14", "male": 2293386, "female": 2146751 }, { "group": "15-19", "male": 2186973, "female": 2052756 }, { "group": "20-24", "male": 2067729, "female": 1985909 }, { "group": "25-29", "male": 1540965, "female": 1541207 }, { "group": "30-34", "male": 1293533, "female": 1225708 }, { "group": "35-39", "male": 1127158, "female": 1096183 }, { "group": "40-44", "male": 1080457, "female": 1051194 }, { "group": "45-49", "male": 868659, "female": 913154 }, { "group": "50-54", "male": 609166, "female": 716759 }, { "group": "55-59", "male": 521797, "female": 603556 }, { "group": "60-64", "male": 373222, "female": 448835 }, { "group": "65-69", "male": 260597, "female": 359686 }, { "group": "70-74", "male": 161867, "female": 263229 }, { "group": "75-79", "male": 74175, "female": 155111 }, { "group": "80-84", "male": 31546, "female": 86661 }, { "group": "85+", "male": 11296, "female": 41946 } ], "1985": [{ "group": "0-4", "male": 1922758, "female": 1779797 }, { "group": "5-9", "male": 2025353, "female": 1890997 }, { "group": "10-14", "male": 2310570, "female": 2165415 }, { "group": "15-19", "male": 2227322, "female": 2088942 }, { "group": "20-24", "male": 2185720, "female": 2059370 }, { "group": "25-29", "male": 2027185, "female": 2043223 }, { "group": "30-34", "male": 1589610, "female": 1525628 }, { "group": "35-39", "male": 1324369, "female": 1256812 }, { "group": "40-44", "male": 1108685, "female": 1078823 }, { "group": "45-49", "male": 1042989, "female": 1046223 }, { "group": "50-54", "male": 809619, "female": 885640 }, { "group": "55-59", "male": 560580, "female": 707177 }, { "group": "60-64", "male": 440387, "female": 566489 }, { "group": "65-69", "male": 306710, "female": 416107 }, { "group": "70-74", "male": 190553, "female": 310701 }, { "group": "75-79", "male": 103513, "female": 208577 }, { "group": "80-84", "male": 36163, "female": 101497 }, { "group": "85+", "male": 15140, "female": 60588 } ], "1990": [{ "group": "0-4", "male": 1726863, "female": 1552927 }, { "group": "5-9", "male": 1999001, "female": 1853507 }, { "group": "10-14", "male": 2054494, "female": 1937423 }, { "group": "15-19", "male": 2267129, "female": 2181867 }, { "group": "20-24", "male": 2294290, "female": 2102019 }, { "group": "25-29", "male": 2160912, "female": 2172588 }, { "group": "30-34", "male": 2142825, "female": 2064889 }, { "group": "35-39", "male": 1648205, "female": 1553005 }, { "group": "40-44", "male": 1315182, "female": 1224087 }, { "group": "45-49", "male": 1100966, "female": 1075924 }, { "group": "50-54", "male": 994511, "female": 1015507 }, { "group": "55-59", "male": 760993, "female": 861860 }, { "group": "60-64", "male": 494845, "female": 662214 }, { "group": "65-69", "male": 375752, "female": 524562 }, { "group": "70-74", "male": 233308, "female": 361808 }, { "group": "75-79", "male": 127905, "female": 249266 }, { "group": "80-84", "male": 54861, "female": 140451 }, { "group": "85+", "male": 18830, "female": 75496 } ], "1995": [{ "group": "0-4", "male": 1821350, "female": 1606059 }, { "group": "5-9", "male": 1626922, "female": 1469193 }, { "group": "10-14", "male": 1913801, "female": 1798179 }, { "group": "15-19", "male": 1987044, "female": 1876447 }, { "group": "20-24", "male": 2237940, "female": 2066438 }, { "group": "25-29", "male": 2078417, "female": 2059496 }, { "group": "30-34", "male": 2146351, "female": 2083888 }, { "group": "35-39", "male": 2103016, "female": 2030848 }, { "group": "40-44", "male": 1579850, "female": 1491251 }, { "group": "45-49", "male": 1261509, "female": 1202786 }, { "group": "50-54", "male": 1028887, "female": 1034881 }, { "group": "55-59", "male": 923625, "female": 989836 }, { "group": "60-64", "male": 673719, "female": 821363 }, { "group": "65-69", "male": 420873, "female": 623106 }, { "group": "70-74", "male": 293696, "female": 468848 }, { "group": "75-79", "male": 160498, "female": 295175 }, { "group": "80-84", "male": 71267, "female": 174924 }, { "group": "85+", "male": 28370, "female": 103448 } ], "2000": [{ "group": "0-4", "male": 1641166, "female": 1489092 }, { "group": "5-9", "male": 1813446, "female": 1612610 }, { "group": "10-14", "male": 1615013, "female": 1449429 }, { "group": "15-19", "male": 1913885, "female": 1777699 }, { "group": "20-24", "male": 2028206, "female": 1819980 }, { "group": "25-29", "male": 2057321, "female": 2039657 }, { "group": "30-34", "male": 2068202, "female": 2025026 }, { "group": "35-39", "male": 2117492, "female": 2069461 }, { "group": "40-44", "male": 2029413, "female": 1966923 }, { "group": "45-49", "male": 1496104, "female": 1455919 }, { "group": "50-54", "male": 1185239, "female": 1165011 }, { "group": "55-59", "male": 959680, "female": 1008792 }, { "group": "60-64", "male": 836465, "female": 952384 }, { "group": "65-69", "male": 593974, "female": 782148 }, { "group": "70-74", "male": 348226, "female": 569895 }, { "group": "75-79", "male": 211347, "female": 389251 }, { "group": "80-84", "male": 94135, "female": 209624 }, { "group": "85+", "male": 39715, "female": 133491 } ], "2005": [{ "group": "0-4", "male": 1237301, "female": 1145049 }, { "group": "5-9", "male": 1654228, "female": 1514659 }, { "group": "10-14", "male": 1816328, "female": 1618573 }, { "group": "15-19", "male": 1626378, "female": 1474145 }, { "group": "20-24", "male": 1915902, "female": 1746221 }, { "group": "25-29", "male": 1858332, "female": 1813515 }, { "group": "30-34", "male": 2059913, "female": 2036369 }, { "group": "35-39", "male": 2065668, "female": 2047117 }, { "group": "40-44", "male": 2082427, "female": 2040614 }, { "group": "45-49", "male": 1961859, "female": 1939040 }, { "group": "50-54", "male": 1426597, "female": 1428700 }, { "group": "55-59", "male": 1126997, "female": 1151441 }, { "group": "60-64", "male": 897384, "female": 991469 }, { "group": "65-69", "male": 755949, "female": 924118 }, { "group": "70-74", "male": 514241, "female": 738493 }, { "group": "75-79", "male": 270632, "female": 496238 }, { "group": "80-84", "male": 136705, "female": 295554 }, { "group": "85+", "male": 58819, "female": 174469 } ], "2010": [{ "group": "0-4", "male": 1142220, "female": 1076864 }, { "group": "5-9", "male": 1243294, "female": 1151369 }, { "group": "10-14", "male": 1654964, "female": 1518262 }, { "group": "15-19", "male": 1826179, "female": 1612235 }, { "group": "20-24", "male": 1625371, "female": 1430049 }, { "group": "25-29", "male": 1802805, "female": 1736144 }, { "group": "30-34", "male": 1866397, "female": 1828951 }, { "group": "35-39", "male": 2060233, "female": 2038914 }, { "group": "40-44", "male": 2071431, "female": 2059992 }, { "group": "45-49", "male": 2044641, "female": 2028717 }, { "group": "50-54", "male": 1887973, "female": 1910158 }, { "group": "55-59", "male": 1360747, "female": 1405948 }, { "group": "60-64", "male": 1057035, "female": 1125201 }, { "group": "65-69", "male": 833242, "female": 978926 }, { "group": "70-74", "male": 672894, "female": 893120 }, { "group": "75-79", "male": 410726, "female": 673641 }, { "group": "80-84", "male": 186008, "female": 409501 }, { "group": "85+", "male": 94736, "female": 271873 } ] }