Skip to content

Instantly share code, notes, and snippets.

@asuozzo
Last active May 2, 2019 14:48
Show Gist options
  • Save asuozzo/508d03469734e743a885b993b21d2fd2 to your computer and use it in GitHub Desktop.
Save asuozzo/508d03469734e743a885b993b21d2fd2 to your computer and use it in GitHub Desktop.
Normalized Stacked Bar Chart - Race Breakdown of Vermont School Districts
license: mit
District White Black Hispanic Asian American Indian/Alaskan Native Multi-Racial Native Hawaiian/Pacific Islander
Champlain Valley SD 0.905686871 0.019892347 0.022700679 0.023870817 0.001404166 0.026211093 0.000234028
Burlington SD 0.635058944 0.141722194 0.029472066 0.116094311 0.001025115 0.076114813 0.000512558
Washington Central SU 0.936102236 0.014696486 0.015335463 0.015335463 0.003194888 0.014696486 0.000638978
South Burlington SD 0.798410405 0.028540462 0.027817919 0.077312139 0 0.067196532 0.000722543
Essex-Westford SD 0.840506329 0.021518987 0.03443038 0.050126582 0.002025316 0.050632911 0.000759494
Barre SU 0.923558897 0.013784461 0.029239766 0.00459482 0.002088555 0.025898079 0.000835422
Rutland City SD 0.892577225 0.020746888 0.029506685 0.011526049 0.000461042 0.044260028 0.000922084
Southwest Vermont SU 0.943853821 0.01461794 0.020598007 0.006644518 0 0.013289037 0.000996678
Addison Central SU 0.903633491 0.011585045 0.027382833 0.018430753 0.000526593 0.037388099 0.001053186
Mill River Unified Union SD 0.957824639 0.006659267 0.008879023 0.002219756 0 0.023307436 0.001109878
North Country SU 0.947976879 0.011560694 0.016184971 0.002697495 0.001156069 0.019267823 0.001156069
Rutland Northeast SU 0.925115971 0.006626905 0.017229954 0.003313453 0 0.046388337 0.001325381
Addison Northeast SU 0.961461794 0.003986711 0.015946844 0.005980066 0 0.011295681 0.001328904
Addison Rutland SU 0.965799257 0.005204461 0.005947955 0.002973978 0 0.018587361 0.001486989
Springfield SD 0.929339478 0.008448541 0.016897081 0.004608295 0.000768049 0.038402458 0.001536098
Windsor Southeast SU 0.955701395 0.004101723 0.015586546 0.000820345 0 0.022149303 0.001640689
Two Rivers SU 0.96641791 0.001865672 0.005597015 0.003731343 0 0.020522388 0.001865672
Orleans Southwest SU 0.927342256 0.009560229 0.01625239 0.005736138 0 0.039196941 0.001912046
Lamoille South SU 0.910099241 0.017513135 0.038528897 0.011091652 0.000583771 0.019848219 0.002335085
Montpelier SD 0.846999155 0.025359256 0.038038884 0.030431107 0.001690617 0.054945055 0.002535926
Orange North SU 0.980609418 0.009695291 0.002770083 0 0 0.004155125 0.002770083
Colchester SD 0.880425532 0.038723404 0.025957447 0.045957447 0.004680851 0.004255319
Grand Isle SU 0.922272048 0.004484305 0.025411061 0.001494768 0 0.041853513 0.004484305
Windham Southeast SU 0.851366962 0.017327686 0.051212938 0.020023104 0 0.060069311 0
St Johnsbury SD 0.908835905 0.032258065 0.040673212 0.011220196 0 0.007012623 0
Hartford SD 0.917880795 0.011258278 0.027152318 0.005298013 0.000662252 0.037748344 0
Maple Run SD 0.892512973 0.008895478 0.026315789 0.008524833 0.001853225 0.061897702 0
Addison Northwest SU 0.93153527 0.01659751 0.02593361 0.006224066 0 0.019709544 0
Bennington Rutland SU 0.940298507 0.008955224 0.02238806 0.002985075 0 0.025373134 0
Washington South SU 0.920187793 0.00312989 0.021909233 0.010954617 0.001564945 0.042253521 0
Windsor Central SU 0.93011811 0.012795276 0.021653543 0.001968504 0.000984252 0.032480315 0
Caledonia Central SU 0.950911641 0.009817672 0.021037868 0.011220196 0 0.007012623 0
Orange Southwest SU 0.946871311 0.00472255 0.018890201 0.00472255 0.001180638 0.023612751 0
Winooski SD 0.418764302 0.255148741 0.018306636 0.234553776 0.003432494 0.06979405 0
Washington Northeast SU 0.892249527 0.007561437 0.017013233 0.013232514 0 0.069943289 0
Windham Northeast SU 0.93877551 0.010612245 0.016326531 0.006530612 0 0.027755102 0
Chittenden East SU 0.93641836 0.005267118 0.016177577 0.0082769 0.001128668 0.032731377 0
Franklin Northeast SU 0.938138138 0.003603604 0.015015015 0.003003003 0.001801802 0.038438438 0
Lamoille North SU 0.95734072 0.011080332 0.014958449 0.002216066 0 0.014404432 0
Caledonia North SU 0.966323667 0.00748363 0.014031805 0.009354537 0 0.002806361 0
White River Valley SU 0.961566352 0.003625816 0.013052937 0.001450326 0 0.020304569 0
Rivendell Interstate SD 0.942973523 0.012219959 0.012219959 0.00203666 0 0.030549898 0
Rutland Southwest SU 0.947368421 0.009868421 0.011513158 0 0 0.03125 0
Orleans Central SU 0.951499118 0.007054674 0.011463845 0.001763668 0 0.028218695 0
Windham Central SU 0.942682927 0.015853659 0.01097561 0.007317073 0 0.023170732 0
Windham Southwest SU 0.964343598 0.003241491 0.009724473 0.006482982 0 0.016207455 0
Orange East SU 0.972906404 0.002463054 0.009031199 0.00410509 0 0.011494253 0
Franklin Northwest SU 0.80781759 0.001861331 0.008841322 0.001395998 0.025593299 0.154490461 0
Harwood Unified Union SD 0.956635319 0.009926855 0.006792059 0.008881923 0 0.017763845 0
Essex North SU 0.947368421 0.010526316 0.005263158 0.005263158 0 0.031578947 0
Essex Caledonia SU 0.947743468 0.009501188 0.004750594 0.007125891 0.002375297 0.028503563 0
Battenkill Valley SU 0.964539007 0.007092199 0.004728132 0.002364066 0 0.021276596 0
Milton SD 0.948074679 0.00991832 0.004667445 0.004084014 0.002333722 0.03092182 0
Franklin West SU 0.981955763 0.002910361 0.003492433 0.003492433 0.000582072 0.007566938 0
SAU 70 0.993939394 0 0.003030303 0 0 0.003030303 0
Blue Mountain SD 0.976133652 0 0.002386635 0.014319809 0 0.007159905 0
Rutland Central SU 0.966880342 0.004273504 0.001068376 0.00534188 0 0.022435897 0
var stateData = {"data":[{
"District":"Vermont", "White": 0.9, "Black": 0.021, "Hispanic": 0.021, "Asian": 0.021,
"American Indian/Alaskan Native":0.002, "Multi-Racial":0.036, "Native Hawaiian/Pacific Islander":0.001
}]};
var districtData = {"data":[{
"American Indian/Alaskan Native": 0,
"Asian": 0,
"Black": 0,
"District": "SAU 70 (Norwich)",
"Hispanic": 0.003030303,
"Multi-Racial": 0.003030303,
"Native Hawaiian/Pacific Islander": 0,
"White": 0.993939394,
},{
"American Indian/Alaskan Native": 0.000582072,
"Asian": 0.003492433,
"Black": 0.002910361,
"District": "Franklin West SU",
"Hispanic": 0.003492433,
"Multi-Racial": 0.007566938,
"Native Hawaiian/Pacific Islander": 0,
"White": 0.981955763,
},{
"American Indian/Alaskan Native": 0,
"Asian": 0,
"Black": 0.009695291,
"District": "Orange North SU",
"Hispanic": 0.002770083,
"Multi-Racial": 0.004155125,
"Native Hawaiian/Pacific Islander": 0.002770083,
"White": 0.980609418,
},{
"American Indian/Alaskan Native": 0,
"Asian": 0.014319809,
"Black": 0,
"District": "Blue Mountain SD",
"Hispanic": 0.002386635,
"Multi-Racial": 0.007159905,
"Native Hawaiian/Pacific Islander": 0,
"White": 0.976133652,
},{
"American Indian/Alaskan Native": 0,
"Asian": 0.00410509,
"Black": 0.002463054,
"District": "Orange East SU",
"Hispanic": 0.009031199,
"Multi-Racial": 0.011494253,
"Native Hawaiian/Pacific Islander": 0,
"White": 0.972906404,
},{
"American Indian/Alaskan Native": 0,
"Asian": 0.00534188,
"Black": 0.004273504,
"District": "Rutland Central SU",
"Hispanic": 0.001068376,
"Multi-Racial": 0.022435897,
"Native Hawaiian/Pacific Islander": 0,
"White": 0.966880342,
},{
"American Indian/Alaskan Native": 0,
"Asian": 0.003731343,
"Black": 0.001865672,
"District": "Two Rivers SU",
"Hispanic": 0.005597015,
"Multi-Racial": 0.020522388,
"Native Hawaiian/Pacific Islander": 0.001865672,
"White": 0.96641791,
},{
"American Indian/Alaskan Native": 0,
"Asian": 0.009354537,
"Black": 0.00748363,
"District": "Caledonia North SU",
"Hispanic": 0.014031805,
"Multi-Racial": 0.002806361,
"Native Hawaiian/Pacific Islander": 0,
"White": 0.966323667,
},{
"American Indian/Alaskan Native": 0,
"Asian": 0.002973978,
"Black": 0.005204461,
"District": "Addison Rutland SU",
"Hispanic": 0.005947955,
"Multi-Racial": 0.018587361,
"Native Hawaiian/Pacific Islander": 0.001486989,
"White": 0.965799257,
},{
"American Indian/Alaskan Native": 0,
"Asian": 0.002364066,
"Black": 0.007092199,
"District": "Battenkill Valley SU",
"Hispanic": 0.004728132,
"Multi-Racial": 0.021276596,
"Native Hawaiian/Pacific Islander": 0,
"White": 0.964539007,
},{
"American Indian/Alaskan Native": 0,
"Asian": 0.006482982,
"Black": 0.003241491,
"District": "Windham Southwest SU",
"Hispanic": 0.009724473,
"Multi-Racial": 0.016207455,
"Native Hawaiian/Pacific Islander": 0,
"White": 0.964343598,
},{
"American Indian/Alaskan Native": 0,
"Asian": 0.001450326,
"Black": 0.003625816,
"District": "White River Valley SU",
"Hispanic": 0.013052937,
"Multi-Racial": 0.020304569,
"Native Hawaiian/Pacific Islander": 0,
"White": 0.961566352,
},{
"American Indian/Alaskan Native": 0,
"Asian": 0.005980066,
"Black": 0.003986711,
"District": "Addison Northeast SU",
"Hispanic": 0.015946844,
"Multi-Racial": 0.011295681,
"Native Hawaiian/Pacific Islander": 0.001328904,
"White": 0.961461794,
},{
"American Indian/Alaskan Native": 0,
"Asian": 0.002219756,
"Black": 0.006659267,
"District": "Mill River Unified Union SD",
"Hispanic": 0.008879023,
"Multi-Racial": 0.023307436,
"Native Hawaiian/Pacific Islander": 0.001109878,
"White": 0.957824639,
},{
"American Indian/Alaskan Native": 0,
"Asian": 0.002216066,
"Black": 0.011080332,
"District": "Lamoille North SU",
"Hispanic": 0.014958449,
"Multi-Racial": 0.014404432,
"Native Hawaiian/Pacific Islander": 0,
"White": 0.95734072,
},{
"American Indian/Alaskan Native": 0,
"Asian": 0.008881923,
"Black": 0.009926855,
"District": "Harwood Unified Union SD",
"Hispanic": 0.006792059,
"Multi-Racial": 0.017763845,
"Native Hawaiian/Pacific Islander": 0,
"White": 0.956635319,
},{
"American Indian/Alaskan Native": 0,
"Asian": 0.000820345,
"Black": 0.004101723,
"District": "Windsor Southeast SU",
"Hispanic": 0.015586546,
"Multi-Racial": 0.022149303,
"Native Hawaiian/Pacific Islander": 0.001640689,
"White": 0.955701395,
},{
"American Indian/Alaskan Native": 0,
"Asian": 0.001763668,
"Black": 0.007054674,
"District": "Orleans Central SU",
"Hispanic": 0.011463845,
"Multi-Racial": 0.028218695,
"Native Hawaiian/Pacific Islander": 0,
"White": 0.951499118,
},{
"American Indian/Alaskan Native": 0,
"Asian": 0.011220196,
"Black": 0.009817672,
"District": "Caledonia Central SU",
"Hispanic": 0.021037868,
"Multi-Racial": 0.007012623,
"Native Hawaiian/Pacific Islander": 0,
"White": 0.950911641,
},{
"American Indian/Alaskan Native": 0.002333722,
"Asian": 0.004084014,
"Black": 0.00991832,
"District": "Milton SD",
"Hispanic": 0.004667445,
"Multi-Racial": 0.03092182,
"Native Hawaiian/Pacific Islander": 0,
"White": 0.948074679,
},{
"American Indian/Alaskan Native": 0.001156069,
"Asian": 0.002697495,
"Black": 0.011560694,
"District": "North Country SU",
"Hispanic": 0.016184971,
"Multi-Racial": 0.019267823,
"Native Hawaiian/Pacific Islander": 0.001156069,
"White": 0.947976879,
},{
"American Indian/Alaskan Native": 0.002375297,
"Asian": 0.007125891,
"Black": 0.009501188,
"District": "Essex Caledonia SU",
"Hispanic": 0.004750594,
"Multi-Racial": 0.028503563,
"Native Hawaiian/Pacific Islander": 0,
"White": 0.947743468,
},{
"American Indian/Alaskan Native": 0,
"Asian": 0,
"Black": 0.009868421,
"District": "Rutland Southwest SU",
"Hispanic": 0.011513158,
"Multi-Racial": 0.03125,
"Native Hawaiian/Pacific Islander": 0,
"White": 0.947368421,
},{
"American Indian/Alaskan Native": 0,
"Asian": 0.005263158,
"Black": 0.010526316,
"District": "Essex North SU",
"Hispanic": 0.005263158,
"Multi-Racial": 0.031578947,
"Native Hawaiian/Pacific Islander": 0,
"White": 0.947368421,
},{
"American Indian/Alaskan Native": 0.001180638,
"Asian": 0.00472255,
"Black": 0.00472255,
"District": "Orange Southwest SU",
"Hispanic": 0.018890201,
"Multi-Racial": 0.023612751,
"Native Hawaiian/Pacific Islander": 0,
"White": 0.946871311,
},{
"American Indian/Alaskan Native": 0,
"Asian": 0.006644518,
"Black": 0.01461794,
"District": "Southwest Vermont SU",
"Hispanic": 0.020598007,
"Multi-Racial": 0.013289037,
"Native Hawaiian/Pacific Islander": 0.000996678,
"White": 0.943853821,
},{
"American Indian/Alaskan Native": 0,
"Asian": 0.00203666,
"Black": 0.012219959,
"District": "Rivendell Interstate SD",
"Hispanic": 0.012219959,
"Multi-Racial": 0.030549898,
"Native Hawaiian/Pacific Islander": 0,
"White": 0.942973523,
},{
"American Indian/Alaskan Native": 0,
"Asian": 0.007317073,
"Black": 0.015853659,
"District": "Windham Central SU",
"Hispanic": 0.01097561,
"Multi-Racial": 0.023170732,
"Native Hawaiian/Pacific Islander": 0,
"White": 0.942682927,
},{
"American Indian/Alaskan Native": 0,
"Asian": 0.002985075,
"Black": 0.008955224,
"District": "Bennington Rutland SU",
"Hispanic": 0.02238806,
"Multi-Racial": 0.025373134,
"Native Hawaiian/Pacific Islander": 0,
"White": 0.940298507,
},{
"American Indian/Alaskan Native": 0,
"Asian": 0.006530612,
"Black": 0.010612245,
"District": "Windham Northeast SU",
"Hispanic": 0.016326531,
"Multi-Racial": 0.027755102,
"Native Hawaiian/Pacific Islander": 0,
"White": 0.93877551,
},{
"American Indian/Alaskan Native": 0.001801802,
"Asian": 0.003003003,
"Black": 0.003603604,
"District": "Franklin Northeast SU",
"Hispanic": 0.015015015,
"Multi-Racial": 0.038438438,
"Native Hawaiian/Pacific Islander": 0,
"White": 0.938138138,
},{
"American Indian/Alaskan Native": 0.001128668,
"Asian": 0.0082769,
"Black": 0.005267118,
"District": "Chittenden East SU",
"Hispanic": 0.016177577,
"Multi-Racial": 0.032731377,
"Native Hawaiian/Pacific Islander": 0,
"White": 0.93641836,
},{
"American Indian/Alaskan Native": 0.003194888,
"Asian": 0.015335463,
"Black": 0.014696486,
"District": "Washington Central SU",
"Hispanic": 0.015335463,
"Multi-Racial": 0.014696486,
"Native Hawaiian/Pacific Islander": 0.000638978,
"White": 0.936102236,
},{
"American Indian/Alaskan Native": 0,
"Asian": 0.006224066,
"Black": 0.01659751,
"District": "Addison Northwest SU",
"Hispanic": 0.02593361,
"Multi-Racial": 0.019709544,
"Native Hawaiian/Pacific Islander": 0,
"White": 0.93153527,
},{
"American Indian/Alaskan Native": 0.000984252,
"Asian": 0.001968504,
"Black": 0.012795276,
"District": "Windsor Central SU",
"Hispanic": 0.021653543,
"Multi-Racial": 0.032480315,
"Native Hawaiian/Pacific Islander": 0,
"White": 0.93011811,
},{
"American Indian/Alaskan Native": 0.000768049,
"Asian": 0.004608295,
"Black": 0.008448541,
"District": "Springfield SD",
"Hispanic": 0.016897081,
"Multi-Racial": 0.038402458,
"Native Hawaiian/Pacific Islander": 0.001536098,
"White": 0.929339478,
},{
"American Indian/Alaskan Native": 0,
"Asian": 0.005736138,
"Black": 0.009560229,
"District": "Orleans Southwest SU",
"Hispanic": 0.01625239,
"Multi-Racial": 0.039196941,
"Native Hawaiian/Pacific Islander": 0.001912046,
"White": 0.927342256,
},{
"American Indian/Alaskan Native": 0,
"Asian": 0.003313453,
"Black": 0.006626905,
"District": "Rutland Northeast SU",
"Hispanic": 0.017229954,
"Multi-Racial": 0.046388337,
"Native Hawaiian/Pacific Islander": 0.001325381,
"White": 0.925115971,
},{
"American Indian/Alaskan Native": 0.002088555,
"Asian": 0.00459482,
"Black": 0.013784461,
"District": "Barre SU",
"Hispanic": 0.029239766,
"Multi-Racial": 0.025898079,
"Native Hawaiian/Pacific Islander": 0.000835422,
"White": 0.923558897,
},{
"American Indian/Alaskan Native": 0,
"Asian": 0.001494768,
"Black": 0.004484305,
"District": "Grand Isle SU",
"Hispanic": 0.025411061,
"Multi-Racial": 0.041853513,
"Native Hawaiian/Pacific Islander": 0.004484305,
"White": 0.922272048,
},{
"American Indian/Alaskan Native": 0.001564945,
"Asian": 0.010954617,
"Black": 0.00312989,
"District": "Washington South SU",
"Hispanic": 0.021909233,
"Multi-Racial": 0.042253521,
"Native Hawaiian/Pacific Islander": 0,
"White": 0.920187793,
},{
"American Indian/Alaskan Native": 0.000662252,
"Asian": 0.005298013,
"Black": 0.011258278,
"District": "Hartford SD",
"Hispanic": 0.027152318,
"Multi-Racial": 0.037748344,
"Native Hawaiian/Pacific Islander": 0,
"White": 0.917880795,
},{
"American Indian/Alaskan Native": 0.000583771,
"Asian": 0.011091652,
"Black": 0.017513135,
"District": "Lamoille South SU",
"Hispanic": 0.038528897,
"Multi-Racial": 0.019848219,
"Native Hawaiian/Pacific Islander": 0.002335085,
"White": 0.910099241,
},{
"American Indian/Alaskan Native": 0,
"Asian": 0.011220196,
"Black": 0.032258065,
"District": "St Johnsbury SD",
"Hispanic": 0.040673212,
"Multi-Racial": 0.007012623,
"Native Hawaiian/Pacific Islander": 0,
"White": 0.908835905,
},{
"American Indian/Alaskan Native": 0.001404166,
"Asian": 0.023870817,
"Black": 0.019892347,
"District": "Champlain Valley SD",
"Hispanic": 0.022700679,
"Multi-Racial": 0.026211093,
"Native Hawaiian/Pacific Islander": 0.000234028,
"White": 0.905686871,
},{
"American Indian/Alaskan Native": 0.000526593,
"Asian": 0.018430753,
"Black": 0.011585045,
"District": "Addison Central SU",
"Hispanic": 0.027382833,
"Multi-Racial": 0.037388099,
"Native Hawaiian/Pacific Islander": 0.001053186,
"White": 0.903633491,
},{
"American Indian/Alaskan Native": 0.000461042,
"Asian": 0.011526049,
"Black": 0.020746888,
"District": "Rutland City SD",
"Hispanic": 0.029506685,
"Multi-Racial": 0.044260028,
"Native Hawaiian/Pacific Islander": 0.000922084,
"White": 0.892577225,
},{
"American Indian/Alaskan Native": 0.001853225,
"Asian": 0.008524833,
"Black": 0.008895478,
"District": "Maple Run SD",
"Hispanic": 0.026315789,
"Multi-Racial": 0.061897702,
"Native Hawaiian/Pacific Islander": 0,
"White": 0.892512973,
},{
"American Indian/Alaskan Native": 0,
"Asian": 0.013232514,
"Black": 0.007561437,
"District": "Washington Northeast SU",
"Hispanic": 0.017013233,
"Multi-Racial": 0.069943289,
"Native Hawaiian/Pacific Islander": 0,
"White": 0.892249527,
},{
"American Indian/Alaskan Native": 0.004680851,
"Asian": 0.045957447,
"Black": 0.038723404,
"District": "Colchester SD",
"Hispanic": 0.025957447,
"Multi-Racial": 0,
"Native Hawaiian/Pacific Islander": 0.004255319,
"White": 0.880425532,
},{
"American Indian/Alaskan Native": 0,
"Asian": 0.020023104,
"Black": 0.017327686,
"District": "Windham Southeast SU",
"Hispanic": 0.051212938,
"Multi-Racial": 0.060069311,
"Native Hawaiian/Pacific Islander": 0,
"White": 0.851366962,
},{
"American Indian/Alaskan Native": 0.001690617,
"Asian": 0.030431107,
"Black": 0.025359256,
"District": "Montpelier SD",
"Hispanic": 0.038038884,
"Multi-Racial": 0.054945055,
"Native Hawaiian/Pacific Islander": 0.002535926,
"White": 0.846999155,
},{
"American Indian/Alaskan Native": 0.002025316,
"Asian": 0.050126582,
"Black": 0.021518987,
"District": "Essex Westford SD",
"Hispanic": 0.03443038,
"Multi-Racial": 0.050632911,
"Native Hawaiian/Pacific Islander": 0.000759494,
"White": 0.840506329,
},{
"American Indian/Alaskan Native": 0.025593299,
"Asian": 0.001395998,
"Black": 0.001861331,
"District": "Franklin Northwest SU",
"Hispanic": 0.008841322,
"Multi-Racial": 0.154490461,
"Native Hawaiian/Pacific Islander": 0,
"White": 0.80781759,
},{
"American Indian/Alaskan Native": 0,
"Asian": 0.077312139,
"Black": 0.028540462,
"District": "South Burlington SD",
"Hispanic": 0.027817919,
"Multi-Racial": 0.067196532,
"Native Hawaiian/Pacific Islander": 0.000722543,
"White": 0.798410405,
},{
"American Indian/Alaskan Native": 0.001025115,
"Asian": 0.116094311,
"Black": 0.141722194,
"District": "Burlington SD",
"Hispanic": 0.029472066,
"Multi-Racial": 0.076114813,
"Native Hawaiian/Pacific Islander": 0.000512558,
"White": 0.635058944,
},{
"American Indian/Alaskan Native": 0.003432494,
"Asian": 0.234553776,
"Black": 0.255148741,
"District": "Winooski SD",
"Hispanic": 0.018306636,
"Multi-Racial": 0.06979405,
"Native Hawaiian/Pacific Islander": 0,
"White": 0.418764302,
}]}
var distSize = {"Essex North SU":190,
"Rutland City SD":2170,
"Mill River Unified Union SD":901,
"Windsor Central SU":1016,
"Washington Central SU":1564,
"South Burlington SD":2767,
"Addison Northwest SU":964,
"Hartford SD":1509,
"Orleans Central SU":1134,
"Lamoille South SU":1711,
"Addison Central SU":1900,
"Washington Northeast SU":529,
"Essex Westford SD":3951,
"Addison Rutland SU":1345,
"Orange Southwest SU":847,
"Champlain Valley SD":4273,
"Chittenden East SU":2658,
"Addison Northeast SU":1506,
"Two Rivers SU":1073,
"Southwest Vermont SU":3007,
"Windham Southeast SU":2598,
"Maple Run SD":2698,
"Franklin Northeast SU":1665,
"Springfield SD":1303,
"Milton SD":1714,
"Rivendell Interstate SD":491,
"Blue Mountain SD":419,
"Battenkill Valley SU":422,
"Montpelier SD":1183,
"Barre SU":2394,
"Orleans Southwest SU":1044,
"Colchester SD":2350,
"North Country SU":2595,
"Harwood Unified Union SD":1915,
"Winooski SD":874,
"Lamoille North SU":1805,
"Orange North SU":722,
"Burlington SD":3902,
"Washington South SU":639,
"Franklin Northwest SU":2149,
"Rutland Northeast SU":1509,
"Windham Northeast SU":1225,
"Windham Central SU":820,
"Windham Southwest SU":617,
"Caledonia Central SU":713,
"Rutland Central SU":938,
"Windsor Southeast SU":1219,
"Franklin West SU":1718,
"Rutland Southwest SU":608,
"Orange East SU":1218,
"White River Valley SU":1380,
"Essex Caledonia SU":421,
"St Johnsbury SD":713,
"Caledonia North SU":1070,
"Grand Isle SU":668,
"Bennington Rutland SU":1340,
"SAU 70 (Norwich)":330,
"Vermont":84404}
<!DOCTYPE html>
<meta charset="utf-8">
<style>
body {font-family:Arial, sans-serif;width:100%;padding-bottom:20px;}
h2 {margin-bottom:5px;padding-bottom:0;}
h4{margin-bottom:5px;padding-bottom:5px;border-bottom:2px solid gray;font-size:1.2em;margin-top:5px;}
h5{font-size:1em;padding-top:0;margin-top:0px;color:gray;padding-bottom:10px;margin-bottom:0}
.subhead {font-style:italic;color:gray;margin-top:0;}
.source {color:gray;font-size:12px;font-style:italic;}
.axis path {display: none;}
.axis--x text {fill:gray;}
.axis--y text {font-weight:bold;}
.axis line {display:none;}
div#tooltip {
position: absolute;
max-width: 250px;
padding: 10px;
font: 12px sans-serif;
background: white;
border: 1px solid gray;
border-radius: 5px;
pointer-events: none;
opacity:0;
}
div#tooltip tr {min-height:40px;}
div#tooltip td.race { text-align:left;max-width:200px;}
div#tooltip td.value { vertical-align:center;}
.center-line{ stroke:gray;stroke-width:1;opacity:.5}
.legend { list-style: none;padding:0px;font-size:14px }
.legend li { float: left; margin-right: 10px; }
.legend span { float: left; width: 10px; height: 10px; margin: 3px;}
.legend .white {background-color: #E0E1E1;}
.legend .black {background-color: #5B187D;}
.legend .hispanic { background-color: #0F74C4; }
.legend .asian { background-color: #98A32C; }
.legend .american-indian { background-color: #FDCD09; }
.legend .multi-racial { background-color: #F28019; }
.legend .native-hawaiian { background-color: #9D1926; }
</style>
<h2>How Diverse Is Your School District?</h2>
<p class="subhead">Data from the 2017-2018 school year. Hover or tap to see numbers for each district.</p>
<div id="graphic">
<div id="tooltip"></div>
<div id="legend">
<ul class="legend">
<li><span class="white"></span> White</li>
<li><span class="black"></span> Black</li>
<li><span class="hispanic"></span> Hispanic</li>
<li><span class="asian"></span> Asian</li>
<li><span class="american-indian"></span> American Indian/Alaskan Native</li>
<li><span class="multi-racial"></span> Multi-Racial</li>
<li><span class="native-hawaiian"></span> Native Hawaiian/Pacific Islander</li>
</ul>
</div>
<svg id="state" height="870" width="100%">
<g id="axis-container">
<g id="state" ></g><g id="districts"></g></g></svg>
<div class="source">Source: Vermont Agency of Education • Notes: Rivendell Interstate School District and SAU 70 are interstate school districts. The Rivendell numbers include students from Vermont and New Hampshire, while SAU 70 numbers only include Vermont students in that district.</div>
</div>
<script src="https://d3js.org/d3.v4.min.js"></script>
<script src="data.js"></script>
<script>
var columns = ["White", "Black", "Hispanic", "Asian", "American Indian/Alaskan Native", "Multi-Racial", "Native Hawaiian/Pacific Islander"]
var globalMargin = {left:0,right:15}
var stateMargin = {top: 20, right: 15, bottom: 10, left: 0},
distMargin = {top: 0, right: 0, bottom: 15, left: 0},
colorRange = ["#E0E1E1","#5B187D","#0F74C4","#98A32C","#FDCD09","#F28019","#9D1926"];
var numFormat = d3.format(",.0f")
var div = d3.select("#tooltip")
var svg = d3.select("svg");
function draw(){
var bounds = svg.node().getBoundingClientRect(),
width = bounds.width - globalMargin.left - globalMargin.right;
var x = d3.scaleLinear()
.rangeRound([0,width]);
createAxis(width, x);
console.log("drawing new chart")
createGraphic("g#state", stateData, "top", stateMargin,50,0, width, x)
createGraphic("g#districts", districtData,"bottom",distMargin,815,50,width, x);
}
function createAxis(width, x){
var height=852;
var container = d3.select("g#axis-container");
container.selectAll("line").remove();
container.append("line")
.attr("y1",15)
.attr("y2",height)
.attr("x1",x(.5)+5)
.attr("x2",x(.5)+5)
.attr("class","center-line")
};
function createGraphic(container, data, axis, margin, height,translateY, width, x){
var height = height - margin.top - margin.bottom;
var g = d3.select(container)
g.selectAll("*").remove();
g.attr("height",height)
.attr("width",width)
.attr("transform","translate(0,"+ translateY+")")
var group = g.append("g").attr("transform", "translate(" + margin.left + "," + margin.top + ")");
var y = d3.scaleBand()
.rangeRound([0, height])
.padding(0.1)
.align(0.1);
var z = d3.scaleOrdinal()
.range(colorRange);
var stack = d3.stack();
data["data"].sort(function(a, b) {
return a[columns[0]] - b[columns[0]];
});
y.domain(data["data"].map(function(d) { return d.District; }));
z.domain(columns);
var series = group.selectAll(".series")
.data(stack.keys(columns)(data["data"]))
.enter().append("g")
.attr("class", "series")
.attr("fill", function(d) { return z(d.key); });
series.selectAll("rect")
.data(function(d) { return d; })
.enter().append("rect")
.attr("y", function(d) { return y(d.data.District); })
.attr("x", function(d) { return x(d[0]); })
.attr("width", function(d) { return x(d[1]) - x(d[0]); })
.attr("height", y.bandwidth());
group.append("g")
.attr("class", "axis axis--y")
.attr("transform", "translate(15,0)")
.call(d3.axisLeft(y))
.selectAll("text")
.style("text-anchor","start");
if (axis == "top"){
group.append("g")
.attr("class", "axis axis--x")
.call(d3.axisTop(x)
.tickValues([.5])
.tickFormat(d3.format(".0%")));
}else{
group.append("g")
.attr("class", "axis axis--x")
.attr("transform","translate(0," + height + ")")
.call(d3.axisBottom(x).tickValues([.5]).tickFormat(d3.format(".0%")));
}
setListener(width, height);
}
function setListener(width, height){
d3.select("svg#state").selectAll("rect")
.on("mouseover", function(d){
div.transition()
.duration(200)
.style("opacity",1)
var [posX, posY] = [d3.event.x, d3.event.y];
posX += posX > width / 2 ? -200 : 50;
posY += posY > height / 2 ? -200 : 50;
div.html(tooltip(d.data))
.style("left", posX + "px")
.style("top", posY + "px")
})
.on("mouseout",function(d){
div.transition()
.duration(500)
.style("opacity",0)
})
}
function tooltip(data){
text = "<h4>"+ data.District +"</h4>";
text += "<h5>"+ numFormat(distSize[data.District]) +" students</h5><table><tr>";
text += "<td class='race'>White: </td><td class='value'>"+ (data["White"]*100).toFixed(1) + "%</td></tr>"
text += "<tr><td class='race'>Black: </td><td class='value'>" + (data["Black"]*100).toFixed(1) + "%</td></tr>";
text += "<tr><td class='race'>Hispanic: </td><td class='value'>" + (data["Hispanic"]*100).toFixed(1) + "%</td></tr>";
text += "<tr><td class='race'>Asian: </td><td class='value'>"+ (data["Asian"]*100).toFixed(1) + "%</td></tr>";
text += "<tr><td class='race'>American Indian/<br>Alaskan Native: </td><td class='value'>" + (data["American Indian/Alaskan Native"]*100).toFixed(1) + "%</td></tr>";
text += "<tr><td class='race'>Multi-Racial: </td><td class='value'>"+ (data["Multi-Racial"]*100).toFixed(1) + "%</td></tr>";
text += "<tr><td class='race'>Native Hawaiian/<br>Pacific Islander: </td><td class='value'>"+ (data["Native Hawaiian/Pacific Islander"]*100).toFixed(1) + "%</td></tr></table>";
return text
}
draw()
window.addEventListener("resize", draw);
</script>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment