Skip to content

Instantly share code, notes, and snippets.

@ygrenzinger
Created August 1, 2015 18:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ygrenzinger/5851691737b1b25dd6ba to your computer and use it in GitHub Desktop.
Save ygrenzinger/5851691737b1b25dd6ba to your computer and use it in GitHub Desktop.

Data Visualization MOOC on Coursera

Programming Assignment 1: Visualize Data Using a Chart

// This product includes color specifications and designs developed by Cynthia Brewer (http://colorbrewer.org/).
var colorbrewer = {YlGn: {
3: ["#f7fcb9","#addd8e","#31a354"],
4: ["#ffffcc","#c2e699","#78c679","#238443"],
5: ["#ffffcc","#c2e699","#78c679","#31a354","#006837"],
6: ["#ffffcc","#d9f0a3","#addd8e","#78c679","#31a354","#006837"],
7: ["#ffffcc","#d9f0a3","#addd8e","#78c679","#41ab5d","#238443","#005a32"],
8: ["#ffffe5","#f7fcb9","#d9f0a3","#addd8e","#78c679","#41ab5d","#238443","#005a32"],
9: ["#ffffe5","#f7fcb9","#d9f0a3","#addd8e","#78c679","#41ab5d","#238443","#006837","#004529"]
},YlGnBu: {
3: ["#edf8b1","#7fcdbb","#2c7fb8"],
4: ["#ffffcc","#a1dab4","#41b6c4","#225ea8"],
5: ["#ffffcc","#a1dab4","#41b6c4","#2c7fb8","#253494"],
6: ["#ffffcc","#c7e9b4","#7fcdbb","#41b6c4","#2c7fb8","#253494"],
7: ["#ffffcc","#c7e9b4","#7fcdbb","#41b6c4","#1d91c0","#225ea8","#0c2c84"],
8: ["#ffffd9","#edf8b1","#c7e9b4","#7fcdbb","#41b6c4","#1d91c0","#225ea8","#0c2c84"],
9: ["#ffffd9","#edf8b1","#c7e9b4","#7fcdbb","#41b6c4","#1d91c0","#225ea8","#253494","#081d58"]
},GnBu: {
3: ["#e0f3db","#a8ddb5","#43a2ca"],
4: ["#f0f9e8","#bae4bc","#7bccc4","#2b8cbe"],
5: ["#f0f9e8","#bae4bc","#7bccc4","#43a2ca","#0868ac"],
6: ["#f0f9e8","#ccebc5","#a8ddb5","#7bccc4","#43a2ca","#0868ac"],
7: ["#f0f9e8","#ccebc5","#a8ddb5","#7bccc4","#4eb3d3","#2b8cbe","#08589e"],
8: ["#f7fcf0","#e0f3db","#ccebc5","#a8ddb5","#7bccc4","#4eb3d3","#2b8cbe","#08589e"],
9: ["#f7fcf0","#e0f3db","#ccebc5","#a8ddb5","#7bccc4","#4eb3d3","#2b8cbe","#0868ac","#084081"]
},BuGn: {
3: ["#e5f5f9","#99d8c9","#2ca25f"],
4: ["#edf8fb","#b2e2e2","#66c2a4","#238b45"],
5: ["#edf8fb","#b2e2e2","#66c2a4","#2ca25f","#006d2c"],
6: ["#edf8fb","#ccece6","#99d8c9","#66c2a4","#2ca25f","#006d2c"],
7: ["#edf8fb","#ccece6","#99d8c9","#66c2a4","#41ae76","#238b45","#005824"],
8: ["#f7fcfd","#e5f5f9","#ccece6","#99d8c9","#66c2a4","#41ae76","#238b45","#005824"],
9: ["#f7fcfd","#e5f5f9","#ccece6","#99d8c9","#66c2a4","#41ae76","#238b45","#006d2c","#00441b"]
},PuBuGn: {
3: ["#ece2f0","#a6bddb","#1c9099"],
4: ["#f6eff7","#bdc9e1","#67a9cf","#02818a"],
5: ["#f6eff7","#bdc9e1","#67a9cf","#1c9099","#016c59"],
6: ["#f6eff7","#d0d1e6","#a6bddb","#67a9cf","#1c9099","#016c59"],
7: ["#f6eff7","#d0d1e6","#a6bddb","#67a9cf","#3690c0","#02818a","#016450"],
8: ["#fff7fb","#ece2f0","#d0d1e6","#a6bddb","#67a9cf","#3690c0","#02818a","#016450"],
9: ["#fff7fb","#ece2f0","#d0d1e6","#a6bddb","#67a9cf","#3690c0","#02818a","#016c59","#014636"]
},PuBu: {
3: ["#ece7f2","#a6bddb","#2b8cbe"],
4: ["#f1eef6","#bdc9e1","#74a9cf","#0570b0"],
5: ["#f1eef6","#bdc9e1","#74a9cf","#2b8cbe","#045a8d"],
6: ["#f1eef6","#d0d1e6","#a6bddb","#74a9cf","#2b8cbe","#045a8d"],
7: ["#f1eef6","#d0d1e6","#a6bddb","#74a9cf","#3690c0","#0570b0","#034e7b"],
8: ["#fff7fb","#ece7f2","#d0d1e6","#a6bddb","#74a9cf","#3690c0","#0570b0","#034e7b"],
9: ["#fff7fb","#ece7f2","#d0d1e6","#a6bddb","#74a9cf","#3690c0","#0570b0","#045a8d","#023858"]
},BuPu: {
3: ["#e0ecf4","#9ebcda","#8856a7"],
4: ["#edf8fb","#b3cde3","#8c96c6","#88419d"],
5: ["#edf8fb","#b3cde3","#8c96c6","#8856a7","#810f7c"],
6: ["#edf8fb","#bfd3e6","#9ebcda","#8c96c6","#8856a7","#810f7c"],
7: ["#edf8fb","#bfd3e6","#9ebcda","#8c96c6","#8c6bb1","#88419d","#6e016b"],
8: ["#f7fcfd","#e0ecf4","#bfd3e6","#9ebcda","#8c96c6","#8c6bb1","#88419d","#6e016b"],
9: ["#f7fcfd","#e0ecf4","#bfd3e6","#9ebcda","#8c96c6","#8c6bb1","#88419d","#810f7c","#4d004b"]
},RdPu: {
3: ["#fde0dd","#fa9fb5","#c51b8a"],
4: ["#feebe2","#fbb4b9","#f768a1","#ae017e"],
5: ["#feebe2","#fbb4b9","#f768a1","#c51b8a","#7a0177"],
6: ["#feebe2","#fcc5c0","#fa9fb5","#f768a1","#c51b8a","#7a0177"],
7: ["#feebe2","#fcc5c0","#fa9fb5","#f768a1","#dd3497","#ae017e","#7a0177"],
8: ["#fff7f3","#fde0dd","#fcc5c0","#fa9fb5","#f768a1","#dd3497","#ae017e","#7a0177"],
9: ["#fff7f3","#fde0dd","#fcc5c0","#fa9fb5","#f768a1","#dd3497","#ae017e","#7a0177","#49006a"]
},PuRd: {
3: ["#e7e1ef","#c994c7","#dd1c77"],
4: ["#f1eef6","#d7b5d8","#df65b0","#ce1256"],
5: ["#f1eef6","#d7b5d8","#df65b0","#dd1c77","#980043"],
6: ["#f1eef6","#d4b9da","#c994c7","#df65b0","#dd1c77","#980043"],
7: ["#f1eef6","#d4b9da","#c994c7","#df65b0","#e7298a","#ce1256","#91003f"],
8: ["#f7f4f9","#e7e1ef","#d4b9da","#c994c7","#df65b0","#e7298a","#ce1256","#91003f"],
9: ["#f7f4f9","#e7e1ef","#d4b9da","#c994c7","#df65b0","#e7298a","#ce1256","#980043","#67001f"]
},OrRd: {
3: ["#fee8c8","#fdbb84","#e34a33"],
4: ["#fef0d9","#fdcc8a","#fc8d59","#d7301f"],
5: ["#fef0d9","#fdcc8a","#fc8d59","#e34a33","#b30000"],
6: ["#fef0d9","#fdd49e","#fdbb84","#fc8d59","#e34a33","#b30000"],
7: ["#fef0d9","#fdd49e","#fdbb84","#fc8d59","#ef6548","#d7301f","#990000"],
8: ["#fff7ec","#fee8c8","#fdd49e","#fdbb84","#fc8d59","#ef6548","#d7301f","#990000"],
9: ["#fff7ec","#fee8c8","#fdd49e","#fdbb84","#fc8d59","#ef6548","#d7301f","#b30000","#7f0000"]
},YlOrRd: {
3: ["#ffeda0","#feb24c","#f03b20"],
4: ["#ffffb2","#fecc5c","#fd8d3c","#e31a1c"],
5: ["#ffffb2","#fecc5c","#fd8d3c","#f03b20","#bd0026"],
6: ["#ffffb2","#fed976","#feb24c","#fd8d3c","#f03b20","#bd0026"],
7: ["#ffffb2","#fed976","#feb24c","#fd8d3c","#fc4e2a","#e31a1c","#b10026"],
8: ["#ffffcc","#ffeda0","#fed976","#feb24c","#fd8d3c","#fc4e2a","#e31a1c","#b10026"],
9: ["#ffffcc","#ffeda0","#fed976","#feb24c","#fd8d3c","#fc4e2a","#e31a1c","#bd0026","#800026"]
},YlOrBr: {
3: ["#fff7bc","#fec44f","#d95f0e"],
4: ["#ffffd4","#fed98e","#fe9929","#cc4c02"],
5: ["#ffffd4","#fed98e","#fe9929","#d95f0e","#993404"],
6: ["#ffffd4","#fee391","#fec44f","#fe9929","#d95f0e","#993404"],
7: ["#ffffd4","#fee391","#fec44f","#fe9929","#ec7014","#cc4c02","#8c2d04"],
8: ["#ffffe5","#fff7bc","#fee391","#fec44f","#fe9929","#ec7014","#cc4c02","#8c2d04"],
9: ["#ffffe5","#fff7bc","#fee391","#fec44f","#fe9929","#ec7014","#cc4c02","#993404","#662506"]
},Purples: {
3: ["#efedf5","#bcbddc","#756bb1"],
4: ["#f2f0f7","#cbc9e2","#9e9ac8","#6a51a3"],
5: ["#f2f0f7","#cbc9e2","#9e9ac8","#756bb1","#54278f"],
6: ["#f2f0f7","#dadaeb","#bcbddc","#9e9ac8","#756bb1","#54278f"],
7: ["#f2f0f7","#dadaeb","#bcbddc","#9e9ac8","#807dba","#6a51a3","#4a1486"],
8: ["#fcfbfd","#efedf5","#dadaeb","#bcbddc","#9e9ac8","#807dba","#6a51a3","#4a1486"],
9: ["#fcfbfd","#efedf5","#dadaeb","#bcbddc","#9e9ac8","#807dba","#6a51a3","#54278f","#3f007d"]
},Blues: {
3: ["#deebf7","#9ecae1","#3182bd"],
4: ["#eff3ff","#bdd7e7","#6baed6","#2171b5"],
5: ["#eff3ff","#bdd7e7","#6baed6","#3182bd","#08519c"],
6: ["#eff3ff","#c6dbef","#9ecae1","#6baed6","#3182bd","#08519c"],
7: ["#eff3ff","#c6dbef","#9ecae1","#6baed6","#4292c6","#2171b5","#084594"],
8: ["#f7fbff","#deebf7","#c6dbef","#9ecae1","#6baed6","#4292c6","#2171b5","#084594"],
9: ["#f7fbff","#deebf7","#c6dbef","#9ecae1","#6baed6","#4292c6","#2171b5","#08519c","#08306b"]
},Greens: {
3: ["#e5f5e0","#a1d99b","#31a354"],
4: ["#edf8e9","#bae4b3","#74c476","#238b45"],
5: ["#edf8e9","#bae4b3","#74c476","#31a354","#006d2c"],
6: ["#edf8e9","#c7e9c0","#a1d99b","#74c476","#31a354","#006d2c"],
7: ["#edf8e9","#c7e9c0","#a1d99b","#74c476","#41ab5d","#238b45","#005a32"],
8: ["#f7fcf5","#e5f5e0","#c7e9c0","#a1d99b","#74c476","#41ab5d","#238b45","#005a32"],
9: ["#f7fcf5","#e5f5e0","#c7e9c0","#a1d99b","#74c476","#41ab5d","#238b45","#006d2c","#00441b"]
},Oranges: {
3: ["#fee6ce","#fdae6b","#e6550d"],
4: ["#feedde","#fdbe85","#fd8d3c","#d94701"],
5: ["#feedde","#fdbe85","#fd8d3c","#e6550d","#a63603"],
6: ["#feedde","#fdd0a2","#fdae6b","#fd8d3c","#e6550d","#a63603"],
7: ["#feedde","#fdd0a2","#fdae6b","#fd8d3c","#f16913","#d94801","#8c2d04"],
8: ["#fff5eb","#fee6ce","#fdd0a2","#fdae6b","#fd8d3c","#f16913","#d94801","#8c2d04"],
9: ["#fff5eb","#fee6ce","#fdd0a2","#fdae6b","#fd8d3c","#f16913","#d94801","#a63603","#7f2704"]
},Reds: {
3: ["#fee0d2","#fc9272","#de2d26"],
4: ["#fee5d9","#fcae91","#fb6a4a","#cb181d"],
5: ["#fee5d9","#fcae91","#fb6a4a","#de2d26","#a50f15"],
6: ["#fee5d9","#fcbba1","#fc9272","#fb6a4a","#de2d26","#a50f15"],
7: ["#fee5d9","#fcbba1","#fc9272","#fb6a4a","#ef3b2c","#cb181d","#99000d"],
8: ["#fff5f0","#fee0d2","#fcbba1","#fc9272","#fb6a4a","#ef3b2c","#cb181d","#99000d"],
9: ["#fff5f0","#fee0d2","#fcbba1","#fc9272","#fb6a4a","#ef3b2c","#cb181d","#a50f15","#67000d"]
},Greys: {
3: ["#f0f0f0","#bdbdbd","#636363"],
4: ["#f7f7f7","#cccccc","#969696","#525252"],
5: ["#f7f7f7","#cccccc","#969696","#636363","#252525"],
6: ["#f7f7f7","#d9d9d9","#bdbdbd","#969696","#636363","#252525"],
7: ["#f7f7f7","#d9d9d9","#bdbdbd","#969696","#737373","#525252","#252525"],
8: ["#ffffff","#f0f0f0","#d9d9d9","#bdbdbd","#969696","#737373","#525252","#252525"],
9: ["#ffffff","#f0f0f0","#d9d9d9","#bdbdbd","#969696","#737373","#525252","#252525","#000000"]
},PuOr: {
3: ["#f1a340","#f7f7f7","#998ec3"],
4: ["#e66101","#fdb863","#b2abd2","#5e3c99"],
5: ["#e66101","#fdb863","#f7f7f7","#b2abd2","#5e3c99"],
6: ["#b35806","#f1a340","#fee0b6","#d8daeb","#998ec3","#542788"],
7: ["#b35806","#f1a340","#fee0b6","#f7f7f7","#d8daeb","#998ec3","#542788"],
8: ["#b35806","#e08214","#fdb863","#fee0b6","#d8daeb","#b2abd2","#8073ac","#542788"],
9: ["#b35806","#e08214","#fdb863","#fee0b6","#f7f7f7","#d8daeb","#b2abd2","#8073ac","#542788"],
10: ["#7f3b08","#b35806","#e08214","#fdb863","#fee0b6","#d8daeb","#b2abd2","#8073ac","#542788","#2d004b"],
11: ["#7f3b08","#b35806","#e08214","#fdb863","#fee0b6","#f7f7f7","#d8daeb","#b2abd2","#8073ac","#542788","#2d004b"]
},BrBG: {
3: ["#d8b365","#f5f5f5","#5ab4ac"],
4: ["#a6611a","#dfc27d","#80cdc1","#018571"],
5: ["#a6611a","#dfc27d","#f5f5f5","#80cdc1","#018571"],
6: ["#8c510a","#d8b365","#f6e8c3","#c7eae5","#5ab4ac","#01665e"],
7: ["#8c510a","#d8b365","#f6e8c3","#f5f5f5","#c7eae5","#5ab4ac","#01665e"],
8: ["#8c510a","#bf812d","#dfc27d","#f6e8c3","#c7eae5","#80cdc1","#35978f","#01665e"],
9: ["#8c510a","#bf812d","#dfc27d","#f6e8c3","#f5f5f5","#c7eae5","#80cdc1","#35978f","#01665e"],
10: ["#543005","#8c510a","#bf812d","#dfc27d","#f6e8c3","#c7eae5","#80cdc1","#35978f","#01665e","#003c30"],
11: ["#543005","#8c510a","#bf812d","#dfc27d","#f6e8c3","#f5f5f5","#c7eae5","#80cdc1","#35978f","#01665e","#003c30"]
},PRGn: {
3: ["#af8dc3","#f7f7f7","#7fbf7b"],
4: ["#7b3294","#c2a5cf","#a6dba0","#008837"],
5: ["#7b3294","#c2a5cf","#f7f7f7","#a6dba0","#008837"],
6: ["#762a83","#af8dc3","#e7d4e8","#d9f0d3","#7fbf7b","#1b7837"],
7: ["#762a83","#af8dc3","#e7d4e8","#f7f7f7","#d9f0d3","#7fbf7b","#1b7837"],
8: ["#762a83","#9970ab","#c2a5cf","#e7d4e8","#d9f0d3","#a6dba0","#5aae61","#1b7837"],
9: ["#762a83","#9970ab","#c2a5cf","#e7d4e8","#f7f7f7","#d9f0d3","#a6dba0","#5aae61","#1b7837"],
10: ["#40004b","#762a83","#9970ab","#c2a5cf","#e7d4e8","#d9f0d3","#a6dba0","#5aae61","#1b7837","#00441b"],
11: ["#40004b","#762a83","#9970ab","#c2a5cf","#e7d4e8","#f7f7f7","#d9f0d3","#a6dba0","#5aae61","#1b7837","#00441b"]
},PiYG: {
3: ["#e9a3c9","#f7f7f7","#a1d76a"],
4: ["#d01c8b","#f1b6da","#b8e186","#4dac26"],
5: ["#d01c8b","#f1b6da","#f7f7f7","#b8e186","#4dac26"],
6: ["#c51b7d","#e9a3c9","#fde0ef","#e6f5d0","#a1d76a","#4d9221"],
7: ["#c51b7d","#e9a3c9","#fde0ef","#f7f7f7","#e6f5d0","#a1d76a","#4d9221"],
8: ["#c51b7d","#de77ae","#f1b6da","#fde0ef","#e6f5d0","#b8e186","#7fbc41","#4d9221"],
9: ["#c51b7d","#de77ae","#f1b6da","#fde0ef","#f7f7f7","#e6f5d0","#b8e186","#7fbc41","#4d9221"],
10: ["#8e0152","#c51b7d","#de77ae","#f1b6da","#fde0ef","#e6f5d0","#b8e186","#7fbc41","#4d9221","#276419"],
11: ["#8e0152","#c51b7d","#de77ae","#f1b6da","#fde0ef","#f7f7f7","#e6f5d0","#b8e186","#7fbc41","#4d9221","#276419"]
},RdBu: {
3: ["#ef8a62","#f7f7f7","#67a9cf"],
4: ["#ca0020","#f4a582","#92c5de","#0571b0"],
5: ["#ca0020","#f4a582","#f7f7f7","#92c5de","#0571b0"],
6: ["#b2182b","#ef8a62","#fddbc7","#d1e5f0","#67a9cf","#2166ac"],
7: ["#b2182b","#ef8a62","#fddbc7","#f7f7f7","#d1e5f0","#67a9cf","#2166ac"],
8: ["#b2182b","#d6604d","#f4a582","#fddbc7","#d1e5f0","#92c5de","#4393c3","#2166ac"],
9: ["#b2182b","#d6604d","#f4a582","#fddbc7","#f7f7f7","#d1e5f0","#92c5de","#4393c3","#2166ac"],
10: ["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#d1e5f0","#92c5de","#4393c3","#2166ac","#053061"],
11: ["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#f7f7f7","#d1e5f0","#92c5de","#4393c3","#2166ac","#053061"]
},RdGy: {
3: ["#ef8a62","#ffffff","#999999"],
4: ["#ca0020","#f4a582","#bababa","#404040"],
5: ["#ca0020","#f4a582","#ffffff","#bababa","#404040"],
6: ["#b2182b","#ef8a62","#fddbc7","#e0e0e0","#999999","#4d4d4d"],
7: ["#b2182b","#ef8a62","#fddbc7","#ffffff","#e0e0e0","#999999","#4d4d4d"],
8: ["#b2182b","#d6604d","#f4a582","#fddbc7","#e0e0e0","#bababa","#878787","#4d4d4d"],
9: ["#b2182b","#d6604d","#f4a582","#fddbc7","#ffffff","#e0e0e0","#bababa","#878787","#4d4d4d"],
10: ["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#e0e0e0","#bababa","#878787","#4d4d4d","#1a1a1a"],
11: ["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#ffffff","#e0e0e0","#bababa","#878787","#4d4d4d","#1a1a1a"]
},RdYlBu: {
3: ["#fc8d59","#ffffbf","#91bfdb"],
4: ["#d7191c","#fdae61","#abd9e9","#2c7bb6"],
5: ["#d7191c","#fdae61","#ffffbf","#abd9e9","#2c7bb6"],
6: ["#d73027","#fc8d59","#fee090","#e0f3f8","#91bfdb","#4575b4"],
7: ["#d73027","#fc8d59","#fee090","#ffffbf","#e0f3f8","#91bfdb","#4575b4"],
8: ["#d73027","#f46d43","#fdae61","#fee090","#e0f3f8","#abd9e9","#74add1","#4575b4"],
9: ["#d73027","#f46d43","#fdae61","#fee090","#ffffbf","#e0f3f8","#abd9e9","#74add1","#4575b4"],
10: ["#a50026","#d73027","#f46d43","#fdae61","#fee090","#e0f3f8","#abd9e9","#74add1","#4575b4","#313695"],
11: ["#a50026","#d73027","#f46d43","#fdae61","#fee090","#ffffbf","#e0f3f8","#abd9e9","#74add1","#4575b4","#313695"]
},Spectral: {
3: ["#fc8d59","#ffffbf","#99d594"],
4: ["#d7191c","#fdae61","#abdda4","#2b83ba"],
5: ["#d7191c","#fdae61","#ffffbf","#abdda4","#2b83ba"],
6: ["#d53e4f","#fc8d59","#fee08b","#e6f598","#99d594","#3288bd"],
7: ["#d53e4f","#fc8d59","#fee08b","#ffffbf","#e6f598","#99d594","#3288bd"],
8: ["#d53e4f","#f46d43","#fdae61","#fee08b","#e6f598","#abdda4","#66c2a5","#3288bd"],
9: ["#d53e4f","#f46d43","#fdae61","#fee08b","#ffffbf","#e6f598","#abdda4","#66c2a5","#3288bd"],
10: ["#9e0142","#d53e4f","#f46d43","#fdae61","#fee08b","#e6f598","#abdda4","#66c2a5","#3288bd","#5e4fa2"],
11: ["#9e0142","#d53e4f","#f46d43","#fdae61","#fee08b","#ffffbf","#e6f598","#abdda4","#66c2a5","#3288bd","#5e4fa2"]
},RdYlGn: {
3: ["#fc8d59","#ffffbf","#91cf60"],
4: ["#d7191c","#fdae61","#a6d96a","#1a9641"],
5: ["#d7191c","#fdae61","#ffffbf","#a6d96a","#1a9641"],
6: ["#d73027","#fc8d59","#fee08b","#d9ef8b","#91cf60","#1a9850"],
7: ["#d73027","#fc8d59","#fee08b","#ffffbf","#d9ef8b","#91cf60","#1a9850"],
8: ["#d73027","#f46d43","#fdae61","#fee08b","#d9ef8b","#a6d96a","#66bd63","#1a9850"],
9: ["#d73027","#f46d43","#fdae61","#fee08b","#ffffbf","#d9ef8b","#a6d96a","#66bd63","#1a9850"],
10: ["#a50026","#d73027","#f46d43","#fdae61","#fee08b","#d9ef8b","#a6d96a","#66bd63","#1a9850","#006837"],
11: ["#a50026","#d73027","#f46d43","#fdae61","#fee08b","#ffffbf","#d9ef8b","#a6d96a","#66bd63","#1a9850","#006837"]
},Accent: {
3: ["#7fc97f","#beaed4","#fdc086"],
4: ["#7fc97f","#beaed4","#fdc086","#ffff99"],
5: ["#7fc97f","#beaed4","#fdc086","#ffff99","#386cb0"],
6: ["#7fc97f","#beaed4","#fdc086","#ffff99","#386cb0","#f0027f"],
7: ["#7fc97f","#beaed4","#fdc086","#ffff99","#386cb0","#f0027f","#bf5b17"],
8: ["#7fc97f","#beaed4","#fdc086","#ffff99","#386cb0","#f0027f","#bf5b17","#666666"]
},Dark2: {
3: ["#1b9e77","#d95f02","#7570b3"],
4: ["#1b9e77","#d95f02","#7570b3","#e7298a"],
5: ["#1b9e77","#d95f02","#7570b3","#e7298a","#66a61e"],
6: ["#1b9e77","#d95f02","#7570b3","#e7298a","#66a61e","#e6ab02"],
7: ["#1b9e77","#d95f02","#7570b3","#e7298a","#66a61e","#e6ab02","#a6761d"],
8: ["#1b9e77","#d95f02","#7570b3","#e7298a","#66a61e","#e6ab02","#a6761d","#666666"]
},Paired: {
3: ["#a6cee3","#1f78b4","#b2df8a"],
4: ["#a6cee3","#1f78b4","#b2df8a","#33a02c"],
5: ["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99"],
6: ["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c"],
7: ["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f"],
8: ["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00"],
9: ["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00","#cab2d6"],
10: ["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00","#cab2d6","#6a3d9a"],
11: ["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00","#cab2d6","#6a3d9a","#ffff99"],
12: ["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00","#cab2d6","#6a3d9a","#ffff99","#b15928"]
},Pastel1: {
3: ["#fbb4ae","#b3cde3","#ccebc5"],
4: ["#fbb4ae","#b3cde3","#ccebc5","#decbe4"],
5: ["#fbb4ae","#b3cde3","#ccebc5","#decbe4","#fed9a6"],
6: ["#fbb4ae","#b3cde3","#ccebc5","#decbe4","#fed9a6","#ffffcc"],
7: ["#fbb4ae","#b3cde3","#ccebc5","#decbe4","#fed9a6","#ffffcc","#e5d8bd"],
8: ["#fbb4ae","#b3cde3","#ccebc5","#decbe4","#fed9a6","#ffffcc","#e5d8bd","#fddaec"],
9: ["#fbb4ae","#b3cde3","#ccebc5","#decbe4","#fed9a6","#ffffcc","#e5d8bd","#fddaec","#f2f2f2"]
},Pastel2: {
3: ["#b3e2cd","#fdcdac","#cbd5e8"],
4: ["#b3e2cd","#fdcdac","#cbd5e8","#f4cae4"],
5: ["#b3e2cd","#fdcdac","#cbd5e8","#f4cae4","#e6f5c9"],
6: ["#b3e2cd","#fdcdac","#cbd5e8","#f4cae4","#e6f5c9","#fff2ae"],
7: ["#b3e2cd","#fdcdac","#cbd5e8","#f4cae4","#e6f5c9","#fff2ae","#f1e2cc"],
8: ["#b3e2cd","#fdcdac","#cbd5e8","#f4cae4","#e6f5c9","#fff2ae","#f1e2cc","#cccccc"]
},Set1: {
3: ["#e41a1c","#377eb8","#4daf4a"],
4: ["#e41a1c","#377eb8","#4daf4a","#984ea3"],
5: ["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00"],
6: ["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00","#ffff33"],
7: ["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00","#ffff33","#a65628"],
8: ["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00","#ffff33","#a65628","#f781bf"],
9: ["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00","#ffff33","#a65628","#f781bf","#999999"]
},Set2: {
3: ["#66c2a5","#fc8d62","#8da0cb"],
4: ["#66c2a5","#fc8d62","#8da0cb","#e78ac3"],
5: ["#66c2a5","#fc8d62","#8da0cb","#e78ac3","#a6d854"],
6: ["#66c2a5","#fc8d62","#8da0cb","#e78ac3","#a6d854","#ffd92f"],
7: ["#66c2a5","#fc8d62","#8da0cb","#e78ac3","#a6d854","#ffd92f","#e5c494"],
8: ["#66c2a5","#fc8d62","#8da0cb","#e78ac3","#a6d854","#ffd92f","#e5c494","#b3b3b3"]
},Set3: {
3: ["#8dd3c7","#ffffb3","#bebada"],
4: ["#8dd3c7","#ffffb3","#bebada","#fb8072"],
5: ["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3"],
6: ["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462"],
7: ["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69"],
8: ["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5"],
9: ["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5","#d9d9d9"],
10: ["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5","#d9d9d9","#bc80bd"],
11: ["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5","#d9d9d9","#bc80bd","#ccebc5"],
12: ["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5","#d9d9d9","#bc80bd","#ccebc5","#ffed6f"]
}};
Year Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec J-D D-N Winter Spring Summer Autumn
1880 -29 -19 -17 -27 -13 -28 -22 -6 -16 -15 -18 -20 -19 *** **** -19 -19 -16
1881 -8 -13 2 -2 -3 -27 -5 -1 -8 -18 -25 -14 -10 -11 -13 -1 -11 -17
1882 10 10 2 -19 -17 -24 -9 5 0 -21 -20 -24 -9 -8 2 -11 -9 -14
1883 -32 -41 -17 -23 -24 -11 -7 -12 -18 -11 -19 -17 -19 -20 -32 -22 -10 -16
1884 -17 -11 -33 -35 -31 -37 -33 -25 -22 -22 -30 -28 -27 -26 -15 -33 -32 -25
1885 -64 -29 -23 -44 -41 -50 -28 -27 -19 -19 -22 -5 -31 -33 -41 -36 -35 -20
1886 -41 -45 -41 -28 -27 -39 -15 -31 -18 -25 -26 -24 -30 -28 -30 -32 -28 -23
1887 -65 -47 -31 -37 -33 -20 -18 -27 -19 -32 -25 -37 -33 -32 -46 -33 -21 -26
1888 -42 -42 -47 -28 -21 -20 -8 -10 -7 2 0 -11 -20 -22 -40 -32 -13 -2
1889 -19 15 4 5 -3 -11 -5 -18 -18 -22 -30 -29 -11 -9 -5 2 -11 -23
1890 -46 -48 -41 -38 -48 -27 -29 -35 -36 -23 -37 -29 -36 -36 -41 -42 -30 -32
1891 -45 -48 -14 -25 -17 -21 -21 -20 -13 -23 -36 1 -23 -26 -41 -19 -21 -24
1892 -24 -14 -35 -34 -24 -18 -26 -18 -24 -15 -49 -27 -26 -23 -12 -31 -21 -29
1893 -67 -50 -23 -32 -34 -22 -12 -22 -17 -15 -16 -36 -29 -28 -48 -30 -19 -16
1894 -54 -31 -21 -40 -29 -43 -31 -26 -22 -16 -24 -21 -30 -31 -40 -30 -33 -21
1895 -43 -42 -29 -22 -23 -24 -16 -15 -1 -10 -15 -11 -21 -22 -35 -24 -18 -9
1896 -22 -15 -29 -32 -19 -13 -5 -8 -3 6 -15 -11 -14 -14 -16 -27 -9 -4
1897 -22 -19 -13 -1 0 -13 -4 -3 -4 -9 -18 -26 -11 -10 -17 -5 -7 -10
1898 -7 -33 -56 -34 -36 -21 -23 -23 -20 -33 -35 -21 -28 -29 -22 -42 -22 -29
1899 -17 -39 -35 -21 -20 -26 -13 -4 -2 0 12 -26 -16 -16 -26 -25 -14 3
1900 -39 -6 2 -14 -4 -13 -6 -3 2 10 -12 -13 -8 -9 -24 -5 -7 0
1901 -28 -4 6 -5 -17 -9 -7 -11 -16 -27 -15 -28 -13 -12 -15 -5 -9 -19
1902 -18 -2 -28 -26 -29 -33 -25 -27 -20 -26 -35 -45 -26 -25 -16 -28 -28 -27
1903 -27 -5 -22 -39 -41 -43 -29 -43 -42 -41 -38 -46 -35 -34 -25 -34 -38 -40
1904 -63 -54 -45 -50 -50 -49 -47 -42 -46 -34 -16 -28 -44 -45 -54 -48 -46 -32
1905 -37 -58 -24 -36 -33 -30 -24 -20 -14 -22 -7 -20 -27 -28 -41 -31 -24 -14
1906 -29 -32 -14 -2 -20 -20 -25 -18 -24 -20 -38 -16 -21 -22 -27 -12 -21 -27
1907 -43 -50 -24 -40 -45 -42 -34 -36 -31 -23 -50 -49 -39 -36 -36 -36 -37 -35
1908 -44 -35 -57 -45 -39 -37 -33 -44 -32 -42 -50 -49 -42 -42 -43 -47 -38 -41
1909 -69 -46 -51 -59 -54 -52 -42 -30 -37 -39 -32 -53 -47 -47 -55 -55 -41 -36
1910 -44 -43 -47 -38 -33 -36 -31 -33 -36 -38 -55 -68 -42 -41 -47 -39 -33 -43
1911 -63 -60 -63 -55 -52 -47 -40 -42 -38 -25 -19 -24 -44 -48 -63 -56 -43 -28
1912 -27 -14 -37 -21 -20 -26 -40 -51 -47 -55 -37 -40 -35 -33 -22 -26 -39 -47
1913 -40 -43 -43 -36 -45 -45 -33 -31 -32 -33 -17 -3 -33 -37 -41 -41 -36 -27
1914 2 -13 -22 -27 -19 -21 -23 -13 -13 -5 -20 -9 -15 -15 -5 -23 -19 -12
1915 -19 -1 -9 8 -1 -14 -1 -14 -11 -21 -12 -24 -10 -9 -10 -1 -10 -15
1916 -19 -21 -29 -24 -26 -41 -31 -25 -28 -27 -42 -77 -33 -28 -21 -26 -33 -32
1917 -46 -55 -48 -38 -48 -39 -21 -25 -17 -34 -28 -70 -39 -40 -59 -45 -28 -26
1918 -43 -31 -20 -38 -36 -27 -19 -24 -13 -2 -14 -27 -24 -28 -48 -31 -23 -10
1919 -17 -20 -25 -18 -18 -26 -19 -18 -16 -14 -29 -33 -21 -21 -21 -20 -21 -20
1920 -14 -22 -6 -25 -24 -31 -30 -27 -18 -27 -32 -44 -25 -24 -23 -18 -29 -25
1921 -2 -20 -26 -34 -34 -29 -14 -22 -16 -5 -15 -17 -19 -22 -22 -32 -21 -12
1922 -31 -40 -12 -20 -33 -31 -24 -29 -27 -30 -15 -15 -26 -26 -29 -21 -28 -24
1923 -25 -35 -29 -37 -31 -22 -27 -28 -26 -10 5 -3 -22 -24 -25 -33 -26 -11
1924 -21 -25 -11 -33 -17 -26 -25 -32 -29 -34 -21 -40 -26 -23 -16 -20 -28 -28
1925 -32 -32 -21 -24 -29 -32 -27 -17 -12 -16 5 11 -19 -23 -35 -25 -25 -8
1926 22 8 13 -13 -23 -24 -19 -9 -10 -10 -6 -29 -8 -5 14 -8 -17 -8
1927 -26 -19 -37 -31 -24 -26 -13 -18 -5 1 -3 -35 -20 -19 -25 -31 -19 -2
1928 -2 -10 -27 -28 -28 -40 -19 -24 -19 -18 -9 -19 -20 -21 -16 -28 -27 -15
1929 -46 -57 -34 -41 -38 -42 -32 -28 -23 -14 -14 -53 -35 -32 -41 -38 -34 -17
1930 -28 -23 -9 -24 -24 -17 -14 -9 -10 -8 15 -7 -13 -17 -35 -19 -14 -1
1931 -10 -20 -6 -20 -21 -5 2 0 -6 0 -10 -9 -9 -8 -12 -16 -1 -5
1932 14 -17 -19 -8 -22 -29 -23 -23 -12 -9 -26 -22 -16 -15 -4 -16 -25 -16
1933 -31 -30 -27 -23 -25 -31 -19 -22 -26 -23 -31 -45 -28 -26 -27 -25 -24 -27
1934 -25 -3 -28 -26 -10 -13 -10 -9 -15 -10 0 -7 -13 -16 -25 -22 -11 -8
1935 -37 12 -13 -34 -25 -22 -18 -16 -17 -7 -27 -20 -19 -18 -11 -24 -19 -17
1936 -28 -39 -24 -19 -15 -18 -5 -11 -5 -2 -4 -1 -14 -16 -29 -20 -11 -3
1937 -7 7 -16 -16 -6 -7 -3 4 15 10 11 -9 -1 -1 -1 -13 -2 12
1938 3 -2 6 5 -7 -17 -8 -3 4 13 3 -23 -2 -1 -3 2 -9 6
1939 -12 -11 -19 -12 -7 -8 -5 -4 1 -3 7 41 -3 -8 -15 -13 -5 2
1940 -13 6 12 16 6 6 11 1 12 8 13 20 8 10 11 11 6 11
1941 13 23 6 11 10 4 16 15 3 25 13 15 13 13 19 9 12 14
1942 29 7 12 14 15 12 3 -2 0 8 14 14 10 10 17 13 4 7
1943 1 23 3 15 11 1 15 4 12 31 27 29 14 13 12 9 7 23
1944 42 32 35 27 26 21 23 23 31 28 14 8 26 28 34 30 22 24
1945 15 5 11 25 11 3 8 26 22 22 10 -8 13 14 10 16 13 18
1946 17 6 0 12 -2 -15 -7 -9 -2 -6 -1 -27 -3 -1 5 3 -10 -3
1947 -8 -4 7 5 -6 -2 -3 -7 -14 7 0 -15 -3 -4 -13 2 -4 -2
1948 6 -12 -23 -9 6 -5 -13 -9 -13 -6 -9 -20 -9 -9 -7 -9 -9 -9
1949 10 -16 -1 -7 -10 -25 -13 -9 -9 -3 -8 -15 -9 -9 -9 -6 -16 -7
1950 -27 -27 -8 -21 -12 -8 -9 -18 -10 -18 -34 -19 -18 -17 -23 -14 -12 -21
1951 -35 -43 -19 -11 -1 -7 -2 6 4 9 1 16 -7 -10 -32 -10 -1 5
1952 16 13 -9 2 -5 -4 6 8 8 -3 -16 -2 1 3 15 -4 3 -4
1953 9 16 11 20 9 8 3 9 6 5 -5 4 8 7 8 13 6 2
1954 -27 -10 -12 -18 -20 -15 -16 -12 -7 0 9 -16 -12 -10 -11 -16 -14 1
1955 12 -21 -35 -22 -20 -7 -7 7 -14 -5 -28 -32 -14 -13 -8 -26 -2 -15
1956 -16 -25 -22 -27 -27 -15 -11 -26 -19 -24 -16 -10 -20 -22 -24 -25 -17 -19
1957 -13 -6 -6 -2 7 14 0 14 8 0 6 16 3 1 -9 0 9 5
1958 37 23 9 2 7 -6 3 -6 -5 3 2 0 6 7 25 6 -3 0
1959 6 9 20 17 5 3 5 -1 -5 -9 -9 -2 3 3 5 14 2 -8
1960 -2 13 -36 -17 -9 0 -3 0 4 8 -12 18 -3 -5 3 -20 -1 0
1961 7 19 10 15 14 11 -4 0 5 0 2 -15 5 8 15 13 2 2
1962 7 15 11 5 -6 5 -2 -3 -2 -4 6 -1 3 1 2 3 0 0
1963 -3 18 -15 -5 -10 3 9 23 20 14 16 0 6 6 5 -10 11 17
1964 -6 -11 -24 -30 -26 -9 -7 -22 -28 -30 -21 -30 -20 -18 -6 -27 -13 -26
1965 -9 -17 -12 -20 -14 -10 -10 -1 -12 -4 -6 -6 -10 -12 -19 -15 -7 -7
1966 -16 -1 4 -14 -9 3 8 -11 -2 -15 -2 -6 -5 -5 -8 -6 0 -6
1967 -7 -19 4 -6 12 -8 -1 3 -4 7 -6 -2 -2 -3 -11 4 -2 -1
1968 -22 -14 21 -5 -10 -5 -10 -11 -19 11 -5 -14 -7 -6 -13 2 -9 -4
1969 -11 -14 1 18 19 4 -2 3 10 9 12 27 6 3 -13 13 2 10
1970 10 23 8 9 -5 -1 -4 -10 11 4 1 -14 3 6 20 4 -5 6
1971 -3 -21 -19 -11 -7 -18 -13 -3 0 -6 -5 -8 -9 -10 -13 -12 -11 -4
1972 -26 -17 3 -1 -1 4 2 18 4 7 1 18 1 -1 -17 0 8 4
1973 27 31 25 26 26 16 9 2 6 12 5 -6 15 17 25 25 9 8
1974 -14 -28 -5 -10 0 -5 -3 11 -14 -7 -7 -10 -8 -7 -16 -5 1 -9
1975 8 7 14 6 17 0 -2 -21 -2 -9 -16 -17 -1 -1 1 12 -8 -9
1976 -1 -6 -21 -9 -23 -15 -10 -16 -9 -26 -6 8 -11 -13 -8 -18 -14 -14
1977 17 21 24 26 30 25 23 20 2 5 20 5 18 19 15 27 23 9
1978 8 12 21 14 7 -2 7 -19 6 1 18 11 7 7 9 14 -5 8
1979 15 -7 18 12 6 14 2 14 26 26 29 48 17 14 6 12 10 27
1980 30 42 29 33 35 18 28 26 22 19 29 20 28 30 40 32 24 23
1981 55 41 49 32 23 31 35 33 18 14 22 40 33 31 39 35 33 18
1982 9 16 -2 9 15 4 13 9 16 14 14 43 13 13 22 7 9 14
1983 53 41 42 30 36 19 15 31 38 16 31 17 31 33 45 36 22 28
1984 31 18 29 10 34 6 15 15 19 15 4 -6 16 18 22 24 12 13
1985 22 -5 17 10 18 17 2 15 15 13 10 16 12 11 4 15 11 13
1986 30 38 29 26 26 14 13 12 2 14 11 16 19 19 28 27 13 9
1987 36 46 17 26 26 36 47 28 40 33 26 48 34 31 33 23 37 33
1988 57 42 49 44 44 42 35 44 41 38 11 33 40 41 49 46 40 30
1989 16 35 36 33 17 15 33 35 37 33 19 36 29 29 28 29 27 30
1990 40 41 76 54 46 38 43 30 29 42 45 41 44 43 39 58 37 39
1991 42 50 35 51 39 54 51 42 48 31 31 33 42 43 44 42 49 37
1992 45 42 47 23 32 24 13 10 -1 10 4 22 23 24 40 34 16 5
1993 37 39 36 27 27 23 27 14 11 23 7 19 24 24 33 30 21 14
1994 31 3 26 40 29 41 31 22 34 42 46 36 32 30 18 32 32 41
1995 51 78 45 47 29 44 49 49 34 49 44 30 46 46 55 40 47 43
1996 27 49 34 36 29 26 35 50 26 21 41 40 35 34 35 33 37 29
1997 33 37 51 37 38 54 37 42 55 65 65 59 48 46 37 42 44 62
1998 61 89 62 64 71 77 70 69 46 46 49 58 63 64 70 65 72 47
1999 48 67 33 34 33 37 41 35 43 42 41 48 42 43 58 33 38 42
2000 26 59 59 59 40 43 42 43 43 29 33 30 42 44 44 53 43 35
2001 45 47 58 52 59 54 60 50 56 52 71 55 55 53 41 57 55 59
2002 74 76 91 59 65 55 61 55 64 57 59 42 63 64 68 71 57 60
2003 72 55 57 55 63 48 55 66 67 75 55 74 62 59 57 58 57 66
2004 58 70 66 62 42 42 27 45 53 67 72 52 55 57 67 57 38 64
2005 72 59 69 70 64 66 66 63 77 80 75 68 69 68 61 68 65 77
2006 57 71 64 49 47 64 55 71 64 70 73 78 64 63 65 53 63 69
2007 97 70 70 75 69 59 62 61 65 61 57 49 66 69 82 71 61 61
2008 27 36 75 53 51 48 60 45 64 67 67 55 54 53 37 60 51 66
2009 62 54 53 61 64 67 73 68 69 65 78 65 65 64 57 59 69 71
2010 73 79 92 87 75 64 61 65 61 71 79 49 71 73 72 85 63 71
2011 50 51 64 66 53 59 74 73 56 67 56 53 60 60 50 61 69 60
2012 45 49 57 69 76 62 56 64 75 79 74 52 63 63 49 67 61 76
2013 67 57 65 54 61 65 59 66 77 70 81 67 66 64 58 60 63 76
2014 74 50 77 78 86 66 58 82 90 86 68 79 75 74 64 81 69 81
2015 82 88 90 74 76 80 **** **** **** **** **** **** **** *** 83 80 **** ****
<!DOCTYPE html>
<meta charset="utf-8">
<style>
body {
font: 10px sans-serif;
}
.axis path,
.axis line {
fill: none;
stroke: #000;
shape-rendering: crispEdges;
}
.x.axis path {
display: none;
}
.line {
fill: none;
stroke: steelblue;
stroke-width: 1.5px;
}
</style>
<body>
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/3.10.0/lodash.js"></script>
<script src="colorbrewer.js"></script>
<script>
var margin = {top: 20, right: 80, bottom: 30, left: 50},
width = 960 - margin.left - margin.right,
height = 500 - margin.top - margin.bottom;
var parseDate = d3.time.format("%Y").parse;
var x = d3.time.scale().range([0, width]);
var y = d3.scale.linear().range([height, 0]);
var seasonsColor = d3.scale.ordinal().range(colorbrewer.RdBu[4]);
var months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
var monthsColor = d3.scale.ordinal()
.domain(months)
.range(colorbrewer.Set3[12]);
var xAxis = d3.svg.axis()
.scale(x)
.orient("bottom");
var yAxis = d3.svg.axis()
.scale(y)
.orient("left");
var line = d3.svg.line()
.interpolate("basis")
.x(function(d) { return x(d.date); })
.y(function(d) { return y(d.temperatureIndex); });
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 + ")");
d3.csv("ExcelFormattedGISTEMPDataCSV.csv", function(error, data) {
if (error) throw error;
//GLOBAL Land-Ocean Temperature Index in 0.01 degrees Celsius
//J-D is January-December;
//D-N, December-November.
//DJF is December-January-February (aka winter),
//MAM is spring, JJA is summer,
//SON is fall/autumn.
seasonsColor.domain(d3.keys(data[0]).filter(function(key) {
return key === "Winter" || key === "Spring" || key === "Summer" || key === "Autumn";
}));
monthsColor.domain(d3.keys(data[0]).filter(function(key) {
return _.includes(months, key);;
}));
data.forEach(function(d) {
d.date = parseDate(d.Year);
});
var yearsData = seasonsColor.domain().map(function(name) {
var values = [];
data.forEach(function(d) {
if (!isNaN(+d[name])) {
values.push({date: d.date, temperatureIndex: +d[name]});
}
});
return {
name: name,
values: values
};
});
var monthsData = [];
data.forEach(function(d) {
monthsColor.domain().forEach(function(month) {
if (!isNaN(+d[month])) {
monthsData.push({month: month, date: d.date, temperatureIndex: +d[month]});
}
});
});
x.domain(d3.extent(data, function(d) { return d.date; }));
var min = d3.min(yearsData, function(c) { return d3.min(c.values, function(v) { return v.temperatureIndex; }); });
var max = d3.max(yearsData, function(c) { return d3.max(c.values, function(v) { return v.temperatureIndex; }); });
y.domain([min, max]);
svg.append("g")
.attr("class", "x axis")
.attr("transform", "translate(0," + height + ")")
.call(xAxis);
svg.append("g")
.attr("class", "y axis")
.call(yAxis)
.append("text")
.attr("transform", "rotate(-90)")
.attr("y", 6)
.attr("dy", ".71em")
.style("text-anchor", "end")
.text("Temperature Index in 0.01 degrees Celsius");
svg.selectAll(".month")
.data(monthsData)
.enter().append("circle")
.attr("r", 1.5)
.attr("cx", function(d) {
return x(d.date);
})
.attr("cy", function(d) {
return y(d.temperatureIndex);
})
.style("fill", function(d) { return monthsColor(d.month); });
var season = svg.selectAll(".season")
.data(yearsData)
.enter().append("g")
.attr("class", "season");
season.append("path")
.attr("class", "line")
.attr("d", function(d) { return line(d.values); })
.style("stroke", function(d) { return seasonsColor(d.name); });
season.append("text")
.datum(function(d) { return {name: d.name, value: d.values[d.values.length - 1]}; })
.attr("transform", function(d, i) {
return "translate(" + (width + 10) + "," + (y(d.value.temperatureIndex) + i * 5) + ")";
}).attr("x", 3)
.attr("dy", ".35em")
.style("stroke", function(d) { return seasonsColor(d.name); })
.text(function(d) { return d.name; });
});
</script>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment