Last active
April 15, 2018 13:48
-
-
Save guykr/f21a02f2c83c927c2913 to your computer and use it in GitHub Desktop.
d3 grouping and filtering
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 characters
| .idea/ |
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 characters
| /* This product includes color specifications and designs developed by Cynthia Brewer (http://colorbrewer.org/). */ | |
| .YlGn .q0-3{fill:rgb(247,252,185)} | |
| .YlGn .q1-3{fill:rgb(173,221,142)} | |
| .YlGn .q2-3{fill:rgb(49,163,84)} | |
| .YlGn .q0-4{fill:rgb(255,255,204)} | |
| .YlGn .q1-4{fill:rgb(194,230,153)} | |
| .YlGn .q2-4{fill:rgb(120,198,121)} | |
| .YlGn .q3-4{fill:rgb(35,132,67)} | |
| .YlGn .q0-5{fill:rgb(255,255,204)} | |
| .YlGn .q1-5{fill:rgb(194,230,153)} | |
| .YlGn .q2-5{fill:rgb(120,198,121)} | |
| .YlGn .q3-5{fill:rgb(49,163,84)} | |
| .YlGn .q4-5{fill:rgb(0,104,55)} | |
| .YlGn .q0-6{fill:rgb(255,255,204)} | |
| .YlGn .q1-6{fill:rgb(217,240,163)} | |
| .YlGn .q2-6{fill:rgb(173,221,142)} | |
| .YlGn .q3-6{fill:rgb(120,198,121)} | |
| .YlGn .q4-6{fill:rgb(49,163,84)} | |
| .YlGn .q5-6{fill:rgb(0,104,55)} | |
| .YlGn .q0-7{fill:rgb(255,255,204)} | |
| .YlGn .q1-7{fill:rgb(217,240,163)} | |
| .YlGn .q2-7{fill:rgb(173,221,142)} | |
| .YlGn .q3-7{fill:rgb(120,198,121)} | |
| .YlGn .q4-7{fill:rgb(65,171,93)} | |
| .YlGn .q5-7{fill:rgb(35,132,67)} | |
| .YlGn .q6-7{fill:rgb(0,90,50)} | |
| .YlGn .q0-8{fill:rgb(255,255,229)} | |
| .YlGn .q1-8{fill:rgb(247,252,185)} | |
| .YlGn .q2-8{fill:rgb(217,240,163)} | |
| .YlGn .q3-8{fill:rgb(173,221,142)} | |
| .YlGn .q4-8{fill:rgb(120,198,121)} | |
| .YlGn .q5-8{fill:rgb(65,171,93)} | |
| .YlGn .q6-8{fill:rgb(35,132,67)} | |
| .YlGn .q7-8{fill:rgb(0,90,50)} | |
| .YlGn .q0-9{fill:rgb(255,255,229)} | |
| .YlGn .q1-9{fill:rgb(247,252,185)} | |
| .YlGn .q2-9{fill:rgb(217,240,163)} | |
| .YlGn .q3-9{fill:rgb(173,221,142)} | |
| .YlGn .q4-9{fill:rgb(120,198,121)} | |
| .YlGn .q5-9{fill:rgb(65,171,93)} | |
| .YlGn .q6-9{fill:rgb(35,132,67)} | |
| .YlGn .q7-9{fill:rgb(0,104,55)} | |
| .YlGn .q8-9{fill:rgb(0,69,41)} | |
| .YlGnBu .q0-3{fill:rgb(237,248,177)} | |
| .YlGnBu .q1-3{fill:rgb(127,205,187)} | |
| .YlGnBu .q2-3{fill:rgb(44,127,184)} | |
| .YlGnBu .q0-4{fill:rgb(255,255,204)} | |
| .YlGnBu .q1-4{fill:rgb(161,218,180)} | |
| .YlGnBu .q2-4{fill:rgb(65,182,196)} | |
| .YlGnBu .q3-4{fill:rgb(34,94,168)} | |
| .YlGnBu .q0-5{fill:rgb(255,255,204)} | |
| .YlGnBu .q1-5{fill:rgb(161,218,180)} | |
| .YlGnBu .q2-5{fill:rgb(65,182,196)} | |
| .YlGnBu .q3-5{fill:rgb(44,127,184)} | |
| .YlGnBu .q4-5{fill:rgb(37,52,148)} | |
| .YlGnBu .q0-6{fill:rgb(255,255,204)} | |
| .YlGnBu .q1-6{fill:rgb(199,233,180)} | |
| .YlGnBu .q2-6{fill:rgb(127,205,187)} | |
| .YlGnBu .q3-6{fill:rgb(65,182,196)} | |
| .YlGnBu .q4-6{fill:rgb(44,127,184)} | |
| .YlGnBu .q5-6{fill:rgb(37,52,148)} | |
| .YlGnBu .q0-7{fill:rgb(255,255,204)} | |
| .YlGnBu .q1-7{fill:rgb(199,233,180)} | |
| .YlGnBu .q2-7{fill:rgb(127,205,187)} | |
| .YlGnBu .q3-7{fill:rgb(65,182,196)} | |
| .YlGnBu .q4-7{fill:rgb(29,145,192)} | |
| .YlGnBu .q5-7{fill:rgb(34,94,168)} | |
| .YlGnBu .q6-7{fill:rgb(12,44,132)} | |
| .YlGnBu .q0-8{fill:rgb(255,255,217)} | |
| .YlGnBu .q1-8{fill:rgb(237,248,177)} | |
| .YlGnBu .q2-8{fill:rgb(199,233,180)} | |
| .YlGnBu .q3-8{fill:rgb(127,205,187)} | |
| .YlGnBu .q4-8{fill:rgb(65,182,196)} | |
| .YlGnBu .q5-8{fill:rgb(29,145,192)} | |
| .YlGnBu .q6-8{fill:rgb(34,94,168)} | |
| .YlGnBu .q7-8{fill:rgb(12,44,132)} | |
| .YlGnBu .q0-9{fill:rgb(255,255,217)} | |
| .YlGnBu .q1-9{fill:rgb(237,248,177)} | |
| .YlGnBu .q2-9{fill:rgb(199,233,180)} | |
| .YlGnBu .q3-9{fill:rgb(127,205,187)} | |
| .YlGnBu .q4-9{fill:rgb(65,182,196)} | |
| .YlGnBu .q5-9{fill:rgb(29,145,192)} | |
| .YlGnBu .q6-9{fill:rgb(34,94,168)} | |
| .YlGnBu .q7-9{fill:rgb(37,52,148)} | |
| .YlGnBu .q8-9{fill:rgb(8,29,88)} | |
| .GnBu .q0-3{fill:rgb(224,243,219)} | |
| .GnBu .q1-3{fill:rgb(168,221,181)} | |
| .GnBu .q2-3{fill:rgb(67,162,202)} | |
| .GnBu .q0-4{fill:rgb(240,249,232)} | |
| .GnBu .q1-4{fill:rgb(186,228,188)} | |
| .GnBu .q2-4{fill:rgb(123,204,196)} | |
| .GnBu .q3-4{fill:rgb(43,140,190)} | |
| .GnBu .q0-5{fill:rgb(240,249,232)} | |
| .GnBu .q1-5{fill:rgb(186,228,188)} | |
| .GnBu .q2-5{fill:rgb(123,204,196)} | |
| .GnBu .q3-5{fill:rgb(67,162,202)} | |
| .GnBu .q4-5{fill:rgb(8,104,172)} | |
| .GnBu .q0-6{fill:rgb(240,249,232)} | |
| .GnBu .q1-6{fill:rgb(204,235,197)} | |
| .GnBu .q2-6{fill:rgb(168,221,181)} | |
| .GnBu .q3-6{fill:rgb(123,204,196)} | |
| .GnBu .q4-6{fill:rgb(67,162,202)} | |
| .GnBu .q5-6{fill:rgb(8,104,172)} | |
| .GnBu .q0-7{fill:rgb(240,249,232)} | |
| .GnBu .q1-7{fill:rgb(204,235,197)} | |
| .GnBu .q2-7{fill:rgb(168,221,181)} | |
| .GnBu .q3-7{fill:rgb(123,204,196)} | |
| .GnBu .q4-7{fill:rgb(78,179,211)} | |
| .GnBu .q5-7{fill:rgb(43,140,190)} | |
| .GnBu .q6-7{fill:rgb(8,88,158)} | |
| .GnBu .q0-8{fill:rgb(247,252,240)} | |
| .GnBu .q1-8{fill:rgb(224,243,219)} | |
| .GnBu .q2-8{fill:rgb(204,235,197)} | |
| .GnBu .q3-8{fill:rgb(168,221,181)} | |
| .GnBu .q4-8{fill:rgb(123,204,196)} | |
| .GnBu .q5-8{fill:rgb(78,179,211)} | |
| .GnBu .q6-8{fill:rgb(43,140,190)} | |
| .GnBu .q7-8{fill:rgb(8,88,158)} | |
| .GnBu .q0-9{fill:rgb(247,252,240)} | |
| .GnBu .q1-9{fill:rgb(224,243,219)} | |
| .GnBu .q2-9{fill:rgb(204,235,197)} | |
| .GnBu .q3-9{fill:rgb(168,221,181)} | |
| .GnBu .q4-9{fill:rgb(123,204,196)} | |
| .GnBu .q5-9{fill:rgb(78,179,211)} | |
| .GnBu .q6-9{fill:rgb(43,140,190)} | |
| .GnBu .q7-9{fill:rgb(8,104,172)} | |
| .GnBu .q8-9{fill:rgb(8,64,129)} | |
| .BuGn .q0-3{fill:rgb(229,245,249)} | |
| .BuGn .q1-3{fill:rgb(153,216,201)} | |
| .BuGn .q2-3{fill:rgb(44,162,95)} | |
| .BuGn .q0-4{fill:rgb(237,248,251)} | |
| .BuGn .q1-4{fill:rgb(178,226,226)} | |
| .BuGn .q2-4{fill:rgb(102,194,164)} | |
| .BuGn .q3-4{fill:rgb(35,139,69)} | |
| .BuGn .q0-5{fill:rgb(237,248,251)} | |
| .BuGn .q1-5{fill:rgb(178,226,226)} | |
| .BuGn .q2-5{fill:rgb(102,194,164)} | |
| .BuGn .q3-5{fill:rgb(44,162,95)} | |
| .BuGn .q4-5{fill:rgb(0,109,44)} | |
| .BuGn .q0-6{fill:rgb(237,248,251)} | |
| .BuGn .q1-6{fill:rgb(204,236,230)} | |
| .BuGn .q2-6{fill:rgb(153,216,201)} | |
| .BuGn .q3-6{fill:rgb(102,194,164)} | |
| .BuGn .q4-6{fill:rgb(44,162,95)} | |
| .BuGn .q5-6{fill:rgb(0,109,44)} | |
| .BuGn .q0-7{fill:rgb(237,248,251)} | |
| .BuGn .q1-7{fill:rgb(204,236,230)} | |
| .BuGn .q2-7{fill:rgb(153,216,201)} | |
| .BuGn .q3-7{fill:rgb(102,194,164)} | |
| .BuGn .q4-7{fill:rgb(65,174,118)} | |
| .BuGn .q5-7{fill:rgb(35,139,69)} | |
| .BuGn .q6-7{fill:rgb(0,88,36)} | |
| .BuGn .q0-8{fill:rgb(247,252,253)} | |
| .BuGn .q1-8{fill:rgb(229,245,249)} | |
| .BuGn .q2-8{fill:rgb(204,236,230)} | |
| .BuGn .q3-8{fill:rgb(153,216,201)} | |
| .BuGn .q4-8{fill:rgb(102,194,164)} | |
| .BuGn .q5-8{fill:rgb(65,174,118)} | |
| .BuGn .q6-8{fill:rgb(35,139,69)} | |
| .BuGn .q7-8{fill:rgb(0,88,36)} | |
| .BuGn .q0-9{fill:rgb(247,252,253)} | |
| .BuGn .q1-9{fill:rgb(229,245,249)} | |
| .BuGn .q2-9{fill:rgb(204,236,230)} | |
| .BuGn .q3-9{fill:rgb(153,216,201)} | |
| .BuGn .q4-9{fill:rgb(102,194,164)} | |
| .BuGn .q5-9{fill:rgb(65,174,118)} | |
| .BuGn .q6-9{fill:rgb(35,139,69)} | |
| .BuGn .q7-9{fill:rgb(0,109,44)} | |
| .BuGn .q8-9{fill:rgb(0,68,27)} | |
| .PuBuGn .q0-3{fill:rgb(236,226,240)} | |
| .PuBuGn .q1-3{fill:rgb(166,189,219)} | |
| .PuBuGn .q2-3{fill:rgb(28,144,153)} | |
| .PuBuGn .q0-4{fill:rgb(246,239,247)} | |
| .PuBuGn .q1-4{fill:rgb(189,201,225)} | |
| .PuBuGn .q2-4{fill:rgb(103,169,207)} | |
| .PuBuGn .q3-4{fill:rgb(2,129,138)} | |
| .PuBuGn .q0-5{fill:rgb(246,239,247)} | |
| .PuBuGn .q1-5{fill:rgb(189,201,225)} | |
| .PuBuGn .q2-5{fill:rgb(103,169,207)} | |
| .PuBuGn .q3-5{fill:rgb(28,144,153)} | |
| .PuBuGn .q4-5{fill:rgb(1,108,89)} | |
| .PuBuGn .q0-6{fill:rgb(246,239,247)} | |
| .PuBuGn .q1-6{fill:rgb(208,209,230)} | |
| .PuBuGn .q2-6{fill:rgb(166,189,219)} | |
| .PuBuGn .q3-6{fill:rgb(103,169,207)} | |
| .PuBuGn .q4-6{fill:rgb(28,144,153)} | |
| .PuBuGn .q5-6{fill:rgb(1,108,89)} | |
| .PuBuGn .q0-7{fill:rgb(246,239,247)} | |
| .PuBuGn .q1-7{fill:rgb(208,209,230)} | |
| .PuBuGn .q2-7{fill:rgb(166,189,219)} | |
| .PuBuGn .q3-7{fill:rgb(103,169,207)} | |
| .PuBuGn .q4-7{fill:rgb(54,144,192)} | |
| .PuBuGn .q5-7{fill:rgb(2,129,138)} | |
| .PuBuGn .q6-7{fill:rgb(1,100,80)} | |
| .PuBuGn .q0-8{fill:rgb(255,247,251)} | |
| .PuBuGn .q1-8{fill:rgb(236,226,240)} | |
| .PuBuGn .q2-8{fill:rgb(208,209,230)} | |
| .PuBuGn .q3-8{fill:rgb(166,189,219)} | |
| .PuBuGn .q4-8{fill:rgb(103,169,207)} | |
| .PuBuGn .q5-8{fill:rgb(54,144,192)} | |
| .PuBuGn .q6-8{fill:rgb(2,129,138)} | |
| .PuBuGn .q7-8{fill:rgb(1,100,80)} | |
| .PuBuGn .q0-9{fill:rgb(255,247,251)} | |
| .PuBuGn .q1-9{fill:rgb(236,226,240)} | |
| .PuBuGn .q2-9{fill:rgb(208,209,230)} | |
| .PuBuGn .q3-9{fill:rgb(166,189,219)} | |
| .PuBuGn .q4-9{fill:rgb(103,169,207)} | |
| .PuBuGn .q5-9{fill:rgb(54,144,192)} | |
| .PuBuGn .q6-9{fill:rgb(2,129,138)} | |
| .PuBuGn .q7-9{fill:rgb(1,108,89)} | |
| .PuBuGn .q8-9{fill:rgb(1,70,54)} | |
| .PuBu .q0-3{fill:rgb(236,231,242)} | |
| .PuBu .q1-3{fill:rgb(166,189,219)} | |
| .PuBu .q2-3{fill:rgb(43,140,190)} | |
| .PuBu .q0-4{fill:rgb(241,238,246)} | |
| .PuBu .q1-4{fill:rgb(189,201,225)} | |
| .PuBu .q2-4{fill:rgb(116,169,207)} | |
| .PuBu .q3-4{fill:rgb(5,112,176)} | |
| .PuBu .q0-5{fill:rgb(241,238,246)} | |
| .PuBu .q1-5{fill:rgb(189,201,225)} | |
| .PuBu .q2-5{fill:rgb(116,169,207)} | |
| .PuBu .q3-5{fill:rgb(43,140,190)} | |
| .PuBu .q4-5{fill:rgb(4,90,141)} | |
| .PuBu .q0-6{fill:rgb(241,238,246)} | |
| .PuBu .q1-6{fill:rgb(208,209,230)} | |
| .PuBu .q2-6{fill:rgb(166,189,219)} | |
| .PuBu .q3-6{fill:rgb(116,169,207)} | |
| .PuBu .q4-6{fill:rgb(43,140,190)} | |
| .PuBu .q5-6{fill:rgb(4,90,141)} | |
| .PuBu .q0-7{fill:rgb(241,238,246)} | |
| .PuBu .q1-7{fill:rgb(208,209,230)} | |
| .PuBu .q2-7{fill:rgb(166,189,219)} | |
| .PuBu .q3-7{fill:rgb(116,169,207)} | |
| .PuBu .q4-7{fill:rgb(54,144,192)} | |
| .PuBu .q5-7{fill:rgb(5,112,176)} | |
| .PuBu .q6-7{fill:rgb(3,78,123)} | |
| .PuBu .q0-8{fill:rgb(255,247,251)} | |
| .PuBu .q1-8{fill:rgb(236,231,242)} | |
| .PuBu .q2-8{fill:rgb(208,209,230)} | |
| .PuBu .q3-8{fill:rgb(166,189,219)} | |
| .PuBu .q4-8{fill:rgb(116,169,207)} | |
| .PuBu .q5-8{fill:rgb(54,144,192)} | |
| .PuBu .q6-8{fill:rgb(5,112,176)} | |
| .PuBu .q7-8{fill:rgb(3,78,123)} | |
| .PuBu .q0-9{fill:rgb(255,247,251)} | |
| .PuBu .q1-9{fill:rgb(236,231,242)} | |
| .PuBu .q2-9{fill:rgb(208,209,230)} | |
| .PuBu .q3-9{fill:rgb(166,189,219)} | |
| .PuBu .q4-9{fill:rgb(116,169,207)} | |
| .PuBu .q5-9{fill:rgb(54,144,192)} | |
| .PuBu .q6-9{fill:rgb(5,112,176)} | |
| .PuBu .q7-9{fill:rgb(4,90,141)} | |
| .PuBu .q8-9{fill:rgb(2,56,88)} | |
| .BuPu .q0-3{fill:rgb(224,236,244)} | |
| .BuPu .q1-3{fill:rgb(158,188,218)} | |
| .BuPu .q2-3{fill:rgb(136,86,167)} | |
| .BuPu .q0-4{fill:rgb(237,248,251)} | |
| .BuPu .q1-4{fill:rgb(179,205,227)} | |
| .BuPu .q2-4{fill:rgb(140,150,198)} | |
| .BuPu .q3-4{fill:rgb(136,65,157)} | |
| .BuPu .q0-5{fill:rgb(237,248,251)} | |
| .BuPu .q1-5{fill:rgb(179,205,227)} | |
| .BuPu .q2-5{fill:rgb(140,150,198)} | |
| .BuPu .q3-5{fill:rgb(136,86,167)} | |
| .BuPu .q4-5{fill:rgb(129,15,124)} | |
| .BuPu .q0-6{fill:rgb(237,248,251)} | |
| .BuPu .q1-6{fill:rgb(191,211,230)} | |
| .BuPu .q2-6{fill:rgb(158,188,218)} | |
| .BuPu .q3-6{fill:rgb(140,150,198)} | |
| .BuPu .q4-6{fill:rgb(136,86,167)} | |
| .BuPu .q5-6{fill:rgb(129,15,124)} | |
| .BuPu .q0-7{fill:rgb(237,248,251)} | |
| .BuPu .q1-7{fill:rgb(191,211,230)} | |
| .BuPu .q2-7{fill:rgb(158,188,218)} | |
| .BuPu .q3-7{fill:rgb(140,150,198)} | |
| .BuPu .q4-7{fill:rgb(140,107,177)} | |
| .BuPu .q5-7{fill:rgb(136,65,157)} | |
| .BuPu .q6-7{fill:rgb(110,1,107)} | |
| .BuPu .q0-8{fill:rgb(247,252,253)} | |
| .BuPu .q1-8{fill:rgb(224,236,244)} | |
| .BuPu .q2-8{fill:rgb(191,211,230)} | |
| .BuPu .q3-8{fill:rgb(158,188,218)} | |
| .BuPu .q4-8{fill:rgb(140,150,198)} | |
| .BuPu .q5-8{fill:rgb(140,107,177)} | |
| .BuPu .q6-8{fill:rgb(136,65,157)} | |
| .BuPu .q7-8{fill:rgb(110,1,107)} | |
| .BuPu .q0-9{fill:rgb(247,252,253)} | |
| .BuPu .q1-9{fill:rgb(224,236,244)} | |
| .BuPu .q2-9{fill:rgb(191,211,230)} | |
| .BuPu .q3-9{fill:rgb(158,188,218)} | |
| .BuPu .q4-9{fill:rgb(140,150,198)} | |
| .BuPu .q5-9{fill:rgb(140,107,177)} | |
| .BuPu .q6-9{fill:rgb(136,65,157)} | |
| .BuPu .q7-9{fill:rgb(129,15,124)} | |
| .BuPu .q8-9{fill:rgb(77,0,75)} | |
| .RdPu .q0-3{fill:rgb(253,224,221)} | |
| .RdPu .q1-3{fill:rgb(250,159,181)} | |
| .RdPu .q2-3{fill:rgb(197,27,138)} | |
| .RdPu .q0-4{fill:rgb(254,235,226)} | |
| .RdPu .q1-4{fill:rgb(251,180,185)} | |
| .RdPu .q2-4{fill:rgb(247,104,161)} | |
| .RdPu .q3-4{fill:rgb(174,1,126)} | |
| .RdPu .q0-5{fill:rgb(254,235,226)} | |
| .RdPu .q1-5{fill:rgb(251,180,185)} | |
| .RdPu .q2-5{fill:rgb(247,104,161)} | |
| .RdPu .q3-5{fill:rgb(197,27,138)} | |
| .RdPu .q4-5{fill:rgb(122,1,119)} | |
| .RdPu .q0-6{fill:rgb(254,235,226)} | |
| .RdPu .q1-6{fill:rgb(252,197,192)} | |
| .RdPu .q2-6{fill:rgb(250,159,181)} | |
| .RdPu .q3-6{fill:rgb(247,104,161)} | |
| .RdPu .q4-6{fill:rgb(197,27,138)} | |
| .RdPu .q5-6{fill:rgb(122,1,119)} | |
| .RdPu .q0-7{fill:rgb(254,235,226)} | |
| .RdPu .q1-7{fill:rgb(252,197,192)} | |
| .RdPu .q2-7{fill:rgb(250,159,181)} | |
| .RdPu .q3-7{fill:rgb(247,104,161)} | |
| .RdPu .q4-7{fill:rgb(221,52,151)} | |
| .RdPu .q5-7{fill:rgb(174,1,126)} | |
| .RdPu .q6-7{fill:rgb(122,1,119)} | |
| .RdPu .q0-8{fill:rgb(255,247,243)} | |
| .RdPu .q1-8{fill:rgb(253,224,221)} | |
| .RdPu .q2-8{fill:rgb(252,197,192)} | |
| .RdPu .q3-8{fill:rgb(250,159,181)} | |
| .RdPu .q4-8{fill:rgb(247,104,161)} | |
| .RdPu .q5-8{fill:rgb(221,52,151)} | |
| .RdPu .q6-8{fill:rgb(174,1,126)} | |
| .RdPu .q7-8{fill:rgb(122,1,119)} | |
| .RdPu .q0-9{fill:rgb(255,247,243)} | |
| .RdPu .q1-9{fill:rgb(253,224,221)} | |
| .RdPu .q2-9{fill:rgb(252,197,192)} | |
| .RdPu .q3-9{fill:rgb(250,159,181)} | |
| .RdPu .q4-9{fill:rgb(247,104,161)} | |
| .RdPu .q5-9{fill:rgb(221,52,151)} | |
| .RdPu .q6-9{fill:rgb(174,1,126)} | |
| .RdPu .q7-9{fill:rgb(122,1,119)} | |
| .RdPu .q8-9{fill:rgb(73,0,106)} | |
| .PuRd .q0-3{fill:rgb(231,225,239)} | |
| .PuRd .q1-3{fill:rgb(201,148,199)} | |
| .PuRd .q2-3{fill:rgb(221,28,119)} | |
| .PuRd .q0-4{fill:rgb(241,238,246)} | |
| .PuRd .q1-4{fill:rgb(215,181,216)} | |
| .PuRd .q2-4{fill:rgb(223,101,176)} | |
| .PuRd .q3-4{fill:rgb(206,18,86)} | |
| .PuRd .q0-5{fill:rgb(241,238,246)} | |
| .PuRd .q1-5{fill:rgb(215,181,216)} | |
| .PuRd .q2-5{fill:rgb(223,101,176)} | |
| .PuRd .q3-5{fill:rgb(221,28,119)} | |
| .PuRd .q4-5{fill:rgb(152,0,67)} | |
| .PuRd .q0-6{fill:rgb(241,238,246)} | |
| .PuRd .q1-6{fill:rgb(212,185,218)} | |
| .PuRd .q2-6{fill:rgb(201,148,199)} | |
| .PuRd .q3-6{fill:rgb(223,101,176)} | |
| .PuRd .q4-6{fill:rgb(221,28,119)} | |
| .PuRd .q5-6{fill:rgb(152,0,67)} | |
| .PuRd .q0-7{fill:rgb(241,238,246)} | |
| .PuRd .q1-7{fill:rgb(212,185,218)} | |
| .PuRd .q2-7{fill:rgb(201,148,199)} | |
| .PuRd .q3-7{fill:rgb(223,101,176)} | |
| .PuRd .q4-7{fill:rgb(231,41,138)} | |
| .PuRd .q5-7{fill:rgb(206,18,86)} | |
| .PuRd .q6-7{fill:rgb(145,0,63)} | |
| .PuRd .q0-8{fill:rgb(247,244,249)} | |
| .PuRd .q1-8{fill:rgb(231,225,239)} | |
| .PuRd .q2-8{fill:rgb(212,185,218)} | |
| .PuRd .q3-8{fill:rgb(201,148,199)} | |
| .PuRd .q4-8{fill:rgb(223,101,176)} | |
| .PuRd .q5-8{fill:rgb(231,41,138)} | |
| .PuRd .q6-8{fill:rgb(206,18,86)} | |
| .PuRd .q7-8{fill:rgb(145,0,63)} | |
| .PuRd .q0-9{fill:rgb(247,244,249)} | |
| .PuRd .q1-9{fill:rgb(231,225,239)} | |
| .PuRd .q2-9{fill:rgb(212,185,218)} | |
| .PuRd .q3-9{fill:rgb(201,148,199)} | |
| .PuRd .q4-9{fill:rgb(223,101,176)} | |
| .PuRd .q5-9{fill:rgb(231,41,138)} | |
| .PuRd .q6-9{fill:rgb(206,18,86)} | |
| .PuRd .q7-9{fill:rgb(152,0,67)} | |
| .PuRd .q8-9{fill:rgb(103,0,31)} | |
| .OrRd .q0-3{fill:rgb(254,232,200)} | |
| .OrRd .q1-3{fill:rgb(253,187,132)} | |
| .OrRd .q2-3{fill:rgb(227,74,51)} | |
| .OrRd .q0-4{fill:rgb(254,240,217)} | |
| .OrRd .q1-4{fill:rgb(253,204,138)} | |
| .OrRd .q2-4{fill:rgb(252,141,89)} | |
| .OrRd .q3-4{fill:rgb(215,48,31)} | |
| .OrRd .q0-5{fill:rgb(254,240,217)} | |
| .OrRd .q1-5{fill:rgb(253,204,138)} | |
| .OrRd .q2-5{fill:rgb(252,141,89)} | |
| .OrRd .q3-5{fill:rgb(227,74,51)} | |
| .OrRd .q4-5{fill:rgb(179,0,0)} | |
| .OrRd .q0-6{fill:rgb(254,240,217)} | |
| .OrRd .q1-6{fill:rgb(253,212,158)} | |
| .OrRd .q2-6{fill:rgb(253,187,132)} | |
| .OrRd .q3-6{fill:rgb(252,141,89)} | |
| .OrRd .q4-6{fill:rgb(227,74,51)} | |
| .OrRd .q5-6{fill:rgb(179,0,0)} | |
| .OrRd .q0-7{fill:rgb(254,240,217)} | |
| .OrRd .q1-7{fill:rgb(253,212,158)} | |
| .OrRd .q2-7{fill:rgb(253,187,132)} | |
| .OrRd .q3-7{fill:rgb(252,141,89)} | |
| .OrRd .q4-7{fill:rgb(239,101,72)} | |
| .OrRd .q5-7{fill:rgb(215,48,31)} | |
| .OrRd .q6-7{fill:rgb(153,0,0)} | |
| .OrRd .q0-8{fill:rgb(255,247,236)} | |
| .OrRd .q1-8{fill:rgb(254,232,200)} | |
| .OrRd .q2-8{fill:rgb(253,212,158)} | |
| .OrRd .q3-8{fill:rgb(253,187,132)} | |
| .OrRd .q4-8{fill:rgb(252,141,89)} | |
| .OrRd .q5-8{fill:rgb(239,101,72)} | |
| .OrRd .q6-8{fill:rgb(215,48,31)} | |
| .OrRd .q7-8{fill:rgb(153,0,0)} | |
| .OrRd .q0-9{fill:rgb(255,247,236)} | |
| .OrRd .q1-9{fill:rgb(254,232,200)} | |
| .OrRd .q2-9{fill:rgb(253,212,158)} | |
| .OrRd .q3-9{fill:rgb(253,187,132)} | |
| .OrRd .q4-9{fill:rgb(252,141,89)} | |
| .OrRd .q5-9{fill:rgb(239,101,72)} | |
| .OrRd .q6-9{fill:rgb(215,48,31)} | |
| .OrRd .q7-9{fill:rgb(179,0,0)} | |
| .OrRd .q8-9{fill:rgb(127,0,0)} | |
| .YlOrRd .q0-3{fill:rgb(255,237,160)} | |
| .YlOrRd .q1-3{fill:rgb(254,178,76)} | |
| .YlOrRd .q2-3{fill:rgb(240,59,32)} | |
| .YlOrRd .q0-4{fill:rgb(255,255,178)} | |
| .YlOrRd .q1-4{fill:rgb(254,204,92)} | |
| .YlOrRd .q2-4{fill:rgb(253,141,60)} | |
| .YlOrRd .q3-4{fill:rgb(227,26,28)} | |
| .YlOrRd .q0-5{fill:rgb(255,255,178)} | |
| .YlOrRd .q1-5{fill:rgb(254,204,92)} | |
| .YlOrRd .q2-5{fill:rgb(253,141,60)} | |
| .YlOrRd .q3-5{fill:rgb(240,59,32)} | |
| .YlOrRd .q4-5{fill:rgb(189,0,38)} | |
| .YlOrRd .q0-6{fill:rgb(255,255,178)} | |
| .YlOrRd .q1-6{fill:rgb(254,217,118)} | |
| .YlOrRd .q2-6{fill:rgb(254,178,76)} | |
| .YlOrRd .q3-6{fill:rgb(253,141,60)} | |
| .YlOrRd .q4-6{fill:rgb(240,59,32)} | |
| .YlOrRd .q5-6{fill:rgb(189,0,38)} | |
| .YlOrRd .q0-7{fill:rgb(255,255,178)} | |
| .YlOrRd .q1-7{fill:rgb(254,217,118)} | |
| .YlOrRd .q2-7{fill:rgb(254,178,76)} | |
| .YlOrRd .q3-7{fill:rgb(253,141,60)} | |
| .YlOrRd .q4-7{fill:rgb(252,78,42)} | |
| .YlOrRd .q5-7{fill:rgb(227,26,28)} | |
| .YlOrRd .q6-7{fill:rgb(177,0,38)} | |
| .YlOrRd .q0-8{fill:rgb(255,255,204)} | |
| .YlOrRd .q1-8{fill:rgb(255,237,160)} | |
| .YlOrRd .q2-8{fill:rgb(254,217,118)} | |
| .YlOrRd .q3-8{fill:rgb(254,178,76)} | |
| .YlOrRd .q4-8{fill:rgb(253,141,60)} | |
| .YlOrRd .q5-8{fill:rgb(252,78,42)} | |
| .YlOrRd .q6-8{fill:rgb(227,26,28)} | |
| .YlOrRd .q7-8{fill:rgb(177,0,38)} | |
| .YlOrRd .q0-9{fill:rgb(255,255,204)} | |
| .YlOrRd .q1-9{fill:rgb(255,237,160)} | |
| .YlOrRd .q2-9{fill:rgb(254,217,118)} | |
| .YlOrRd .q3-9{fill:rgb(254,178,76)} | |
| .YlOrRd .q4-9{fill:rgb(253,141,60)} | |
| .YlOrRd .q5-9{fill:rgb(252,78,42)} | |
| .YlOrRd .q6-9{fill:rgb(227,26,28)} | |
| .YlOrRd .q7-9{fill:rgb(189,0,38)} | |
| .YlOrRd .q8-9{fill:rgb(128,0,38)} | |
| .YlOrBr .q0-3{fill:rgb(255,247,188)} | |
| .YlOrBr .q1-3{fill:rgb(254,196,79)} | |
| .YlOrBr .q2-3{fill:rgb(217,95,14)} | |
| .YlOrBr .q0-4{fill:rgb(255,255,212)} | |
| .YlOrBr .q1-4{fill:rgb(254,217,142)} | |
| .YlOrBr .q2-4{fill:rgb(254,153,41)} | |
| .YlOrBr .q3-4{fill:rgb(204,76,2)} | |
| .YlOrBr .q0-5{fill:rgb(255,255,212)} | |
| .YlOrBr .q1-5{fill:rgb(254,217,142)} | |
| .YlOrBr .q2-5{fill:rgb(254,153,41)} | |
| .YlOrBr .q3-5{fill:rgb(217,95,14)} | |
| .YlOrBr .q4-5{fill:rgb(153,52,4)} | |
| .YlOrBr .q0-6{fill:rgb(255,255,212)} | |
| .YlOrBr .q1-6{fill:rgb(254,227,145)} | |
| .YlOrBr .q2-6{fill:rgb(254,196,79)} | |
| .YlOrBr .q3-6{fill:rgb(254,153,41)} | |
| .YlOrBr .q4-6{fill:rgb(217,95,14)} | |
| .YlOrBr .q5-6{fill:rgb(153,52,4)} | |
| .YlOrBr .q0-7{fill:rgb(255,255,212)} | |
| .YlOrBr .q1-7{fill:rgb(254,227,145)} | |
| .YlOrBr .q2-7{fill:rgb(254,196,79)} | |
| .YlOrBr .q3-7{fill:rgb(254,153,41)} | |
| .YlOrBr .q4-7{fill:rgb(236,112,20)} | |
| .YlOrBr .q5-7{fill:rgb(204,76,2)} | |
| .YlOrBr .q6-7{fill:rgb(140,45,4)} | |
| .YlOrBr .q0-8{fill:rgb(255,255,229)} | |
| .YlOrBr .q1-8{fill:rgb(255,247,188)} | |
| .YlOrBr .q2-8{fill:rgb(254,227,145)} | |
| .YlOrBr .q3-8{fill:rgb(254,196,79)} | |
| .YlOrBr .q4-8{fill:rgb(254,153,41)} | |
| .YlOrBr .q5-8{fill:rgb(236,112,20)} | |
| .YlOrBr .q6-8{fill:rgb(204,76,2)} | |
| .YlOrBr .q7-8{fill:rgb(140,45,4)} | |
| .YlOrBr .q0-9{fill:rgb(255,255,229)} | |
| .YlOrBr .q1-9{fill:rgb(255,247,188)} | |
| .YlOrBr .q2-9{fill:rgb(254,227,145)} | |
| .YlOrBr .q3-9{fill:rgb(254,196,79)} | |
| .YlOrBr .q4-9{fill:rgb(254,153,41)} | |
| .YlOrBr .q5-9{fill:rgb(236,112,20)} | |
| .YlOrBr .q6-9{fill:rgb(204,76,2)} | |
| .YlOrBr .q7-9{fill:rgb(153,52,4)} | |
| .YlOrBr .q8-9{fill:rgb(102,37,6)} | |
| .Purples .q0-3{fill:rgb(239,237,245)} | |
| .Purples .q1-3{fill:rgb(188,189,220)} | |
| .Purples .q2-3{fill:rgb(117,107,177)} | |
| .Purples .q0-4{fill:rgb(242,240,247)} | |
| .Purples .q1-4{fill:rgb(203,201,226)} | |
| .Purples .q2-4{fill:rgb(158,154,200)} | |
| .Purples .q3-4{fill:rgb(106,81,163)} | |
| .Purples .q0-5{fill:rgb(242,240,247)} | |
| .Purples .q1-5{fill:rgb(203,201,226)} | |
| .Purples .q2-5{fill:rgb(158,154,200)} | |
| .Purples .q3-5{fill:rgb(117,107,177)} | |
| .Purples .q4-5{fill:rgb(84,39,143)} | |
| .Purples .q0-6{fill:rgb(242,240,247)} | |
| .Purples .q1-6{fill:rgb(218,218,235)} | |
| .Purples .q2-6{fill:rgb(188,189,220)} | |
| .Purples .q3-6{fill:rgb(158,154,200)} | |
| .Purples .q4-6{fill:rgb(117,107,177)} | |
| .Purples .q5-6{fill:rgb(84,39,143)} | |
| .Purples .q0-7{fill:rgb(242,240,247)} | |
| .Purples .q1-7{fill:rgb(218,218,235)} | |
| .Purples .q2-7{fill:rgb(188,189,220)} | |
| .Purples .q3-7{fill:rgb(158,154,200)} | |
| .Purples .q4-7{fill:rgb(128,125,186)} | |
| .Purples .q5-7{fill:rgb(106,81,163)} | |
| .Purples .q6-7{fill:rgb(74,20,134)} | |
| .Purples .q0-8{fill:rgb(252,251,253)} | |
| .Purples .q1-8{fill:rgb(239,237,245)} | |
| .Purples .q2-8{fill:rgb(218,218,235)} | |
| .Purples .q3-8{fill:rgb(188,189,220)} | |
| .Purples .q4-8{fill:rgb(158,154,200)} | |
| .Purples .q5-8{fill:rgb(128,125,186)} | |
| .Purples .q6-8{fill:rgb(106,81,163)} | |
| .Purples .q7-8{fill:rgb(74,20,134)} | |
| .Purples .q0-9{fill:rgb(252,251,253)} | |
| .Purples .q1-9{fill:rgb(239,237,245)} | |
| .Purples .q2-9{fill:rgb(218,218,235)} | |
| .Purples .q3-9{fill:rgb(188,189,220)} | |
| .Purples .q4-9{fill:rgb(158,154,200)} | |
| .Purples .q5-9{fill:rgb(128,125,186)} | |
| .Purples .q6-9{fill:rgb(106,81,163)} | |
| .Purples .q7-9{fill:rgb(84,39,143)} | |
| .Purples .q8-9{fill:rgb(63,0,125)} | |
| .Blues .q0-3{fill:rgb(222,235,247)} | |
| .Blues .q1-3{fill:rgb(158,202,225)} | |
| .Blues .q2-3{fill:rgb(49,130,189)} | |
| .Blues .q0-4{fill:rgb(239,243,255)} | |
| .Blues .q1-4{fill:rgb(189,215,231)} | |
| .Blues .q2-4{fill:rgb(107,174,214)} | |
| .Blues .q3-4{fill:rgb(33,113,181)} | |
| .Blues .q0-5{fill:rgb(239,243,255)} | |
| .Blues .q1-5{fill:rgb(189,215,231)} | |
| .Blues .q2-5{fill:rgb(107,174,214)} | |
| .Blues .q3-5{fill:rgb(49,130,189)} | |
| .Blues .q4-5{fill:rgb(8,81,156)} | |
| .Blues .q0-6{fill:rgb(239,243,255)} | |
| .Blues .q1-6{fill:rgb(198,219,239)} | |
| .Blues .q2-6{fill:rgb(158,202,225)} | |
| .Blues .q3-6{fill:rgb(107,174,214)} | |
| .Blues .q4-6{fill:rgb(49,130,189)} | |
| .Blues .q5-6{fill:rgb(8,81,156)} | |
| .Blues .q0-7{fill:rgb(239,243,255)} | |
| .Blues .q1-7{fill:rgb(198,219,239)} | |
| .Blues .q2-7{fill:rgb(158,202,225)} | |
| .Blues .q3-7{fill:rgb(107,174,214)} | |
| .Blues .q4-7{fill:rgb(66,146,198)} | |
| .Blues .q5-7{fill:rgb(33,113,181)} | |
| .Blues .q6-7{fill:rgb(8,69,148)} | |
| .Blues .q0-8{fill:rgb(247,251,255)} | |
| .Blues .q1-8{fill:rgb(222,235,247)} | |
| .Blues .q2-8{fill:rgb(198,219,239)} | |
| .Blues .q3-8{fill:rgb(158,202,225)} | |
| .Blues .q4-8{fill:rgb(107,174,214)} | |
| .Blues .q5-8{fill:rgb(66,146,198)} | |
| .Blues .q6-8{fill:rgb(33,113,181)} | |
| .Blues .q7-8{fill:rgb(8,69,148)} | |
| .Blues .q0-9{fill:rgb(247,251,255)} | |
| .Blues .q1-9{fill:rgb(222,235,247)} | |
| .Blues .q2-9{fill:rgb(198,219,239)} | |
| .Blues .q3-9{fill:rgb(158,202,225)} | |
| .Blues .q4-9{fill:rgb(107,174,214)} | |
| .Blues .q5-9{fill:rgb(66,146,198)} | |
| .Blues .q6-9{fill:rgb(33,113,181)} | |
| .Blues .q7-9{fill:rgb(8,81,156)} | |
| .Blues .q8-9{fill:rgb(8,48,107)} | |
| .Greens .q0-3{fill:rgb(229,245,224)} | |
| .Greens .q1-3{fill:rgb(161,217,155)} | |
| .Greens .q2-3{fill:rgb(49,163,84)} | |
| .Greens .q0-4{fill:rgb(237,248,233)} | |
| .Greens .q1-4{fill:rgb(186,228,179)} | |
| .Greens .q2-4{fill:rgb(116,196,118)} | |
| .Greens .q3-4{fill:rgb(35,139,69)} | |
| .Greens .q0-5{fill:rgb(237,248,233)} | |
| .Greens .q1-5{fill:rgb(186,228,179)} | |
| .Greens .q2-5{fill:rgb(116,196,118)} | |
| .Greens .q3-5{fill:rgb(49,163,84)} | |
| .Greens .q4-5{fill:rgb(0,109,44)} | |
| .Greens .q0-6{fill:rgb(237,248,233)} | |
| .Greens .q1-6{fill:rgb(199,233,192)} | |
| .Greens .q2-6{fill:rgb(161,217,155)} | |
| .Greens .q3-6{fill:rgb(116,196,118)} | |
| .Greens .q4-6{fill:rgb(49,163,84)} | |
| .Greens .q5-6{fill:rgb(0,109,44)} | |
| .Greens .q0-7{fill:rgb(237,248,233)} | |
| .Greens .q1-7{fill:rgb(199,233,192)} | |
| .Greens .q2-7{fill:rgb(161,217,155)} | |
| .Greens .q3-7{fill:rgb(116,196,118)} | |
| .Greens .q4-7{fill:rgb(65,171,93)} | |
| .Greens .q5-7{fill:rgb(35,139,69)} | |
| .Greens .q6-7{fill:rgb(0,90,50)} | |
| .Greens .q0-8{fill:rgb(247,252,245)} | |
| .Greens .q1-8{fill:rgb(229,245,224)} | |
| .Greens .q2-8{fill:rgb(199,233,192)} | |
| .Greens .q3-8{fill:rgb(161,217,155)} | |
| .Greens .q4-8{fill:rgb(116,196,118)} | |
| .Greens .q5-8{fill:rgb(65,171,93)} | |
| .Greens .q6-8{fill:rgb(35,139,69)} | |
| .Greens .q7-8{fill:rgb(0,90,50)} | |
| .Greens .q0-9{fill:rgb(247,252,245)} | |
| .Greens .q1-9{fill:rgb(229,245,224)} | |
| .Greens .q2-9{fill:rgb(199,233,192)} | |
| .Greens .q3-9{fill:rgb(161,217,155)} | |
| .Greens .q4-9{fill:rgb(116,196,118)} | |
| .Greens .q5-9{fill:rgb(65,171,93)} | |
| .Greens .q6-9{fill:rgb(35,139,69)} | |
| .Greens .q7-9{fill:rgb(0,109,44)} | |
| .Greens .q8-9{fill:rgb(0,68,27)} | |
| .Oranges .q0-3{fill:rgb(254,230,206)} | |
| .Oranges .q1-3{fill:rgb(253,174,107)} | |
| .Oranges .q2-3{fill:rgb(230,85,13)} | |
| .Oranges .q0-4{fill:rgb(254,237,222)} | |
| .Oranges .q1-4{fill:rgb(253,190,133)} | |
| .Oranges .q2-4{fill:rgb(253,141,60)} | |
| .Oranges .q3-4{fill:rgb(217,71,1)} | |
| .Oranges .q0-5{fill:rgb(254,237,222)} | |
| .Oranges .q1-5{fill:rgb(253,190,133)} | |
| .Oranges .q2-5{fill:rgb(253,141,60)} | |
| .Oranges .q3-5{fill:rgb(230,85,13)} | |
| .Oranges .q4-5{fill:rgb(166,54,3)} | |
| .Oranges .q0-6{fill:rgb(254,237,222)} | |
| .Oranges .q1-6{fill:rgb(253,208,162)} | |
| .Oranges .q2-6{fill:rgb(253,174,107)} | |
| .Oranges .q3-6{fill:rgb(253,141,60)} | |
| .Oranges .q4-6{fill:rgb(230,85,13)} | |
| .Oranges .q5-6{fill:rgb(166,54,3)} | |
| .Oranges .q0-7{fill:rgb(254,237,222)} | |
| .Oranges .q1-7{fill:rgb(253,208,162)} | |
| .Oranges .q2-7{fill:rgb(253,174,107)} | |
| .Oranges .q3-7{fill:rgb(253,141,60)} | |
| .Oranges .q4-7{fill:rgb(241,105,19)} | |
| .Oranges .q5-7{fill:rgb(217,72,1)} | |
| .Oranges .q6-7{fill:rgb(140,45,4)} | |
| .Oranges .q0-8{fill:rgb(255,245,235)} | |
| .Oranges .q1-8{fill:rgb(254,230,206)} | |
| .Oranges .q2-8{fill:rgb(253,208,162)} | |
| .Oranges .q3-8{fill:rgb(253,174,107)} | |
| .Oranges .q4-8{fill:rgb(253,141,60)} | |
| .Oranges .q5-8{fill:rgb(241,105,19)} | |
| .Oranges .q6-8{fill:rgb(217,72,1)} | |
| .Oranges .q7-8{fill:rgb(140,45,4)} | |
| .Oranges .q0-9{fill:rgb(255,245,235)} | |
| .Oranges .q1-9{fill:rgb(254,230,206)} | |
| .Oranges .q2-9{fill:rgb(253,208,162)} | |
| .Oranges .q3-9{fill:rgb(253,174,107)} | |
| .Oranges .q4-9{fill:rgb(253,141,60)} | |
| .Oranges .q5-9{fill:rgb(241,105,19)} | |
| .Oranges .q6-9{fill:rgb(217,72,1)} | |
| .Oranges .q7-9{fill:rgb(166,54,3)} | |
| .Oranges .q8-9{fill:rgb(127,39,4)} | |
| .Reds .q0-3{fill:rgb(254,224,210)} | |
| .Reds .q1-3{fill:rgb(252,146,114)} | |
| .Reds .q2-3{fill:rgb(222,45,38)} | |
| .Reds .q0-4{fill:rgb(254,229,217)} | |
| .Reds .q1-4{fill:rgb(252,174,145)} | |
| .Reds .q2-4{fill:rgb(251,106,74)} | |
| .Reds .q3-4{fill:rgb(203,24,29)} | |
| .Reds .q0-5{fill:rgb(254,229,217)} | |
| .Reds .q1-5{fill:rgb(252,174,145)} | |
| .Reds .q2-5{fill:rgb(251,106,74)} | |
| .Reds .q3-5{fill:rgb(222,45,38)} | |
| .Reds .q4-5{fill:rgb(165,15,21)} | |
| .Reds .q0-6{fill:rgb(254,229,217)} | |
| .Reds .q1-6{fill:rgb(252,187,161)} | |
| .Reds .q2-6{fill:rgb(252,146,114)} | |
| .Reds .q3-6{fill:rgb(251,106,74)} | |
| .Reds .q4-6{fill:rgb(222,45,38)} | |
| .Reds .q5-6{fill:rgb(165,15,21)} | |
| .Reds .q0-7{fill:rgb(254,229,217)} | |
| .Reds .q1-7{fill:rgb(252,187,161)} | |
| .Reds .q2-7{fill:rgb(252,146,114)} | |
| .Reds .q3-7{fill:rgb(251,106,74)} | |
| .Reds .q4-7{fill:rgb(239,59,44)} | |
| .Reds .q5-7{fill:rgb(203,24,29)} | |
| .Reds .q6-7{fill:rgb(153,0,13)} | |
| .Reds .q0-8{fill:rgb(255,245,240)} | |
| .Reds .q1-8{fill:rgb(254,224,210)} | |
| .Reds .q2-8{fill:rgb(252,187,161)} | |
| .Reds .q3-8{fill:rgb(252,146,114)} | |
| .Reds .q4-8{fill:rgb(251,106,74)} | |
| .Reds .q5-8{fill:rgb(239,59,44)} | |
| .Reds .q6-8{fill:rgb(203,24,29)} | |
| .Reds .q7-8{fill:rgb(153,0,13)} | |
| .Reds .q0-9{fill:rgb(255,245,240)} | |
| .Reds .q1-9{fill:rgb(254,224,210)} | |
| .Reds .q2-9{fill:rgb(252,187,161)} | |
| .Reds .q3-9{fill:rgb(252,146,114)} | |
| .Reds .q4-9{fill:rgb(251,106,74)} | |
| .Reds .q5-9{fill:rgb(239,59,44)} | |
| .Reds .q6-9{fill:rgb(203,24,29)} | |
| .Reds .q7-9{fill:rgb(165,15,21)} | |
| .Reds .q8-9{fill:rgb(103,0,13)} | |
| .Greys .q0-3{fill:rgb(240,240,240)} | |
| .Greys .q1-3{fill:rgb(189,189,189)} | |
| .Greys .q2-3{fill:rgb(99,99,99)} | |
| .Greys .q0-4{fill:rgb(247,247,247)} | |
| .Greys .q1-4{fill:rgb(204,204,204)} | |
| .Greys .q2-4{fill:rgb(150,150,150)} | |
| .Greys .q3-4{fill:rgb(82,82,82)} | |
| .Greys .q0-5{fill:rgb(247,247,247)} | |
| .Greys .q1-5{fill:rgb(204,204,204)} | |
| .Greys .q2-5{fill:rgb(150,150,150)} | |
| .Greys .q3-5{fill:rgb(99,99,99)} | |
| .Greys .q4-5{fill:rgb(37,37,37)} | |
| .Greys .q0-6{fill:rgb(247,247,247)} | |
| .Greys .q1-6{fill:rgb(217,217,217)} | |
| .Greys .q2-6{fill:rgb(189,189,189)} | |
| .Greys .q3-6{fill:rgb(150,150,150)} | |
| .Greys .q4-6{fill:rgb(99,99,99)} | |
| .Greys .q5-6{fill:rgb(37,37,37)} | |
| .Greys .q0-7{fill:rgb(247,247,247)} | |
| .Greys .q1-7{fill:rgb(217,217,217)} | |
| .Greys .q2-7{fill:rgb(189,189,189)} | |
| .Greys .q3-7{fill:rgb(150,150,150)} | |
| .Greys .q4-7{fill:rgb(115,115,115)} | |
| .Greys .q5-7{fill:rgb(82,82,82)} | |
| .Greys .q6-7{fill:rgb(37,37,37)} | |
| .Greys .q0-8{fill:rgb(255,255,255)} | |
| .Greys .q1-8{fill:rgb(240,240,240)} | |
| .Greys .q2-8{fill:rgb(217,217,217)} | |
| .Greys .q3-8{fill:rgb(189,189,189)} | |
| .Greys .q4-8{fill:rgb(150,150,150)} | |
| .Greys .q5-8{fill:rgb(115,115,115)} | |
| .Greys .q6-8{fill:rgb(82,82,82)} | |
| .Greys .q7-8{fill:rgb(37,37,37)} | |
| .Greys .q0-9{fill:rgb(255,255,255)} | |
| .Greys .q1-9{fill:rgb(240,240,240)} | |
| .Greys .q2-9{fill:rgb(217,217,217)} | |
| .Greys .q3-9{fill:rgb(189,189,189)} | |
| .Greys .q4-9{fill:rgb(150,150,150)} | |
| .Greys .q5-9{fill:rgb(115,115,115)} | |
| .Greys .q6-9{fill:rgb(82,82,82)} | |
| .Greys .q7-9{fill:rgb(37,37,37)} | |
| .Greys .q8-9{fill:rgb(0,0,0)} | |
| .PuOr .q0-3{fill:rgb(241,163,64)} | |
| .PuOr .q1-3{fill:rgb(247,247,247)} | |
| .PuOr .q2-3{fill:rgb(153,142,195)} | |
| .PuOr .q0-4{fill:rgb(230,97,1)} | |
| .PuOr .q1-4{fill:rgb(253,184,99)} | |
| .PuOr .q2-4{fill:rgb(178,171,210)} | |
| .PuOr .q3-4{fill:rgb(94,60,153)} | |
| .PuOr .q0-5{fill:rgb(230,97,1)} | |
| .PuOr .q1-5{fill:rgb(253,184,99)} | |
| .PuOr .q2-5{fill:rgb(247,247,247)} | |
| .PuOr .q3-5{fill:rgb(178,171,210)} | |
| .PuOr .q4-5{fill:rgb(94,60,153)} | |
| .PuOr .q0-6{fill:rgb(179,88,6)} | |
| .PuOr .q1-6{fill:rgb(241,163,64)} | |
| .PuOr .q2-6{fill:rgb(254,224,182)} | |
| .PuOr .q3-6{fill:rgb(216,218,235)} | |
| .PuOr .q4-6{fill:rgb(153,142,195)} | |
| .PuOr .q5-6{fill:rgb(84,39,136)} | |
| .PuOr .q0-7{fill:rgb(179,88,6)} | |
| .PuOr .q1-7{fill:rgb(241,163,64)} | |
| .PuOr .q2-7{fill:rgb(254,224,182)} | |
| .PuOr .q3-7{fill:rgb(247,247,247)} | |
| .PuOr .q4-7{fill:rgb(216,218,235)} | |
| .PuOr .q5-7{fill:rgb(153,142,195)} | |
| .PuOr .q6-7{fill:rgb(84,39,136)} | |
| .PuOr .q0-8{fill:rgb(179,88,6)} | |
| .PuOr .q1-8{fill:rgb(224,130,20)} | |
| .PuOr .q2-8{fill:rgb(253,184,99)} | |
| .PuOr .q3-8{fill:rgb(254,224,182)} | |
| .PuOr .q4-8{fill:rgb(216,218,235)} | |
| .PuOr .q5-8{fill:rgb(178,171,210)} | |
| .PuOr .q6-8{fill:rgb(128,115,172)} | |
| .PuOr .q7-8{fill:rgb(84,39,136)} | |
| .PuOr .q0-9{fill:rgb(179,88,6)} | |
| .PuOr .q1-9{fill:rgb(224,130,20)} | |
| .PuOr .q2-9{fill:rgb(253,184,99)} | |
| .PuOr .q3-9{fill:rgb(254,224,182)} | |
| .PuOr .q4-9{fill:rgb(247,247,247)} | |
| .PuOr .q5-9{fill:rgb(216,218,235)} | |
| .PuOr .q6-9{fill:rgb(178,171,210)} | |
| .PuOr .q7-9{fill:rgb(128,115,172)} | |
| .PuOr .q8-9{fill:rgb(84,39,136)} | |
| .PuOr .q0-10{fill:rgb(127,59,8)} | |
| .PuOr .q1-10{fill:rgb(179,88,6)} | |
| .PuOr .q2-10{fill:rgb(224,130,20)} | |
| .PuOr .q3-10{fill:rgb(253,184,99)} | |
| .PuOr .q4-10{fill:rgb(254,224,182)} | |
| .PuOr .q5-10{fill:rgb(216,218,235)} | |
| .PuOr .q6-10{fill:rgb(178,171,210)} | |
| .PuOr .q7-10{fill:rgb(128,115,172)} | |
| .PuOr .q8-10{fill:rgb(84,39,136)} | |
| .PuOr .q9-10{fill:rgb(45,0,75)} | |
| .PuOr .q0-11{fill:rgb(127,59,8)} | |
| .PuOr .q1-11{fill:rgb(179,88,6)} | |
| .PuOr .q2-11{fill:rgb(224,130,20)} | |
| .PuOr .q3-11{fill:rgb(253,184,99)} | |
| .PuOr .q4-11{fill:rgb(254,224,182)} | |
| .PuOr .q5-11{fill:rgb(247,247,247)} | |
| .PuOr .q6-11{fill:rgb(216,218,235)} | |
| .PuOr .q7-11{fill:rgb(178,171,210)} | |
| .PuOr .q8-11{fill:rgb(128,115,172)} | |
| .PuOr .q9-11{fill:rgb(84,39,136)} | |
| .PuOr .q10-11{fill:rgb(45,0,75)} | |
| .BrBG .q0-3{fill:rgb(216,179,101)} | |
| .BrBG .q1-3{fill:rgb(245,245,245)} | |
| .BrBG .q2-3{fill:rgb(90,180,172)} | |
| .BrBG .q0-4{fill:rgb(166,97,26)} | |
| .BrBG .q1-4{fill:rgb(223,194,125)} | |
| .BrBG .q2-4{fill:rgb(128,205,193)} | |
| .BrBG .q3-4{fill:rgb(1,133,113)} | |
| .BrBG .q0-5{fill:rgb(166,97,26)} | |
| .BrBG .q1-5{fill:rgb(223,194,125)} | |
| .BrBG .q2-5{fill:rgb(245,245,245)} | |
| .BrBG .q3-5{fill:rgb(128,205,193)} | |
| .BrBG .q4-5{fill:rgb(1,133,113)} | |
| .BrBG .q0-6{fill:rgb(140,81,10)} | |
| .BrBG .q1-6{fill:rgb(216,179,101)} | |
| .BrBG .q2-6{fill:rgb(246,232,195)} | |
| .BrBG .q3-6{fill:rgb(199,234,229)} | |
| .BrBG .q4-6{fill:rgb(90,180,172)} | |
| .BrBG .q5-6{fill:rgb(1,102,94)} | |
| .BrBG .q0-7{fill:rgb(140,81,10)} | |
| .BrBG .q1-7{fill:rgb(216,179,101)} | |
| .BrBG .q2-7{fill:rgb(246,232,195)} | |
| .BrBG .q3-7{fill:rgb(245,245,245)} | |
| .BrBG .q4-7{fill:rgb(199,234,229)} | |
| .BrBG .q5-7{fill:rgb(90,180,172)} | |
| .BrBG .q6-7{fill:rgb(1,102,94)} | |
| .BrBG .q0-8{fill:rgb(140,81,10)} | |
| .BrBG .q1-8{fill:rgb(191,129,45)} | |
| .BrBG .q2-8{fill:rgb(223,194,125)} | |
| .BrBG .q3-8{fill:rgb(246,232,195)} | |
| .BrBG .q4-8{fill:rgb(199,234,229)} | |
| .BrBG .q5-8{fill:rgb(128,205,193)} | |
| .BrBG .q6-8{fill:rgb(53,151,143)} | |
| .BrBG .q7-8{fill:rgb(1,102,94)} | |
| .BrBG .q0-9{fill:rgb(140,81,10)} | |
| .BrBG .q1-9{fill:rgb(191,129,45)} | |
| .BrBG .q2-9{fill:rgb(223,194,125)} | |
| .BrBG .q3-9{fill:rgb(246,232,195)} | |
| .BrBG .q4-9{fill:rgb(245,245,245)} | |
| .BrBG .q5-9{fill:rgb(199,234,229)} | |
| .BrBG .q6-9{fill:rgb(128,205,193)} | |
| .BrBG .q7-9{fill:rgb(53,151,143)} | |
| .BrBG .q8-9{fill:rgb(1,102,94)} | |
| .BrBG .q0-10{fill:rgb(84,48,5)} | |
| .BrBG .q1-10{fill:rgb(140,81,10)} | |
| .BrBG .q2-10{fill:rgb(191,129,45)} | |
| .BrBG .q3-10{fill:rgb(223,194,125)} | |
| .BrBG .q4-10{fill:rgb(246,232,195)} | |
| .BrBG .q5-10{fill:rgb(199,234,229)} | |
| .BrBG .q6-10{fill:rgb(128,205,193)} | |
| .BrBG .q7-10{fill:rgb(53,151,143)} | |
| .BrBG .q8-10{fill:rgb(1,102,94)} | |
| .BrBG .q9-10{fill:rgb(0,60,48)} | |
| .BrBG .q0-11{fill:rgb(84,48,5)} | |
| .BrBG .q1-11{fill:rgb(140,81,10)} | |
| .BrBG .q2-11{fill:rgb(191,129,45)} | |
| .BrBG .q3-11{fill:rgb(223,194,125)} | |
| .BrBG .q4-11{fill:rgb(246,232,195)} | |
| .BrBG .q5-11{fill:rgb(245,245,245)} | |
| .BrBG .q6-11{fill:rgb(199,234,229)} | |
| .BrBG .q7-11{fill:rgb(128,205,193)} | |
| .BrBG .q8-11{fill:rgb(53,151,143)} | |
| .BrBG .q9-11{fill:rgb(1,102,94)} | |
| .BrBG .q10-11{fill:rgb(0,60,48)} | |
| .PRGn .q0-3{fill:rgb(175,141,195)} | |
| .PRGn .q1-3{fill:rgb(247,247,247)} | |
| .PRGn .q2-3{fill:rgb(127,191,123)} | |
| .PRGn .q0-4{fill:rgb(123,50,148)} | |
| .PRGn .q1-4{fill:rgb(194,165,207)} | |
| .PRGn .q2-4{fill:rgb(166,219,160)} | |
| .PRGn .q3-4{fill:rgb(0,136,55)} | |
| .PRGn .q0-5{fill:rgb(123,50,148)} | |
| .PRGn .q1-5{fill:rgb(194,165,207)} | |
| .PRGn .q2-5{fill:rgb(247,247,247)} | |
| .PRGn .q3-5{fill:rgb(166,219,160)} | |
| .PRGn .q4-5{fill:rgb(0,136,55)} | |
| .PRGn .q0-6{fill:rgb(118,42,131)} | |
| .PRGn .q1-6{fill:rgb(175,141,195)} | |
| .PRGn .q2-6{fill:rgb(231,212,232)} | |
| .PRGn .q3-6{fill:rgb(217,240,211)} | |
| .PRGn .q4-6{fill:rgb(127,191,123)} | |
| .PRGn .q5-6{fill:rgb(27,120,55)} | |
| .PRGn .q0-7{fill:rgb(118,42,131)} | |
| .PRGn .q1-7{fill:rgb(175,141,195)} | |
| .PRGn .q2-7{fill:rgb(231,212,232)} | |
| .PRGn .q3-7{fill:rgb(247,247,247)} | |
| .PRGn .q4-7{fill:rgb(217,240,211)} | |
| .PRGn .q5-7{fill:rgb(127,191,123)} | |
| .PRGn .q6-7{fill:rgb(27,120,55)} | |
| .PRGn .q0-8{fill:rgb(118,42,131)} | |
| .PRGn .q1-8{fill:rgb(153,112,171)} | |
| .PRGn .q2-8{fill:rgb(194,165,207)} | |
| .PRGn .q3-8{fill:rgb(231,212,232)} | |
| .PRGn .q4-8{fill:rgb(217,240,211)} | |
| .PRGn .q5-8{fill:rgb(166,219,160)} | |
| .PRGn .q6-8{fill:rgb(90,174,97)} | |
| .PRGn .q7-8{fill:rgb(27,120,55)} | |
| .PRGn .q0-9{fill:rgb(118,42,131)} | |
| .PRGn .q1-9{fill:rgb(153,112,171)} | |
| .PRGn .q2-9{fill:rgb(194,165,207)} | |
| .PRGn .q3-9{fill:rgb(231,212,232)} | |
| .PRGn .q4-9{fill:rgb(247,247,247)} | |
| .PRGn .q5-9{fill:rgb(217,240,211)} | |
| .PRGn .q6-9{fill:rgb(166,219,160)} | |
| .PRGn .q7-9{fill:rgb(90,174,97)} | |
| .PRGn .q8-9{fill:rgb(27,120,55)} | |
| .PRGn .q0-10{fill:rgb(64,0,75)} | |
| .PRGn .q1-10{fill:rgb(118,42,131)} | |
| .PRGn .q2-10{fill:rgb(153,112,171)} | |
| .PRGn .q3-10{fill:rgb(194,165,207)} | |
| .PRGn .q4-10{fill:rgb(231,212,232)} | |
| .PRGn .q5-10{fill:rgb(217,240,211)} | |
| .PRGn .q6-10{fill:rgb(166,219,160)} | |
| .PRGn .q7-10{fill:rgb(90,174,97)} | |
| .PRGn .q8-10{fill:rgb(27,120,55)} | |
| .PRGn .q9-10{fill:rgb(0,68,27)} | |
| .PRGn .q0-11{fill:rgb(64,0,75)} | |
| .PRGn .q1-11{fill:rgb(118,42,131)} | |
| .PRGn .q2-11{fill:rgb(153,112,171)} | |
| .PRGn .q3-11{fill:rgb(194,165,207)} | |
| .PRGn .q4-11{fill:rgb(231,212,232)} | |
| .PRGn .q5-11{fill:rgb(247,247,247)} | |
| .PRGn .q6-11{fill:rgb(217,240,211)} | |
| .PRGn .q7-11{fill:rgb(166,219,160)} | |
| .PRGn .q8-11{fill:rgb(90,174,97)} | |
| .PRGn .q9-11{fill:rgb(27,120,55)} | |
| .PRGn .q10-11{fill:rgb(0,68,27)} | |
| .PiYG .q0-3{fill:rgb(233,163,201)} | |
| .PiYG .q1-3{fill:rgb(247,247,247)} | |
| .PiYG .q2-3{fill:rgb(161,215,106)} | |
| .PiYG .q0-4{fill:rgb(208,28,139)} | |
| .PiYG .q1-4{fill:rgb(241,182,218)} | |
| .PiYG .q2-4{fill:rgb(184,225,134)} | |
| .PiYG .q3-4{fill:rgb(77,172,38)} | |
| .PiYG .q0-5{fill:rgb(208,28,139)} | |
| .PiYG .q1-5{fill:rgb(241,182,218)} | |
| .PiYG .q2-5{fill:rgb(247,247,247)} | |
| .PiYG .q3-5{fill:rgb(184,225,134)} | |
| .PiYG .q4-5{fill:rgb(77,172,38)} | |
| .PiYG .q0-6{fill:rgb(197,27,125)} | |
| .PiYG .q1-6{fill:rgb(233,163,201)} | |
| .PiYG .q2-6{fill:rgb(253,224,239)} | |
| .PiYG .q3-6{fill:rgb(230,245,208)} | |
| .PiYG .q4-6{fill:rgb(161,215,106)} | |
| .PiYG .q5-6{fill:rgb(77,146,33)} | |
| .PiYG .q0-7{fill:rgb(197,27,125)} | |
| .PiYG .q1-7{fill:rgb(233,163,201)} | |
| .PiYG .q2-7{fill:rgb(253,224,239)} | |
| .PiYG .q3-7{fill:rgb(247,247,247)} | |
| .PiYG .q4-7{fill:rgb(230,245,208)} | |
| .PiYG .q5-7{fill:rgb(161,215,106)} | |
| .PiYG .q6-7{fill:rgb(77,146,33)} | |
| .PiYG .q0-8{fill:rgb(197,27,125)} | |
| .PiYG .q1-8{fill:rgb(222,119,174)} | |
| .PiYG .q2-8{fill:rgb(241,182,218)} | |
| .PiYG .q3-8{fill:rgb(253,224,239)} | |
| .PiYG .q4-8{fill:rgb(230,245,208)} | |
| .PiYG .q5-8{fill:rgb(184,225,134)} | |
| .PiYG .q6-8{fill:rgb(127,188,65)} | |
| .PiYG .q7-8{fill:rgb(77,146,33)} | |
| .PiYG .q0-9{fill:rgb(197,27,125)} | |
| .PiYG .q1-9{fill:rgb(222,119,174)} | |
| .PiYG .q2-9{fill:rgb(241,182,218)} | |
| .PiYG .q3-9{fill:rgb(253,224,239)} | |
| .PiYG .q4-9{fill:rgb(247,247,247)} | |
| .PiYG .q5-9{fill:rgb(230,245,208)} | |
| .PiYG .q6-9{fill:rgb(184,225,134)} | |
| .PiYG .q7-9{fill:rgb(127,188,65)} | |
| .PiYG .q8-9{fill:rgb(77,146,33)} | |
| .PiYG .q0-10{fill:rgb(142,1,82)} | |
| .PiYG .q1-10{fill:rgb(197,27,125)} | |
| .PiYG .q2-10{fill:rgb(222,119,174)} | |
| .PiYG .q3-10{fill:rgb(241,182,218)} | |
| .PiYG .q4-10{fill:rgb(253,224,239)} | |
| .PiYG .q5-10{fill:rgb(230,245,208)} | |
| .PiYG .q6-10{fill:rgb(184,225,134)} | |
| .PiYG .q7-10{fill:rgb(127,188,65)} | |
| .PiYG .q8-10{fill:rgb(77,146,33)} | |
| .PiYG .q9-10{fill:rgb(39,100,25)} | |
| .PiYG .q0-11{fill:rgb(142,1,82)} | |
| .PiYG .q1-11{fill:rgb(197,27,125)} | |
| .PiYG .q2-11{fill:rgb(222,119,174)} | |
| .PiYG .q3-11{fill:rgb(241,182,218)} | |
| .PiYG .q4-11{fill:rgb(253,224,239)} | |
| .PiYG .q5-11{fill:rgb(247,247,247)} | |
| .PiYG .q6-11{fill:rgb(230,245,208)} | |
| .PiYG .q7-11{fill:rgb(184,225,134)} | |
| .PiYG .q8-11{fill:rgb(127,188,65)} | |
| .PiYG .q9-11{fill:rgb(77,146,33)} | |
| .PiYG .q10-11{fill:rgb(39,100,25)} | |
| .RdBu .q0-3{fill:rgb(239,138,98)} | |
| .RdBu .q1-3{fill:rgb(247,247,247)} | |
| .RdBu .q2-3{fill:rgb(103,169,207)} | |
| .RdBu .q0-4{fill:rgb(202,0,32)} | |
| .RdBu .q1-4{fill:rgb(244,165,130)} | |
| .RdBu .q2-4{fill:rgb(146,197,222)} | |
| .RdBu .q3-4{fill:rgb(5,113,176)} | |
| .RdBu .q0-5{fill:rgb(202,0,32)} | |
| .RdBu .q1-5{fill:rgb(244,165,130)} | |
| .RdBu .q2-5{fill:rgb(247,247,247)} | |
| .RdBu .q3-5{fill:rgb(146,197,222)} | |
| .RdBu .q4-5{fill:rgb(5,113,176)} | |
| .RdBu .q0-6{fill:rgb(178,24,43)} | |
| .RdBu .q1-6{fill:rgb(239,138,98)} | |
| .RdBu .q2-6{fill:rgb(253,219,199)} | |
| .RdBu .q3-6{fill:rgb(209,229,240)} | |
| .RdBu .q4-6{fill:rgb(103,169,207)} | |
| .RdBu .q5-6{fill:rgb(33,102,172)} | |
| .RdBu .q0-7{fill:rgb(178,24,43)} | |
| .RdBu .q1-7{fill:rgb(239,138,98)} | |
| .RdBu .q2-7{fill:rgb(253,219,199)} | |
| .RdBu .q3-7{fill:rgb(247,247,247)} | |
| .RdBu .q4-7{fill:rgb(209,229,240)} | |
| .RdBu .q5-7{fill:rgb(103,169,207)} | |
| .RdBu .q6-7{fill:rgb(33,102,172)} | |
| .RdBu .q0-8{fill:rgb(178,24,43)} | |
| .RdBu .q1-8{fill:rgb(214,96,77)} | |
| .RdBu .q2-8{fill:rgb(244,165,130)} | |
| .RdBu .q3-8{fill:rgb(253,219,199)} | |
| .RdBu .q4-8{fill:rgb(209,229,240)} | |
| .RdBu .q5-8{fill:rgb(146,197,222)} | |
| .RdBu .q6-8{fill:rgb(67,147,195)} | |
| .RdBu .q7-8{fill:rgb(33,102,172)} | |
| .RdBu .q0-9{fill:rgb(178,24,43)} | |
| .RdBu .q1-9{fill:rgb(214,96,77)} | |
| .RdBu .q2-9{fill:rgb(244,165,130)} | |
| .RdBu .q3-9{fill:rgb(253,219,199)} | |
| .RdBu .q4-9{fill:rgb(247,247,247)} | |
| .RdBu .q5-9{fill:rgb(209,229,240)} | |
| .RdBu .q6-9{fill:rgb(146,197,222)} | |
| .RdBu .q7-9{fill:rgb(67,147,195)} | |
| .RdBu .q8-9{fill:rgb(33,102,172)} | |
| .RdBu .q0-10{fill:rgb(103,0,31)} | |
| .RdBu .q1-10{fill:rgb(178,24,43)} | |
| .RdBu .q2-10{fill:rgb(214,96,77)} | |
| .RdBu .q3-10{fill:rgb(244,165,130)} | |
| .RdBu .q4-10{fill:rgb(253,219,199)} | |
| .RdBu .q5-10{fill:rgb(209,229,240)} | |
| .RdBu .q6-10{fill:rgb(146,197,222)} | |
| .RdBu .q7-10{fill:rgb(67,147,195)} | |
| .RdBu .q8-10{fill:rgb(33,102,172)} | |
| .RdBu .q9-10{fill:rgb(5,48,97)} | |
| .RdBu .q0-11{fill:rgb(103,0,31)} | |
| .RdBu .q1-11{fill:rgb(178,24,43)} | |
| .RdBu .q2-11{fill:rgb(214,96,77)} | |
| .RdBu .q3-11{fill:rgb(244,165,130)} | |
| .RdBu .q4-11{fill:rgb(253,219,199)} | |
| .RdBu .q5-11{fill:rgb(247,247,247)} | |
| .RdBu .q6-11{fill:rgb(209,229,240)} | |
| .RdBu .q7-11{fill:rgb(146,197,222)} | |
| .RdBu .q8-11{fill:rgb(67,147,195)} | |
| .RdBu .q9-11{fill:rgb(33,102,172)} | |
| .RdBu .q10-11{fill:rgb(5,48,97)} | |
| .RdGy .q0-3{fill:rgb(239,138,98)} | |
| .RdGy .q1-3{fill:rgb(255,255,255)} | |
| .RdGy .q2-3{fill:rgb(153,153,153)} | |
| .RdGy .q0-4{fill:rgb(202,0,32)} | |
| .RdGy .q1-4{fill:rgb(244,165,130)} | |
| .RdGy .q2-4{fill:rgb(186,186,186)} | |
| .RdGy .q3-4{fill:rgb(64,64,64)} | |
| .RdGy .q0-5{fill:rgb(202,0,32)} | |
| .RdGy .q1-5{fill:rgb(244,165,130)} | |
| .RdGy .q2-5{fill:rgb(255,255,255)} | |
| .RdGy .q3-5{fill:rgb(186,186,186)} | |
| .RdGy .q4-5{fill:rgb(64,64,64)} | |
| .RdGy .q0-6{fill:rgb(178,24,43)} | |
| .RdGy .q1-6{fill:rgb(239,138,98)} | |
| .RdGy .q2-6{fill:rgb(253,219,199)} | |
| .RdGy .q3-6{fill:rgb(224,224,224)} | |
| .RdGy .q4-6{fill:rgb(153,153,153)} | |
| .RdGy .q5-6{fill:rgb(77,77,77)} | |
| .RdGy .q0-7{fill:rgb(178,24,43)} | |
| .RdGy .q1-7{fill:rgb(239,138,98)} | |
| .RdGy .q2-7{fill:rgb(253,219,199)} | |
| .RdGy .q3-7{fill:rgb(255,255,255)} | |
| .RdGy .q4-7{fill:rgb(224,224,224)} | |
| .RdGy .q5-7{fill:rgb(153,153,153)} | |
| .RdGy .q6-7{fill:rgb(77,77,77)} | |
| .RdGy .q0-8{fill:rgb(178,24,43)} | |
| .RdGy .q1-8{fill:rgb(214,96,77)} | |
| .RdGy .q2-8{fill:rgb(244,165,130)} | |
| .RdGy .q3-8{fill:rgb(253,219,199)} | |
| .RdGy .q4-8{fill:rgb(224,224,224)} | |
| .RdGy .q5-8{fill:rgb(186,186,186)} | |
| .RdGy .q6-8{fill:rgb(135,135,135)} | |
| .RdGy .q7-8{fill:rgb(77,77,77)} | |
| .RdGy .q0-9{fill:rgb(178,24,43)} | |
| .RdGy .q1-9{fill:rgb(214,96,77)} | |
| .RdGy .q2-9{fill:rgb(244,165,130)} | |
| .RdGy .q3-9{fill:rgb(253,219,199)} | |
| .RdGy .q4-9{fill:rgb(255,255,255)} | |
| .RdGy .q5-9{fill:rgb(224,224,224)} | |
| .RdGy .q6-9{fill:rgb(186,186,186)} | |
| .RdGy .q7-9{fill:rgb(135,135,135)} | |
| .RdGy .q8-9{fill:rgb(77,77,77)} | |
| .RdGy .q0-10{fill:rgb(103,0,31)} | |
| .RdGy .q1-10{fill:rgb(178,24,43)} | |
| .RdGy .q2-10{fill:rgb(214,96,77)} | |
| .RdGy .q3-10{fill:rgb(244,165,130)} | |
| .RdGy .q4-10{fill:rgb(253,219,199)} | |
| .RdGy .q5-10{fill:rgb(224,224,224)} | |
| .RdGy .q6-10{fill:rgb(186,186,186)} | |
| .RdGy .q7-10{fill:rgb(135,135,135)} | |
| .RdGy .q8-10{fill:rgb(77,77,77)} | |
| .RdGy .q9-10{fill:rgb(26,26,26)} | |
| .RdGy .q0-11{fill:rgb(103,0,31)} | |
| .RdGy .q1-11{fill:rgb(178,24,43)} | |
| .RdGy .q2-11{fill:rgb(214,96,77)} | |
| .RdGy .q3-11{fill:rgb(244,165,130)} | |
| .RdGy .q4-11{fill:rgb(253,219,199)} | |
| .RdGy .q5-11{fill:rgb(255,255,255)} | |
| .RdGy .q6-11{fill:rgb(224,224,224)} | |
| .RdGy .q7-11{fill:rgb(186,186,186)} | |
| .RdGy .q8-11{fill:rgb(135,135,135)} | |
| .RdGy .q9-11{fill:rgb(77,77,77)} | |
| .RdGy .q10-11{fill:rgb(26,26,26)} | |
| .RdYlBu .q0-3{fill:rgb(252,141,89)} | |
| .RdYlBu .q1-3{fill:rgb(255,255,191)} | |
| .RdYlBu .q2-3{fill:rgb(145,191,219)} | |
| .RdYlBu .q0-4{fill:rgb(215,25,28)} | |
| .RdYlBu .q1-4{fill:rgb(253,174,97)} | |
| .RdYlBu .q2-4{fill:rgb(171,217,233)} | |
| .RdYlBu .q3-4{fill:rgb(44,123,182)} | |
| .RdYlBu .q0-5{fill:rgb(215,25,28)} | |
| .RdYlBu .q1-5{fill:rgb(253,174,97)} | |
| .RdYlBu .q2-5{fill:rgb(255,255,191)} | |
| .RdYlBu .q3-5{fill:rgb(171,217,233)} | |
| .RdYlBu .q4-5{fill:rgb(44,123,182)} | |
| .RdYlBu .q0-6{fill:rgb(215,48,39)} | |
| .RdYlBu .q1-6{fill:rgb(252,141,89)} | |
| .RdYlBu .q2-6{fill:rgb(254,224,144)} | |
| .RdYlBu .q3-6{fill:rgb(224,243,248)} | |
| .RdYlBu .q4-6{fill:rgb(145,191,219)} | |
| .RdYlBu .q5-6{fill:rgb(69,117,180)} | |
| .RdYlBu .q0-7{fill:rgb(215,48,39)} | |
| .RdYlBu .q1-7{fill:rgb(252,141,89)} | |
| .RdYlBu .q2-7{fill:rgb(254,224,144)} | |
| .RdYlBu .q3-7{fill:rgb(255,255,191)} | |
| .RdYlBu .q4-7{fill:rgb(224,243,248)} | |
| .RdYlBu .q5-7{fill:rgb(145,191,219)} | |
| .RdYlBu .q6-7{fill:rgb(69,117,180)} | |
| .RdYlBu .q0-8{fill:rgb(215,48,39)} | |
| .RdYlBu .q1-8{fill:rgb(244,109,67)} | |
| .RdYlBu .q2-8{fill:rgb(253,174,97)} | |
| .RdYlBu .q3-8{fill:rgb(254,224,144)} | |
| .RdYlBu .q4-8{fill:rgb(224,243,248)} | |
| .RdYlBu .q5-8{fill:rgb(171,217,233)} | |
| .RdYlBu .q6-8{fill:rgb(116,173,209)} | |
| .RdYlBu .q7-8{fill:rgb(69,117,180)} | |
| .RdYlBu .q0-9{fill:rgb(215,48,39)} | |
| .RdYlBu .q1-9{fill:rgb(244,109,67)} | |
| .RdYlBu .q2-9{fill:rgb(253,174,97)} | |
| .RdYlBu .q3-9{fill:rgb(254,224,144)} | |
| .RdYlBu .q4-9{fill:rgb(255,255,191)} | |
| .RdYlBu .q5-9{fill:rgb(224,243,248)} | |
| .RdYlBu .q6-9{fill:rgb(171,217,233)} | |
| .RdYlBu .q7-9{fill:rgb(116,173,209)} | |
| .RdYlBu .q8-9{fill:rgb(69,117,180)} | |
| .RdYlBu .q0-10{fill:rgb(165,0,38)} | |
| .RdYlBu .q1-10{fill:rgb(215,48,39)} | |
| .RdYlBu .q2-10{fill:rgb(244,109,67)} | |
| .RdYlBu .q3-10{fill:rgb(253,174,97)} | |
| .RdYlBu .q4-10{fill:rgb(254,224,144)} | |
| .RdYlBu .q5-10{fill:rgb(224,243,248)} | |
| .RdYlBu .q6-10{fill:rgb(171,217,233)} | |
| .RdYlBu .q7-10{fill:rgb(116,173,209)} | |
| .RdYlBu .q8-10{fill:rgb(69,117,180)} | |
| .RdYlBu .q9-10{fill:rgb(49,54,149)} | |
| .RdYlBu .q0-11{fill:rgb(165,0,38)} | |
| .RdYlBu .q1-11{fill:rgb(215,48,39)} | |
| .RdYlBu .q2-11{fill:rgb(244,109,67)} | |
| .RdYlBu .q3-11{fill:rgb(253,174,97)} | |
| .RdYlBu .q4-11{fill:rgb(254,224,144)} | |
| .RdYlBu .q5-11{fill:rgb(255,255,191)} | |
| .RdYlBu .q6-11{fill:rgb(224,243,248)} | |
| .RdYlBu .q7-11{fill:rgb(171,217,233)} | |
| .RdYlBu .q8-11{fill:rgb(116,173,209)} | |
| .RdYlBu .q9-11{fill:rgb(69,117,180)} | |
| .RdYlBu .q10-11{fill:rgb(49,54,149)} | |
| .Spectral .q0-3{fill:rgb(252,141,89)} | |
| .Spectral .q1-3{fill:rgb(255,255,191)} | |
| .Spectral .q2-3{fill:rgb(153,213,148)} | |
| .Spectral .q0-4{fill:rgb(215,25,28)} | |
| .Spectral .q1-4{fill:rgb(253,174,97)} | |
| .Spectral .q2-4{fill:rgb(171,221,164)} | |
| .Spectral .q3-4{fill:rgb(43,131,186)} | |
| .Spectral .q0-5{fill:rgb(215,25,28)} | |
| .Spectral .q1-5{fill:rgb(253,174,97)} | |
| .Spectral .q2-5{fill:rgb(255,255,191)} | |
| .Spectral .q3-5{fill:rgb(171,221,164)} | |
| .Spectral .q4-5{fill:rgb(43,131,186)} | |
| .Spectral .q0-6{fill:rgb(213,62,79)} | |
| .Spectral .q1-6{fill:rgb(252,141,89)} | |
| .Spectral .q2-6{fill:rgb(254,224,139)} | |
| .Spectral .q3-6{fill:rgb(230,245,152)} | |
| .Spectral .q4-6{fill:rgb(153,213,148)} | |
| .Spectral .q5-6{fill:rgb(50,136,189)} | |
| .Spectral .q0-7{fill:rgb(213,62,79)} | |
| .Spectral .q1-7{fill:rgb(252,141,89)} | |
| .Spectral .q2-7{fill:rgb(254,224,139)} | |
| .Spectral .q3-7{fill:rgb(255,255,191)} | |
| .Spectral .q4-7{fill:rgb(230,245,152)} | |
| .Spectral .q5-7{fill:rgb(153,213,148)} | |
| .Spectral .q6-7{fill:rgb(50,136,189)} | |
| .Spectral .q0-8{fill:rgb(213,62,79)} | |
| .Spectral .q1-8{fill:rgb(244,109,67)} | |
| .Spectral .q2-8{fill:rgb(253,174,97)} | |
| .Spectral .q3-8{fill:rgb(254,224,139)} | |
| .Spectral .q4-8{fill:rgb(230,245,152)} | |
| .Spectral .q5-8{fill:rgb(171,221,164)} | |
| .Spectral .q6-8{fill:rgb(102,194,165)} | |
| .Spectral .q7-8{fill:rgb(50,136,189)} | |
| .Spectral .q0-9{fill:rgb(213,62,79)} | |
| .Spectral .q1-9{fill:rgb(244,109,67)} | |
| .Spectral .q2-9{fill:rgb(253,174,97)} | |
| .Spectral .q3-9{fill:rgb(254,224,139)} | |
| .Spectral .q4-9{fill:rgb(255,255,191)} | |
| .Spectral .q5-9{fill:rgb(230,245,152)} | |
| .Spectral .q6-9{fill:rgb(171,221,164)} | |
| .Spectral .q7-9{fill:rgb(102,194,165)} | |
| .Spectral .q8-9{fill:rgb(50,136,189)} | |
| .Spectral .q0-10{fill:rgb(158,1,66)} | |
| .Spectral .q1-10{fill:rgb(213,62,79)} | |
| .Spectral .q2-10{fill:rgb(244,109,67)} | |
| .Spectral .q3-10{fill:rgb(253,174,97)} | |
| .Spectral .q4-10{fill:rgb(254,224,139)} | |
| .Spectral .q5-10{fill:rgb(230,245,152)} | |
| .Spectral .q6-10{fill:rgb(171,221,164)} | |
| .Spectral .q7-10{fill:rgb(102,194,165)} | |
| .Spectral .q8-10{fill:rgb(50,136,189)} | |
| .Spectral .q9-10{fill:rgb(94,79,162)} | |
| .Spectral .q0-11{fill:rgb(158,1,66)} | |
| .Spectral .q1-11{fill:rgb(213,62,79)} | |
| .Spectral .q2-11{fill:rgb(244,109,67)} | |
| .Spectral .q3-11{fill:rgb(253,174,97)} | |
| .Spectral .q4-11{fill:rgb(254,224,139)} | |
| .Spectral .q5-11{fill:rgb(255,255,191)} | |
| .Spectral .q6-11{fill:rgb(230,245,152)} | |
| .Spectral .q7-11{fill:rgb(171,221,164)} | |
| .Spectral .q8-11{fill:rgb(102,194,165)} | |
| .Spectral .q9-11{fill:rgb(50,136,189)} | |
| .Spectral .q10-11{fill:rgb(94,79,162)} | |
| .RdYlGn .q0-3{fill:rgb(252,141,89)} | |
| .RdYlGn .q1-3{fill:rgb(255,255,191)} | |
| .RdYlGn .q2-3{fill:rgb(145,207,96)} | |
| .RdYlGn .q0-4{fill:rgb(215,25,28)} | |
| .RdYlGn .q1-4{fill:rgb(253,174,97)} | |
| .RdYlGn .q2-4{fill:rgb(166,217,106)} | |
| .RdYlGn .q3-4{fill:rgb(26,150,65)} | |
| .RdYlGn .q0-5{fill:rgb(215,25,28)} | |
| .RdYlGn .q1-5{fill:rgb(253,174,97)} | |
| .RdYlGn .q2-5{fill:rgb(255,255,191)} | |
| .RdYlGn .q3-5{fill:rgb(166,217,106)} | |
| .RdYlGn .q4-5{fill:rgb(26,150,65)} | |
| .RdYlGn .q0-6{fill:rgb(215,48,39)} | |
| .RdYlGn .q1-6{fill:rgb(252,141,89)} | |
| .RdYlGn .q2-6{fill:rgb(254,224,139)} | |
| .RdYlGn .q3-6{fill:rgb(217,239,139)} | |
| .RdYlGn .q4-6{fill:rgb(145,207,96)} | |
| .RdYlGn .q5-6{fill:rgb(26,152,80)} | |
| .RdYlGn .q0-7{fill:rgb(215,48,39)} | |
| .RdYlGn .q1-7{fill:rgb(252,141,89)} | |
| .RdYlGn .q2-7{fill:rgb(254,224,139)} | |
| .RdYlGn .q3-7{fill:rgb(255,255,191)} | |
| .RdYlGn .q4-7{fill:rgb(217,239,139)} | |
| .RdYlGn .q5-7{fill:rgb(145,207,96)} | |
| .RdYlGn .q6-7{fill:rgb(26,152,80)} | |
| .RdYlGn .q0-8{fill:rgb(215,48,39)} | |
| .RdYlGn .q1-8{fill:rgb(244,109,67)} | |
| .RdYlGn .q2-8{fill:rgb(253,174,97)} | |
| .RdYlGn .q3-8{fill:rgb(254,224,139)} | |
| .RdYlGn .q4-8{fill:rgb(217,239,139)} | |
| .RdYlGn .q5-8{fill:rgb(166,217,106)} | |
| .RdYlGn .q6-8{fill:rgb(102,189,99)} | |
| .RdYlGn .q7-8{fill:rgb(26,152,80)} | |
| .RdYlGn .q0-9{fill:rgb(215,48,39)} | |
| .RdYlGn .q1-9{fill:rgb(244,109,67)} | |
| .RdYlGn .q2-9{fill:rgb(253,174,97)} | |
| .RdYlGn .q3-9{fill:rgb(254,224,139)} | |
| .RdYlGn .q4-9{fill:rgb(255,255,191)} | |
| .RdYlGn .q5-9{fill:rgb(217,239,139)} | |
| .RdYlGn .q6-9{fill:rgb(166,217,106)} | |
| .RdYlGn .q7-9{fill:rgb(102,189,99)} | |
| .RdYlGn .q8-9{fill:rgb(26,152,80)} | |
| .RdYlGn .q0-10{fill:rgb(165,0,38)} | |
| .RdYlGn .q1-10{fill:rgb(215,48,39)} | |
| .RdYlGn .q2-10{fill:rgb(244,109,67)} | |
| .RdYlGn .q3-10{fill:rgb(253,174,97)} | |
| .RdYlGn .q4-10{fill:rgb(254,224,139)} | |
| .RdYlGn .q5-10{fill:rgb(217,239,139)} | |
| .RdYlGn .q6-10{fill:rgb(166,217,106)} | |
| .RdYlGn .q7-10{fill:rgb(102,189,99)} | |
| .RdYlGn .q8-10{fill:rgb(26,152,80)} | |
| .RdYlGn .q9-10{fill:rgb(0,104,55)} | |
| .RdYlGn .q0-11{fill:rgb(165,0,38)} | |
| .RdYlGn .q1-11{fill:rgb(215,48,39)} | |
| .RdYlGn .q2-11{fill:rgb(244,109,67)} | |
| .RdYlGn .q3-11{fill:rgb(253,174,97)} | |
| .RdYlGn .q4-11{fill:rgb(254,224,139)} | |
| .RdYlGn .q5-11{fill:rgb(255,255,191)} | |
| .RdYlGn .q6-11{fill:rgb(217,239,139)} | |
| .RdYlGn .q7-11{fill:rgb(166,217,106)} | |
| .RdYlGn .q8-11{fill:rgb(102,189,99)} | |
| .RdYlGn .q9-11{fill:rgb(26,152,80)} | |
| .RdYlGn .q10-11{fill:rgb(0,104,55)} | |
| .Accent .q0-3{fill:rgb(127,201,127)} | |
| .Accent .q1-3{fill:rgb(190,174,212)} | |
| .Accent .q2-3{fill:rgb(253,192,134)} | |
| .Accent .q0-4{fill:rgb(127,201,127)} | |
| .Accent .q1-4{fill:rgb(190,174,212)} | |
| .Accent .q2-4{fill:rgb(253,192,134)} | |
| .Accent .q3-4{fill:rgb(255,255,153)} | |
| .Accent .q0-5{fill:rgb(127,201,127)} | |
| .Accent .q1-5{fill:rgb(190,174,212)} | |
| .Accent .q2-5{fill:rgb(253,192,134)} | |
| .Accent .q3-5{fill:rgb(255,255,153)} | |
| .Accent .q4-5{fill:rgb(56,108,176)} | |
| .Accent .q0-6{fill:rgb(127,201,127)} | |
| .Accent .q1-6{fill:rgb(190,174,212)} | |
| .Accent .q2-6{fill:rgb(253,192,134)} | |
| .Accent .q3-6{fill:rgb(255,255,153)} | |
| .Accent .q4-6{fill:rgb(56,108,176)} | |
| .Accent .q5-6{fill:rgb(240,2,127)} | |
| .Accent .q0-7{fill:rgb(127,201,127)} | |
| .Accent .q1-7{fill:rgb(190,174,212)} | |
| .Accent .q2-7{fill:rgb(253,192,134)} | |
| .Accent .q3-7{fill:rgb(255,255,153)} | |
| .Accent .q4-7{fill:rgb(56,108,176)} | |
| .Accent .q5-7{fill:rgb(240,2,127)} | |
| .Accent .q6-7{fill:rgb(191,91,23)} | |
| .Accent .q0-8{fill:rgb(127,201,127)} | |
| .Accent .q1-8{fill:rgb(190,174,212)} | |
| .Accent .q2-8{fill:rgb(253,192,134)} | |
| .Accent .q3-8{fill:rgb(255,255,153)} | |
| .Accent .q4-8{fill:rgb(56,108,176)} | |
| .Accent .q5-8{fill:rgb(240,2,127)} | |
| .Accent .q6-8{fill:rgb(191,91,23)} | |
| .Accent .q7-8{fill:rgb(102,102,102)} | |
| .Dark2 .q0-3{fill:rgb(27,158,119)} | |
| .Dark2 .q1-3{fill:rgb(217,95,2)} | |
| .Dark2 .q2-3{fill:rgb(117,112,179)} | |
| .Dark2 .q0-4{fill:rgb(27,158,119)} | |
| .Dark2 .q1-4{fill:rgb(217,95,2)} | |
| .Dark2 .q2-4{fill:rgb(117,112,179)} | |
| .Dark2 .q3-4{fill:rgb(231,41,138)} | |
| .Dark2 .q0-5{fill:rgb(27,158,119)} | |
| .Dark2 .q1-5{fill:rgb(217,95,2)} | |
| .Dark2 .q2-5{fill:rgb(117,112,179)} | |
| .Dark2 .q3-5{fill:rgb(231,41,138)} | |
| .Dark2 .q4-5{fill:rgb(102,166,30)} | |
| .Dark2 .q0-6{fill:rgb(27,158,119)} | |
| .Dark2 .q1-6{fill:rgb(217,95,2)} | |
| .Dark2 .q2-6{fill:rgb(117,112,179)} | |
| .Dark2 .q3-6{fill:rgb(231,41,138)} | |
| .Dark2 .q4-6{fill:rgb(102,166,30)} | |
| .Dark2 .q5-6{fill:rgb(230,171,2)} | |
| .Dark2 .q0-7{fill:rgb(27,158,119)} | |
| .Dark2 .q1-7{fill:rgb(217,95,2)} | |
| .Dark2 .q2-7{fill:rgb(117,112,179)} | |
| .Dark2 .q3-7{fill:rgb(231,41,138)} | |
| .Dark2 .q4-7{fill:rgb(102,166,30)} | |
| .Dark2 .q5-7{fill:rgb(230,171,2)} | |
| .Dark2 .q6-7{fill:rgb(166,118,29)} | |
| .Dark2 .q0-8{fill:rgb(27,158,119)} | |
| .Dark2 .q1-8{fill:rgb(217,95,2)} | |
| .Dark2 .q2-8{fill:rgb(117,112,179)} | |
| .Dark2 .q3-8{fill:rgb(231,41,138)} | |
| .Dark2 .q4-8{fill:rgb(102,166,30)} | |
| .Dark2 .q5-8{fill:rgb(230,171,2)} | |
| .Dark2 .q6-8{fill:rgb(166,118,29)} | |
| .Dark2 .q7-8{fill:rgb(102,102,102)} | |
| .Paired .q0-3{fill:rgb(166,206,227)} | |
| .Paired .q1-3{fill:rgb(31,120,180)} | |
| .Paired .q2-3{fill:rgb(178,223,138)} | |
| .Paired .q0-4{fill:rgb(166,206,227)} | |
| .Paired .q1-4{fill:rgb(31,120,180)} | |
| .Paired .q2-4{fill:rgb(178,223,138)} | |
| .Paired .q3-4{fill:rgb(51,160,44)} | |
| .Paired .q0-5{fill:rgb(166,206,227)} | |
| .Paired .q1-5{fill:rgb(31,120,180)} | |
| .Paired .q2-5{fill:rgb(178,223,138)} | |
| .Paired .q3-5{fill:rgb(51,160,44)} | |
| .Paired .q4-5{fill:rgb(251,154,153)} | |
| .Paired .q0-6{fill:rgb(166,206,227)} | |
| .Paired .q1-6{fill:rgb(31,120,180)} | |
| .Paired .q2-6{fill:rgb(178,223,138)} | |
| .Paired .q3-6{fill:rgb(51,160,44)} | |
| .Paired .q4-6{fill:rgb(251,154,153)} | |
| .Paired .q5-6{fill:rgb(227,26,28)} | |
| .Paired .q0-7{fill:rgb(166,206,227)} | |
| .Paired .q1-7{fill:rgb(31,120,180)} | |
| .Paired .q2-7{fill:rgb(178,223,138)} | |
| .Paired .q3-7{fill:rgb(51,160,44)} | |
| .Paired .q4-7{fill:rgb(251,154,153)} | |
| .Paired .q5-7{fill:rgb(227,26,28)} | |
| .Paired .q6-7{fill:rgb(253,191,111)} | |
| .Paired .q0-8{fill:rgb(166,206,227)} | |
| .Paired .q1-8{fill:rgb(31,120,180)} | |
| .Paired .q2-8{fill:rgb(178,223,138)} | |
| .Paired .q3-8{fill:rgb(51,160,44)} | |
| .Paired .q4-8{fill:rgb(251,154,153)} | |
| .Paired .q5-8{fill:rgb(227,26,28)} | |
| .Paired .q6-8{fill:rgb(253,191,111)} | |
| .Paired .q7-8{fill:rgb(255,127,0)} | |
| .Paired .q0-9{fill:rgb(166,206,227)} | |
| .Paired .q1-9{fill:rgb(31,120,180)} | |
| .Paired .q2-9{fill:rgb(178,223,138)} | |
| .Paired .q3-9{fill:rgb(51,160,44)} | |
| .Paired .q4-9{fill:rgb(251,154,153)} | |
| .Paired .q5-9{fill:rgb(227,26,28)} | |
| .Paired .q6-9{fill:rgb(253,191,111)} | |
| .Paired .q7-9{fill:rgb(255,127,0)} | |
| .Paired .q8-9{fill:rgb(202,178,214)} | |
| .Paired .q0-10{fill:rgb(166,206,227)} | |
| .Paired .q1-10{fill:rgb(31,120,180)} | |
| .Paired .q2-10{fill:rgb(178,223,138)} | |
| .Paired .q3-10{fill:rgb(51,160,44)} | |
| .Paired .q4-10{fill:rgb(251,154,153)} | |
| .Paired .q5-10{fill:rgb(227,26,28)} | |
| .Paired .q6-10{fill:rgb(253,191,111)} | |
| .Paired .q7-10{fill:rgb(255,127,0)} | |
| .Paired .q8-10{fill:rgb(202,178,214)} | |
| .Paired .q9-10{fill:rgb(106,61,154)} | |
| .Paired .q0-11{fill:rgb(166,206,227)} | |
| .Paired .q1-11{fill:rgb(31,120,180)} | |
| .Paired .q2-11{fill:rgb(178,223,138)} | |
| .Paired .q3-11{fill:rgb(51,160,44)} | |
| .Paired .q4-11{fill:rgb(251,154,153)} | |
| .Paired .q5-11{fill:rgb(227,26,28)} | |
| .Paired .q6-11{fill:rgb(253,191,111)} | |
| .Paired .q7-11{fill:rgb(255,127,0)} | |
| .Paired .q8-11{fill:rgb(202,178,214)} | |
| .Paired .q9-11{fill:rgb(106,61,154)} | |
| .Paired .q10-11{fill:rgb(255,255,153)} | |
| .Paired .q0-12{fill:rgb(166,206,227)} | |
| .Paired .q1-12{fill:rgb(31,120,180)} | |
| .Paired .q2-12{fill:rgb(178,223,138)} | |
| .Paired .q3-12{fill:rgb(51,160,44)} | |
| .Paired .q4-12{fill:rgb(251,154,153)} | |
| .Paired .q5-12{fill:rgb(227,26,28)} | |
| .Paired .q6-12{fill:rgb(253,191,111)} | |
| .Paired .q7-12{fill:rgb(255,127,0)} | |
| .Paired .q8-12{fill:rgb(202,178,214)} | |
| .Paired .q9-12{fill:rgb(106,61,154)} | |
| .Paired .q10-12{fill:rgb(255,255,153)} | |
| .Paired .q11-12{fill:rgb(177,89,40)} | |
| .Pastel1 .q0-3{fill:rgb(251,180,174)} | |
| .Pastel1 .q1-3{fill:rgb(179,205,227)} | |
| .Pastel1 .q2-3{fill:rgb(204,235,197)} | |
| .Pastel1 .q0-4{fill:rgb(251,180,174)} | |
| .Pastel1 .q1-4{fill:rgb(179,205,227)} | |
| .Pastel1 .q2-4{fill:rgb(204,235,197)} | |
| .Pastel1 .q3-4{fill:rgb(222,203,228)} | |
| .Pastel1 .q0-5{fill:rgb(251,180,174)} | |
| .Pastel1 .q1-5{fill:rgb(179,205,227)} | |
| .Pastel1 .q2-5{fill:rgb(204,235,197)} | |
| .Pastel1 .q3-5{fill:rgb(222,203,228)} | |
| .Pastel1 .q4-5{fill:rgb(254,217,166)} | |
| .Pastel1 .q0-6{fill:rgb(251,180,174)} | |
| .Pastel1 .q1-6{fill:rgb(179,205,227)} | |
| .Pastel1 .q2-6{fill:rgb(204,235,197)} | |
| .Pastel1 .q3-6{fill:rgb(222,203,228)} | |
| .Pastel1 .q4-6{fill:rgb(254,217,166)} | |
| .Pastel1 .q5-6{fill:rgb(255,255,204)} | |
| .Pastel1 .q0-7{fill:rgb(251,180,174)} | |
| .Pastel1 .q1-7{fill:rgb(179,205,227)} | |
| .Pastel1 .q2-7{fill:rgb(204,235,197)} | |
| .Pastel1 .q3-7{fill:rgb(222,203,228)} | |
| .Pastel1 .q4-7{fill:rgb(254,217,166)} | |
| .Pastel1 .q5-7{fill:rgb(255,255,204)} | |
| .Pastel1 .q6-7{fill:rgb(229,216,189)} | |
| .Pastel1 .q0-8{fill:rgb(251,180,174)} | |
| .Pastel1 .q1-8{fill:rgb(179,205,227)} | |
| .Pastel1 .q2-8{fill:rgb(204,235,197)} | |
| .Pastel1 .q3-8{fill:rgb(222,203,228)} | |
| .Pastel1 .q4-8{fill:rgb(254,217,166)} | |
| .Pastel1 .q5-8{fill:rgb(255,255,204)} | |
| .Pastel1 .q6-8{fill:rgb(229,216,189)} | |
| .Pastel1 .q7-8{fill:rgb(253,218,236)} | |
| .Pastel1 .q0-9{fill:rgb(251,180,174)} | |
| .Pastel1 .q1-9{fill:rgb(179,205,227)} | |
| .Pastel1 .q2-9{fill:rgb(204,235,197)} | |
| .Pastel1 .q3-9{fill:rgb(222,203,228)} | |
| .Pastel1 .q4-9{fill:rgb(254,217,166)} | |
| .Pastel1 .q5-9{fill:rgb(255,255,204)} | |
| .Pastel1 .q6-9{fill:rgb(229,216,189)} | |
| .Pastel1 .q7-9{fill:rgb(253,218,236)} | |
| .Pastel1 .q8-9{fill:rgb(242,242,242)} | |
| .Pastel2 .q0-3{fill:rgb(179,226,205)} | |
| .Pastel2 .q1-3{fill:rgb(253,205,172)} | |
| .Pastel2 .q2-3{fill:rgb(203,213,232)} | |
| .Pastel2 .q0-4{fill:rgb(179,226,205)} | |
| .Pastel2 .q1-4{fill:rgb(253,205,172)} | |
| .Pastel2 .q2-4{fill:rgb(203,213,232)} | |
| .Pastel2 .q3-4{fill:rgb(244,202,228)} | |
| .Pastel2 .q0-5{fill:rgb(179,226,205)} | |
| .Pastel2 .q1-5{fill:rgb(253,205,172)} | |
| .Pastel2 .q2-5{fill:rgb(203,213,232)} | |
| .Pastel2 .q3-5{fill:rgb(244,202,228)} | |
| .Pastel2 .q4-5{fill:rgb(230,245,201)} | |
| .Pastel2 .q0-6{fill:rgb(179,226,205)} | |
| .Pastel2 .q1-6{fill:rgb(253,205,172)} | |
| .Pastel2 .q2-6{fill:rgb(203,213,232)} | |
| .Pastel2 .q3-6{fill:rgb(244,202,228)} | |
| .Pastel2 .q4-6{fill:rgb(230,245,201)} | |
| .Pastel2 .q5-6{fill:rgb(255,242,174)} | |
| .Pastel2 .q0-7{fill:rgb(179,226,205)} | |
| .Pastel2 .q1-7{fill:rgb(253,205,172)} | |
| .Pastel2 .q2-7{fill:rgb(203,213,232)} | |
| .Pastel2 .q3-7{fill:rgb(244,202,228)} | |
| .Pastel2 .q4-7{fill:rgb(230,245,201)} | |
| .Pastel2 .q5-7{fill:rgb(255,242,174)} | |
| .Pastel2 .q6-7{fill:rgb(241,226,204)} | |
| .Pastel2 .q0-8{fill:rgb(179,226,205)} | |
| .Pastel2 .q1-8{fill:rgb(253,205,172)} | |
| .Pastel2 .q2-8{fill:rgb(203,213,232)} | |
| .Pastel2 .q3-8{fill:rgb(244,202,228)} | |
| .Pastel2 .q4-8{fill:rgb(230,245,201)} | |
| .Pastel2 .q5-8{fill:rgb(255,242,174)} | |
| .Pastel2 .q6-8{fill:rgb(241,226,204)} | |
| .Pastel2 .q7-8{fill:rgb(204,204,204)} | |
| .Set1 .q0-3{fill:rgb(228,26,28)} | |
| .Set1 .q1-3{fill:rgb(55,126,184)} | |
| .Set1 .q2-3{fill:rgb(77,175,74)} | |
| .Set1 .q0-4{fill:rgb(228,26,28)} | |
| .Set1 .q1-4{fill:rgb(55,126,184)} | |
| .Set1 .q2-4{fill:rgb(77,175,74)} | |
| .Set1 .q3-4{fill:rgb(152,78,163)} | |
| .Set1 .q0-5{fill:rgb(228,26,28)} | |
| .Set1 .q1-5{fill:rgb(55,126,184)} | |
| .Set1 .q2-5{fill:rgb(77,175,74)} | |
| .Set1 .q3-5{fill:rgb(152,78,163)} | |
| .Set1 .q4-5{fill:rgb(255,127,0)} | |
| .Set1 .q0-6{fill:rgb(228,26,28)} | |
| .Set1 .q1-6{fill:rgb(55,126,184)} | |
| .Set1 .q2-6{fill:rgb(77,175,74)} | |
| .Set1 .q3-6{fill:rgb(152,78,163)} | |
| .Set1 .q4-6{fill:rgb(255,127,0)} | |
| .Set1 .q5-6{fill:rgb(255,255,51)} | |
| .Set1 .q0-7{fill:rgb(228,26,28)} | |
| .Set1 .q1-7{fill:rgb(55,126,184)} | |
| .Set1 .q2-7{fill:rgb(77,175,74)} | |
| .Set1 .q3-7{fill:rgb(152,78,163)} | |
| .Set1 .q4-7{fill:rgb(255,127,0)} | |
| .Set1 .q5-7{fill:rgb(255,255,51)} | |
| .Set1 .q6-7{fill:rgb(166,86,40)} | |
| .Set1 .q0-8{fill:rgb(228,26,28)} | |
| .Set1 .q1-8{fill:rgb(55,126,184)} | |
| .Set1 .q2-8{fill:rgb(77,175,74)} | |
| .Set1 .q3-8{fill:rgb(152,78,163)} | |
| .Set1 .q4-8{fill:rgb(255,127,0)} | |
| .Set1 .q5-8{fill:rgb(255,255,51)} | |
| .Set1 .q6-8{fill:rgb(166,86,40)} | |
| .Set1 .q7-8{fill:rgb(247,129,191)} | |
| .Set1 .q0-9{fill:rgb(228,26,28)} | |
| .Set1 .q1-9{fill:rgb(55,126,184)} | |
| .Set1 .q2-9{fill:rgb(77,175,74)} | |
| .Set1 .q3-9{fill:rgb(152,78,163)} | |
| .Set1 .q4-9{fill:rgb(255,127,0)} | |
| .Set1 .q5-9{fill:rgb(255,255,51)} | |
| .Set1 .q6-9{fill:rgb(166,86,40)} | |
| .Set1 .q7-9{fill:rgb(247,129,191)} | |
| .Set1 .q8-9{fill:rgb(153,153,153)} | |
| .Set2 .q0-3{fill:rgb(102,194,165)} | |
| .Set2 .q1-3{fill:rgb(252,141,98)} | |
| .Set2 .q2-3{fill:rgb(141,160,203)} | |
| .Set2 .q0-4{fill:rgb(102,194,165)} | |
| .Set2 .q1-4{fill:rgb(252,141,98)} | |
| .Set2 .q2-4{fill:rgb(141,160,203)} | |
| .Set2 .q3-4{fill:rgb(231,138,195)} | |
| .Set2 .q0-5{fill:rgb(102,194,165)} | |
| .Set2 .q1-5{fill:rgb(252,141,98)} | |
| .Set2 .q2-5{fill:rgb(141,160,203)} | |
| .Set2 .q3-5{fill:rgb(231,138,195)} | |
| .Set2 .q4-5{fill:rgb(166,216,84)} | |
| .Set2 .q0-6{fill:rgb(102,194,165)} | |
| .Set2 .q1-6{fill:rgb(252,141,98)} | |
| .Set2 .q2-6{fill:rgb(141,160,203)} | |
| .Set2 .q3-6{fill:rgb(231,138,195)} | |
| .Set2 .q4-6{fill:rgb(166,216,84)} | |
| .Set2 .q5-6{fill:rgb(255,217,47)} | |
| .Set2 .q0-7{fill:rgb(102,194,165)} | |
| .Set2 .q1-7{fill:rgb(252,141,98)} | |
| .Set2 .q2-7{fill:rgb(141,160,203)} | |
| .Set2 .q3-7{fill:rgb(231,138,195)} | |
| .Set2 .q4-7{fill:rgb(166,216,84)} | |
| .Set2 .q5-7{fill:rgb(255,217,47)} | |
| .Set2 .q6-7{fill:rgb(229,196,148)} | |
| .Set2 .q0-8{fill:rgb(102,194,165)} | |
| .Set2 .q1-8{fill:rgb(252,141,98)} | |
| .Set2 .q2-8{fill:rgb(141,160,203)} | |
| .Set2 .q3-8{fill:rgb(231,138,195)} | |
| .Set2 .q4-8{fill:rgb(166,216,84)} | |
| .Set2 .q5-8{fill:rgb(255,217,47)} | |
| .Set2 .q6-8{fill:rgb(229,196,148)} | |
| .Set2 .q7-8{fill:rgb(179,179,179)} | |
| .Set3 .q0-3{fill:rgb(141,211,199)} | |
| .Set3 .q1-3{fill:rgb(255,255,179)} | |
| .Set3 .q2-3{fill:rgb(190,186,218)} | |
| .Set3 .q0-4{fill:rgb(141,211,199)} | |
| .Set3 .q1-4{fill:rgb(255,255,179)} | |
| .Set3 .q2-4{fill:rgb(190,186,218)} | |
| .Set3 .q3-4{fill:rgb(251,128,114)} | |
| .Set3 .q0-5{fill:rgb(141,211,199)} | |
| .Set3 .q1-5{fill:rgb(255,255,179)} | |
| .Set3 .q2-5{fill:rgb(190,186,218)} | |
| .Set3 .q3-5{fill:rgb(251,128,114)} | |
| .Set3 .q4-5{fill:rgb(128,177,211)} | |
| .Set3 .q0-6{fill:rgb(141,211,199)} | |
| .Set3 .q1-6{fill:rgb(255,255,179)} | |
| .Set3 .q2-6{fill:rgb(190,186,218)} | |
| .Set3 .q3-6{fill:rgb(251,128,114)} | |
| .Set3 .q4-6{fill:rgb(128,177,211)} | |
| .Set3 .q5-6{fill:rgb(253,180,98)} | |
| .Set3 .q0-7{fill:rgb(141,211,199)} | |
| .Set3 .q1-7{fill:rgb(255,255,179)} | |
| .Set3 .q2-7{fill:rgb(190,186,218)} | |
| .Set3 .q3-7{fill:rgb(251,128,114)} | |
| .Set3 .q4-7{fill:rgb(128,177,211)} | |
| .Set3 .q5-7{fill:rgb(253,180,98)} | |
| .Set3 .q6-7{fill:rgb(179,222,105)} | |
| .Set3 .q0-8{fill:rgb(141,211,199)} | |
| .Set3 .q1-8{fill:rgb(255,255,179)} | |
| .Set3 .q2-8{fill:rgb(190,186,218)} | |
| .Set3 .q3-8{fill:rgb(251,128,114)} | |
| .Set3 .q4-8{fill:rgb(128,177,211)} | |
| .Set3 .q5-8{fill:rgb(253,180,98)} | |
| .Set3 .q6-8{fill:rgb(179,222,105)} | |
| .Set3 .q7-8{fill:rgb(252,205,229)} | |
| .Set3 .q0-9{fill:rgb(141,211,199)} | |
| .Set3 .q1-9{fill:rgb(255,255,179)} | |
| .Set3 .q2-9{fill:rgb(190,186,218)} | |
| .Set3 .q3-9{fill:rgb(251,128,114)} | |
| .Set3 .q4-9{fill:rgb(128,177,211)} | |
| .Set3 .q5-9{fill:rgb(253,180,98)} | |
| .Set3 .q6-9{fill:rgb(179,222,105)} | |
| .Set3 .q7-9{fill:rgb(252,205,229)} | |
| .Set3 .q8-9{fill:rgb(217,217,217)} | |
| .Set3 .q0-10{fill:rgb(141,211,199)} | |
| .Set3 .q1-10{fill:rgb(255,255,179)} | |
| .Set3 .q2-10{fill:rgb(190,186,218)} | |
| .Set3 .q3-10{fill:rgb(251,128,114)} | |
| .Set3 .q4-10{fill:rgb(128,177,211)} | |
| .Set3 .q5-10{fill:rgb(253,180,98)} | |
| .Set3 .q6-10{fill:rgb(179,222,105)} | |
| .Set3 .q7-10{fill:rgb(252,205,229)} | |
| .Set3 .q8-10{fill:rgb(217,217,217)} | |
| .Set3 .q9-10{fill:rgb(188,128,189)} | |
| .Set3 .q0-11{fill:rgb(141,211,199)} | |
| .Set3 .q1-11{fill:rgb(255,255,179)} | |
| .Set3 .q2-11{fill:rgb(190,186,218)} | |
| .Set3 .q3-11{fill:rgb(251,128,114)} | |
| .Set3 .q4-11{fill:rgb(128,177,211)} | |
| .Set3 .q5-11{fill:rgb(253,180,98)} | |
| .Set3 .q6-11{fill:rgb(179,222,105)} | |
| .Set3 .q7-11{fill:rgb(252,205,229)} | |
| .Set3 .q8-11{fill:rgb(217,217,217)} | |
| .Set3 .q9-11{fill:rgb(188,128,189)} | |
| .Set3 .q10-11{fill:rgb(204,235,197)} | |
| .Set3 .q0-12{fill:rgb(141,211,199)} | |
| .Set3 .q1-12{fill:rgb(255,255,179)} | |
| .Set3 .q2-12{fill:rgb(190,186,218)} | |
| .Set3 .q3-12{fill:rgb(251,128,114)} | |
| .Set3 .q4-12{fill:rgb(128,177,211)} | |
| .Set3 .q5-12{fill:rgb(253,180,98)} | |
| .Set3 .q6-12{fill:rgb(179,222,105)} | |
| .Set3 .q7-12{fill:rgb(252,205,229)} | |
| .Set3 .q8-12{fill:rgb(217,217,217)} | |
| .Set3 .q9-12{fill:rgb(188,128,189)} | |
| .Set3 .q10-12{fill:rgb(204,235,197)} | |
| .Set3 .q11-12{fill:rgb(255,237,111)} |
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 characters
| // 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"] | |
| }}; |
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 characters
| (function() { | |
| var DEBUG = false; | |
| d3.layout.grid = function() { | |
| var mode = "equal", | |
| layout = _distributeEqually, | |
| x = d3.scale.ordinal(), | |
| y = d3.scale.ordinal(), | |
| size = [1, 1], | |
| actualSize = [0, 0], | |
| nodeSize = false, | |
| bands = false, | |
| padding = [0, 0], | |
| cols, rows; | |
| function grid(nodes) { | |
| return layout(nodes); | |
| } | |
| function _distributeEqually(nodes) { | |
| var i = -1, | |
| n = nodes.length, | |
| _cols = cols ? cols : 0, | |
| _rows = rows ? rows : 0, | |
| col, row; | |
| // FIXME: make explicit rows/cols exclusive? Or find a smart way to deal with overflows (repeat?) | |
| // FIXME: when rows are set, fill top-to-bottom (make test with 5 data points and 4 rows) | |
| if (_rows && !_cols) { | |
| _cols = Math.ceil(n / _rows) | |
| } else { | |
| _cols || (_cols = Math.ceil(Math.sqrt(n))); | |
| _rows || (_rows = Math.ceil(n / _cols)); | |
| } | |
| if (nodeSize) { | |
| x.domain(d3.range(_cols)).range(d3.range(0, (size[0] + padding[0]) * _cols, size[0] + padding[0])); | |
| y.domain(d3.range(_rows)).range(d3.range(0, (size[1] + padding[1]) * _rows, size[1] + padding[1])); | |
| actualSize[0] = bands ? x(_cols - 1) + size[0] : x(_cols - 1); | |
| actualSize[1] = bands ? y(_rows - 1) + size[1] : y(_rows - 1); | |
| } else if (bands) { | |
| x.domain(d3.range(_cols)).rangeBands([0, size[0]], padding[0], 0); | |
| y.domain(d3.range(_rows)).rangeBands([0, size[1]], padding[1], 0); | |
| actualSize[0] = x.rangeBand(); | |
| actualSize[1] = y.rangeBand(); | |
| } else { | |
| x.domain(d3.range(_cols)).rangePoints([0, size[0]]); | |
| y.domain(d3.range(_rows)).rangePoints([0, size[1]]); | |
| actualSize[0] = x(1); | |
| actualSize[1] = y(1); | |
| } | |
| if (DEBUG) console.log('cols/rows', _cols, _rows); | |
| while (++i < n) { | |
| col = i % _cols; | |
| row = Math.floor(i / _cols); | |
| if (DEBUG) console.log(i, col, row); | |
| nodes[i].x = x(col); | |
| nodes[i].y = y(row); | |
| } | |
| return nodes; | |
| } | |
| // grid.mode = function(value) { | |
| // if (!arguments.length) return mode; | |
| // switch(mode = value) { | |
| // case "equal": | |
| // layout = _distributeEqually; | |
| // break; | |
| // } | |
| // return grid; | |
| // } | |
| grid.size = function(value) { | |
| if (!arguments.length) return nodeSize ? actualSize : size; | |
| actualSize = [0, 0]; | |
| nodeSize = (size = value) == null; | |
| return grid; | |
| } | |
| grid.nodeSize = function(value) { | |
| if (!arguments.length) return nodeSize ? size : actualSize; | |
| actualSize = [0, 0]; | |
| nodeSize = (size = value) != null; | |
| return grid; | |
| } | |
| grid.rows = function(value) { | |
| if (!arguments.length) return rows; | |
| rows = value; | |
| return grid; | |
| } | |
| grid.cols = function(value) { | |
| if (!arguments.length) return cols; | |
| cols = value; | |
| return grid; | |
| } | |
| grid.bands = function() { | |
| bands = true; | |
| return grid; | |
| } | |
| grid.points = function() { | |
| bands = false; | |
| return grid; | |
| } | |
| grid.padding = function(value) { | |
| if (!arguments.length) return padding; | |
| padding = value; | |
| return grid; | |
| } | |
| return grid; | |
| }; | |
| })(); |
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 characters
| // d3.tip | |
| // Copyright (c) 2013 Justin Palmer | |
| // | |
| // Tooltips for d3.js SVG visualizations | |
| // Public - contructs a new tooltip | |
| // | |
| // Returns a tip | |
| d3.tip = function() { | |
| var direction = d3_tip_direction, | |
| offset = d3_tip_offset, | |
| html = d3_tip_html, | |
| node = initNode(), | |
| svg = null, | |
| point = null, | |
| target = null | |
| function tip(vis) { | |
| svg = getSVGNode(vis) | |
| point = svg.createSVGPoint() | |
| document.body.appendChild(node) | |
| } | |
| // Public - show the tooltip on the screen | |
| // | |
| // Returns a tip | |
| tip.show = function() { | |
| var args = Array.prototype.slice.call(arguments) | |
| if(args[args.length - 1] instanceof SVGElement) target = args.pop() | |
| var content = html.apply(this, args), | |
| poffset = offset.apply(this, args), | |
| dir = direction.apply(this, args), | |
| nodel = d3.select(node), i = 0, | |
| coords | |
| nodel.html(content) | |
| .style({ opacity: 1, 'pointer-events': 'all' }) | |
| while(i--) nodel.classed(directions[i], false) | |
| coords = direction_callbacks.get(dir).apply(this) | |
| nodel.classed(dir, true).style({ | |
| top: (coords.top + poffset[0]) + 'px', | |
| left: (coords.left + poffset[1]) + 'px' | |
| }) | |
| return tip | |
| } | |
| // Public - hide the tooltip | |
| // | |
| // Returns a tip | |
| tip.hide = function() { | |
| nodel = d3.select(node) | |
| nodel.style({ opacity: 0, 'pointer-events': 'none' }) | |
| return tip | |
| } | |
| // Public: Proxy attr calls to the d3 tip container. Sets or gets attribute value. | |
| // | |
| // n - name of the attribute | |
| // v - value of the attribute | |
| // | |
| // Returns tip or attribute value | |
| tip.attr = function(n, v) { | |
| if (arguments.length < 2 && typeof n === 'string') { | |
| return d3.select(node).attr(n) | |
| } else { | |
| var args = Array.prototype.slice.call(arguments) | |
| d3.selection.prototype.attr.apply(d3.select(node), args) | |
| } | |
| return tip | |
| } | |
| // Public: Proxy style calls to the d3 tip container. Sets or gets a style value. | |
| // | |
| // n - name of the property | |
| // v - value of the property | |
| // | |
| // Returns tip or style property value | |
| tip.style = function(n, v) { | |
| if (arguments.length < 2 && typeof n === 'string') { | |
| return d3.select(node).style(n) | |
| } else { | |
| var args = Array.prototype.slice.call(arguments) | |
| d3.selection.prototype.style.apply(d3.select(node), args) | |
| } | |
| return tip | |
| } | |
| // Public: Set or get the direction of the tooltip | |
| // | |
| // v - One of n(north), s(south), e(east), or w(west), nw(northwest), | |
| // sw(southwest), ne(northeast) or se(southeast) | |
| // | |
| // Returns tip or direction | |
| tip.direction = function(v) { | |
| if (!arguments.length) return direction | |
| direction = v == null ? v : d3.functor(v) | |
| return tip | |
| } | |
| // Public: Sets or gets the offset of the tip | |
| // | |
| // v - Array of [x, y] offset | |
| // | |
| // Returns offset or | |
| tip.offset = function(v) { | |
| if (!arguments.length) return offset | |
| offset = v == null ? v : d3.functor(v) | |
| return tip | |
| } | |
| // Public: sets or gets the html value of the tooltip | |
| // | |
| // v - String value of the tip | |
| // | |
| // Returns html value or tip | |
| tip.html = function(v) { | |
| if (!arguments.length) return html | |
| html = v == null ? v : d3.functor(v) | |
| return tip | |
| } | |
| function d3_tip_direction() { return 'n' } | |
| function d3_tip_offset() { return [0, 0] } | |
| function d3_tip_html() { return ' ' } | |
| var direction_callbacks = d3.map({ | |
| n: direction_n, | |
| s: direction_s, | |
| e: direction_e, | |
| w: direction_w, | |
| nw: direction_nw, | |
| ne: direction_ne, | |
| sw: direction_sw, | |
| se: direction_se | |
| }), | |
| directions = direction_callbacks.keys() | |
| function direction_n() { | |
| var bbox = getScreenBBox() | |
| return { | |
| top: bbox.n.y - node.offsetHeight, | |
| left: bbox.n.x - node.offsetWidth / 2 | |
| } | |
| } | |
| function direction_s() { | |
| var bbox = getScreenBBox() | |
| return { | |
| top: bbox.s.y, | |
| left: bbox.s.x - node.offsetWidth / 2 | |
| } | |
| } | |
| function direction_e() { | |
| var bbox = getScreenBBox() | |
| return { | |
| top: bbox.e.y - node.offsetHeight / 2, | |
| left: bbox.e.x | |
| } | |
| } | |
| function direction_w() { | |
| var bbox = getScreenBBox() | |
| return { | |
| top: bbox.w.y - node.offsetHeight / 2, | |
| left: bbox.w.x - node.offsetWidth | |
| } | |
| } | |
| function direction_nw() { | |
| var bbox = getScreenBBox() | |
| return { | |
| top: bbox.nw.y - node.offsetHeight, | |
| left: bbox.nw.x - node.offsetWidth | |
| } | |
| } | |
| function direction_ne() { | |
| var bbox = getScreenBBox() | |
| return { | |
| top: bbox.ne.y - node.offsetHeight, | |
| left: bbox.ne.x | |
| } | |
| } | |
| function direction_sw() { | |
| var bbox = getScreenBBox() | |
| return { | |
| top: bbox.sw.y, | |
| left: bbox.sw.x - node.offsetWidth | |
| } | |
| } | |
| function direction_se() { | |
| var bbox = getScreenBBox() | |
| return { | |
| top: bbox.se.y, | |
| left: bbox.e.x | |
| } | |
| } | |
| function initNode() { | |
| var node = d3.select(document.createElement('div')) | |
| node.style({ | |
| position: 'absolute', | |
| opacity: 0, | |
| pointerEvents: 'none', | |
| boxSizing: 'border-box' | |
| }) | |
| return node.node() | |
| } | |
| function getSVGNode(el) { | |
| el = el.node() | |
| if(el.tagName.toLowerCase() == 'svg') | |
| return el | |
| return el.ownerSVGElement | |
| } | |
| // Private - gets the screen coordinates of a shape | |
| // | |
| // Given a shape on the screen, will return an SVGPoint for the directions | |
| // n(north), s(south), e(east), w(west), ne(northeast), se(southeast), nw(northwest), | |
| // sw(southwest). | |
| // | |
| // +-+-+ | |
| // | | | |
| // + + | |
| // | | | |
| // +-+-+ | |
| // | |
| // Returns an Object {n, s, e, w, nw, sw, ne, se} | |
| function getScreenBBox() { | |
| var targetel = target || d3.event.target, | |
| bbox = {}, | |
| matrix = targetel.getScreenCTM(), | |
| tbbox = targetel.getBBox(), | |
| width = tbbox.width, | |
| height = tbbox.height, | |
| x = tbbox.x, | |
| y = tbbox.y, | |
| scrollTop = document.documentElement.scrollTop || document.body.scrollTop, | |
| scrollLeft = document.documentElement.scrollLeft || document.body.scrollLeft | |
| point.x = x + scrollLeft | |
| point.y = y + scrollTop | |
| bbox.nw = point.matrixTransform(matrix) | |
| point.x += width | |
| bbox.ne = point.matrixTransform(matrix) | |
| point.y += height | |
| bbox.se = point.matrixTransform(matrix) | |
| point.x -= width | |
| bbox.sw = point.matrixTransform(matrix) | |
| point.y -= height / 2 | |
| bbox.w = point.matrixTransform(matrix) | |
| point.x += width | |
| bbox.e = point.matrixTransform(matrix) | |
| point.x -= width / 2 | |
| point.y -= height / 2 | |
| bbox.n = point.matrixTransform(matrix) | |
| point.y += height | |
| bbox.s = point.matrixTransform(matrix) | |
| return bbox | |
| } | |
| return tip | |
| }; |
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 characters
| (function() { | |
| d3.fisheye = { | |
| scale: function(scaleType) { | |
| return d3_fisheye_scale(scaleType(), 3, 0); | |
| }, | |
| circular: function() { | |
| var radius = 200, | |
| distortion = 2, | |
| k0, | |
| k1, | |
| focus = [0, 0]; | |
| function fisheye(d) { | |
| var dx = d.x - focus[0], | |
| dy = d.y - focus[1], | |
| dd = Math.sqrt(dx * dx + dy * dy); | |
| if (!dd || dd >= radius) return {x: d.x, y: d.y, z: dd >= radius ? 1 : 10}; | |
| var k = k0 * (1 - Math.exp(-dd * k1)) / dd * .75 + .25; | |
| return {x: focus[0] + dx * k, y: focus[1] + dy * k, z: Math.min(k, 10)}; | |
| } | |
| function rescale() { | |
| k0 = Math.exp(distortion); | |
| k0 = k0 / (k0 - 1) * radius; | |
| k1 = distortion / radius; | |
| return fisheye; | |
| } | |
| fisheye.radius = function(_) { | |
| if (!arguments.length) return radius; | |
| radius = +_; | |
| return rescale(); | |
| }; | |
| fisheye.distortion = function(_) { | |
| if (!arguments.length) return distortion; | |
| distortion = +_; | |
| return rescale(); | |
| }; | |
| fisheye.focus = function(_) { | |
| if (!arguments.length) return focus; | |
| focus = _; | |
| return fisheye; | |
| }; | |
| return rescale(); | |
| } | |
| }; | |
| function d3_fisheye_scale(scale, d, a) { | |
| function fisheye(_) { | |
| var x = scale(_), | |
| left = x < a, | |
| range = d3.extent(scale.range()), | |
| min = range[0], | |
| max = range[1], | |
| m = left ? a - min : max - a; | |
| if (m == 0) m = max - min; | |
| return (left ? -1 : 1) * m * (d + 1) / (d + (m / Math.abs(x - a))) + a; | |
| } | |
| fisheye.distortion = function(_) { | |
| if (!arguments.length) return d; | |
| d = +_; | |
| return fisheye; | |
| }; | |
| fisheye.focus = function(_) { | |
| if (!arguments.length) return a; | |
| a = +_; | |
| return fisheye; | |
| }; | |
| fisheye.copy = function() { | |
| return d3_fisheye_scale(scale.copy(), d, a); | |
| }; | |
| fisheye.nice = scale.nice; | |
| fisheye.ticks = scale.ticks; | |
| fisheye.tickFormat = scale.tickFormat; | |
| return d3.rebind(fisheye, scale, "domain", "range"); | |
| } | |
| })(); |
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 characters
| <!DOCTYPE html> | |
| <meta charset="utf-8"> | |
| <html> | |
| <head> | |
| <title>Entities Map</title> | |
| <script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/3.8.0/lodash.js"></script> | |
| <script src="https://code.jquery.com/jquery-1.11.3.min.js"></script> | |
| <script src="http://cdnjs.cloudflare.com/ajax/libs/d3/3.5.2/d3.js"></script> | |
| <script src="https://cdnjs.cloudflare.com/ajax/libs/d3-legend/1.5.0/d3-legend.js" type="text/javascript"></script> | |
| <script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.33/browser.js"></script> | |
| <script src="https://cdnjs.cloudflare.com/ajax/libs/selectize.js/0.12.1/js/standalone/selectize.min.js"></script> | |
| <script src="./d3.grid.js"></script> | |
| <script src="./d3.tip.v0.6.3.js" type="text/javascript"></script> | |
| <script src="./colorbrewer.js"></script> | |
| <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/selectize.js/0.12.1/css/selectize.min.css"> | |
| <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700' rel='stylesheet' type='text/css'> | |
| <style> | |
| * { | |
| font-family: 'Open Sans', sans-serif; | |
| } | |
| .chart { | |
| height: 500px; | |
| width: 100%; | |
| } | |
| .vm:hover { | |
| opacity: 0.8; | |
| cursor: pointer; | |
| } | |
| .vm { | |
| transition: transform 0.1s; | |
| } | |
| .vm.active { | |
| fill: #aaa; | |
| } | |
| .axis text { | |
| font-size: 10px; | |
| font-family: 'Open Sans', sans-serif; | |
| text-transform: uppercase | |
| } | |
| .header:hover { | |
| opacity: 1; | |
| } | |
| .header { | |
| position: relative; | |
| margin-bottom: 30px; | |
| padding: 10px; | |
| padding-top: 30px; | |
| background-color: #ECEBEB; | |
| opacity: 0.3; | |
| transition: opacity 0.2s ease; | |
| } | |
| .header > div { | |
| margin: 5px 0 | |
| } | |
| .header h2 { | |
| margin: 0; | |
| position: absolute; | |
| top: 10px; | |
| right: 10px; | |
| } | |
| .header .status { | |
| position: absolute; | |
| bottom: 10px; | |
| right: 10px; | |
| font-size: 10px; | |
| } | |
| .header label { | |
| font-size: 14px; | |
| display: inline-block; | |
| } | |
| .header input { | |
| width: 158px; | |
| font-size: 13px; | |
| padding: 7px; | |
| } | |
| body.dark { | |
| background: black; | |
| } | |
| .dark .chart { | |
| background: black; | |
| } | |
| .dark .axis text { | |
| fill: white; | |
| } | |
| .dark .axis line, | |
| .dark .axis path { | |
| stroke: white !important; | |
| } | |
| button { | |
| padding: 10px; | |
| margin-top: 10px; | |
| margin-right: 10px; | |
| font-size: 14px; | |
| } | |
| .active { | |
| stroke: black; | |
| } | |
| .background { | |
| fill: none; | |
| pointer-events: all; | |
| } | |
| .group { | |
| pointer-events: none; | |
| } | |
| .rect text:hover { | |
| text-decoration: underline; | |
| cursor: pointer; | |
| } | |
| .group-title { | |
| text-transform: uppercase; | |
| } | |
| text.legendTitle { | |
| text-transform: uppercase; | |
| } | |
| .selectize-input { | |
| width: 250px; | |
| } | |
| .group-level-1 text { | |
| font-size: 70%; | |
| } | |
| .group-level-2 text { | |
| font-size: 50%; | |
| } | |
| .clear-filter, .clear-grouping { | |
| font-size: 12px; | |
| text-decoration: underline; | |
| cursor: pointer; | |
| display: block; | |
| } | |
| .field { | |
| display: inline-block; | |
| vertical-align: top; | |
| margin-left: 10px | |
| } | |
| .d3-tip { | |
| line-height: 1; | |
| font-weight: bold; | |
| padding: 12px; | |
| background: rgba(0, 0, 0, 0.8); | |
| color: #fff; | |
| font-size: 12px; | |
| border-radius: 2px; | |
| } | |
| /* Creates a small triangle extender for the tooltip */ | |
| .d3-tip:after { | |
| box-sizing: border-box; | |
| display: inline; | |
| font-size: 10px; | |
| width: 100%; | |
| line-height: 1; | |
| color: rgba(0, 0, 0, 0.8); | |
| content: "\25BC"; | |
| position: absolute; | |
| text-align: center; | |
| } | |
| /* Style northward tooltips differently */ | |
| .d3-tip.n:after { | |
| margin: -1px 0 0 0; | |
| top: 100%; | |
| left: 0; | |
| } | |
| </style> | |
| </head> | |
| <body> | |
| <script type="text/babel"> | |
| var VMS = 1000; | |
| var TENANTS = 10; | |
| var MIN_ALPHA = 0.00586; | |
| var DURATION = 1000; | |
| var BIG_T = 1; | |
| var SMALL_T = 2; | |
| var WIDTH = 600; | |
| var HEIGHT = 1000; | |
| var MARGIN = 30; | |
| var PADDING = 30; | |
| var RIGHT_PADDING = 150; | |
| var VM_MIN_SIZE = 10; | |
| var MAX_COLS = 20; | |
| var FILTER = ""; | |
| var GROUPING = []; | |
| var COLORING = "cpu"; | |
| var maxItems = 500; | |
| var statusValues = ["up", "warning", "error"]; | |
| var colors = _.drop(colorbrewer.Blues[9], 3); | |
| var status_colors = [colorbrewer.RdYlGn[11][10], colorbrewer.RdYlGn[11][3], colorbrewer.RdYlGn[11][0]]; | |
| var heatmapColour = d3.scale.linear() | |
| .domain(d3.range(0, 1, 1.0 / (colors.length))) | |
| .range(colors); | |
| var coloringScale = d3.scale.linear().range([0, 1]); | |
| var statusScale = d3.scale.ordinal().domain(statusValues).range(status_colors); | |
| var tip = d3.tip() | |
| .attr('class', 'd3-tip') | |
| .offset([-10, 0]) | |
| .html(function (d) { | |
| var c = d3.lab(color(d, "status")).brighter(1.5); | |
| return "<span style='color:"+c+"'>" + d.id + "</span>"; | |
| }); | |
| var color = (d, coloring) => { | |
| coloring = coloring ? coloring : COLORING; | |
| if (coloring == "status") { | |
| return statusScale(d[coloring]) | |
| } else { | |
| return heatmapColour(coloringScale(d[coloring])) | |
| } | |
| }; | |
| color.getScale = () => { | |
| if (COLORING == "status") { | |
| return statusScale | |
| } else { | |
| return d3.scale.quantize().domain(coloringScale.domain()).range(heatmapColour.range()); | |
| } | |
| }; | |
| var update_coloring = (value) => { | |
| COLORING = value || "cpu"; | |
| switch (COLORING) { | |
| case "cpu": | |
| coloringScale.domain([2, 64]); | |
| break; | |
| case "ram": | |
| coloringScale.domain([1000, 64000]); | |
| break; | |
| case "volumes": | |
| coloringScale.domain([10, 4000]); | |
| break; | |
| // case "status": | |
| // coloringScale.domain(["up", "down", "error"]).range([0, 0.5, 1]); | |
| // heatmapColour = d3.scale.linear() | |
| // .domain(d3.range(0, 1, 1.0 / (status_colors.length))) | |
| // .range(status_colors) | |
| // break; | |
| } | |
| render() | |
| }; | |
| var update_filtering = () => { | |
| FILTER = d3.select(".filter-by-input").property("value"); | |
| render(); | |
| }; | |
| var set_status = (status) => { d3.select(".status").html(status || "idle") }; | |
| d3.select(".filter-by-input").on("keyup", _.debounce(update_filtering, 500)); | |
| var genVms = () => { | |
| function gen_val(min, max, tenant_id) { | |
| if (tenant_id === BIG_T) { | |
| min = max * 0.8; | |
| } else if (tenant_id === SMALL_T) { | |
| max = min * 2; | |
| } else if (tenant_id % 2 === 0) { | |
| if (Math.random() < 0.9) { | |
| min = max * 0.5 | |
| } | |
| } else { | |
| if (Math.random() < 0.5) { | |
| min = max * 0.3; | |
| max = max * 0.8; | |
| } | |
| } | |
| return _.random(min, max) | |
| } | |
| function tenant() { | |
| return _.random(1, TENANTS); | |
| } | |
| function vm(index) { | |
| var tenant_id = tenant(); | |
| var cpu = gen_val(2, 64, tenant_id); | |
| var ram = gen_val(1000, 64000, tenant_id); | |
| var volumes = gen_val(10, 4000); | |
| var network = gen_val(1, 120, tenant_id); | |
| var tag = "regular"; | |
| var status = _.sample(statusValues); | |
| if (status == "error") { | |
| cpu = ram = volumes = network = 0; | |
| } | |
| if (cpu > 60) { | |
| tag = "high cpu" | |
| } | |
| if (ram > 60000) { | |
| tag = "high memory" | |
| } | |
| if (volumes > 3500) { | |
| tag = "high storage" | |
| } | |
| return { | |
| id: "vm-" + index, | |
| tenant: "tenant-" + tenant_id, | |
| cpu: cpu, | |
| ram: ram, | |
| status: status, | |
| volumes: volumes, | |
| network: network, | |
| tag: tag | |
| }; | |
| } | |
| var result = []; | |
| for (var i = 0; i < VMS; i++) { | |
| result.push(vm(i)) | |
| } | |
| return result | |
| }; | |
| var centered; | |
| var vmSize; | |
| var g_width, g_height, x_offset, y_offset; | |
| var clicked = function(d) { | |
| if (d.truncated) return; | |
| var x, y, k; | |
| var g = d3.select(".vms"); | |
| // TODO : centering does not work when grouping is enabled/disabled - one of them breaks | |
| if (!centered) { | |
| var wrapperBB = g.node().getBBox(); | |
| g_width = wrapperBB.width; | |
| g_height = wrapperBB.height; | |
| x_offset = wrapperBB.x; | |
| y_offset = wrapperBB.y; | |
| } | |
| if (d && centered !== d) { | |
| k = 250 / d.width; | |
| x = d._x ;//+ vmSize / 2; | |
| y = d._y ; //+ vmSize / 2; | |
| centered = d; | |
| } else { | |
| x = g_width / 2; | |
| y = g_height / 2 - MARGIN; | |
| k = 1; | |
| centered = null; | |
| } | |
| g.selectAll(".vm") | |
| .classed("active", centered && function(d) { return d === centered; }); | |
| d3.select(".wrapper").transition() | |
| .duration(750) | |
| .attr("transform", "translate(" + g_width / 2 + "," + g_height / 2 + ")scale(" + k + ")translate(" + -x + "," + (-y)+ ")") | |
| .style("stroke-width", 1.5 / k + "px"); | |
| }; | |
| var radius = d3.scale.linear().range([5, 10]).domain([2, 64]); | |
| var svg = d3.select('.chart') | |
| .append('svg') | |
| .style('margin', '0 auto') | |
| .style('display', 'block') | |
| .attr('width', "90%") | |
| .attr('height', HEIGHT + MARGIN); | |
| svg.call(tip); | |
| var bg = svg.append("rect") | |
| .attr("class", "background") | |
| .attr('width', "90%") | |
| .on("click", clicked) | |
| .attr('height', HEIGHT); | |
| WIDTH = svg.node().getBoundingClientRect().width; | |
| var wrapper = svg.append("g").attr("class", "wrapper").attr("transform", "translate(" + 0 + "," + 30 + ")"); | |
| wrapper.append("g").attr("class", "groups"); //.attr("transform", "translate(" + 0 + "," + PADDING / 2 + ")"); | |
| wrapper.append("g").attr("class", "vms"); | |
| var legendGroup = wrapper.append("g").attr("class", "legend").attr("transform", "translate(" + (WIDTH - RIGHT_PADDING + 10) + "," + 0 + ")"); | |
| var vm_data = genVms(); | |
| var legend = d3.legend.color() | |
| .labelFormat(d3.format(".0f")) | |
| .title(COLORING); | |
| var isGroup = function (item) { | |
| return Boolean(item) && Boolean(item[0]) && Boolean(item[0].values) | |
| }; | |
| var calculateGrids = function(groups, size, offset, nodeSize, cols, padding, parent) { | |
| if (groups.length == 0) { | |
| return | |
| } | |
| if (!offset) { | |
| offset = { | |
| x: 0, | |
| y: 0 | |
| } | |
| } | |
| if (!padding) { | |
| padding = 0; | |
| } | |
| var groupsGrid; | |
| if (size) { | |
| // calc groups grid based on size | |
| groupsGrid = d3.layout.grid() | |
| .bands() | |
| .size([size.width, size.height]) | |
| .padding([0.1, 0.1]); | |
| } else { | |
| groupsGrid = d3.layout.grid() | |
| .bands() | |
| .nodeSize([nodeSize, nodeSize]) | |
| .cols(cols) | |
| .padding([padding, padding]); | |
| } | |
| // apply grid | |
| groupsGrid(groups); | |
| var groupSize = groupsGrid.nodeSize(); | |
| var innerPadding; | |
| if (groups[0].key == "undefined") { | |
| innerPadding = { | |
| x: groupSize[0] * 0.1, | |
| y: groupSize[0] * 0.1 | |
| } | |
| } else { | |
| innerPadding = { | |
| x: groupSize[0] * 0.1, | |
| y: groupSize[1] * 0.2 | |
| } | |
| } | |
| groups = groups.map(function(group) { | |
| group._x = group.x + offset.x; | |
| group._y = group.y + offset.y; | |
| group.width = groupSize[0]; | |
| group.height = groupSize[1]; | |
| group.inner_padding = innerPadding; | |
| group._parent = parent; | |
| return group | |
| }); | |
| // sort to get largest group | |
| groups = _.sortBy(groups, function (group) { | |
| return -_.size(group.values) | |
| }); | |
| // calc values grid | |
| // var valuesGridSize = Math.min.apply(null, groupsGrid.nodeSize()); | |
| if (isGroup(groups)) { | |
| var valueGridSize = [groupSize[0] - innerPadding.x, groupSize[1] - innerPadding.y]; | |
| var valuesGrid = d3.layout.grid() | |
| .bands() | |
| .size(valueGridSize) | |
| .padding([0.1, 0.1]); | |
| // apply values grid | |
| valuesGrid(groups[0].values); | |
| var valueSize = Math.min.apply(null, valuesGrid.nodeSize()); | |
| var valuePadding = groups[0].values.length > 1 ? groups[0].values[1].x - valuesGrid.nodeSize()[0] : 0; | |
| var valueCols = Math.round(valuesGrid.size()[0] / (valueSize + valuePadding)); | |
| var valueCenterPadding = (valueGridSize[0] - (valueCols * (valueSize + valuePadding))) / 2; | |
| groups.forEach(function(group) { | |
| if (group.values) { | |
| if (!isGroup(group.values)) { | |
| group.values = _.sortBy(group.values, function(d) { | |
| return d[COLORING] | |
| }) | |
| } | |
| var valuesOffset = { | |
| x: group._x + innerPadding.x/2 + valueCenterPadding/2, | |
| y: group._y + innerPadding.y - innerPadding.x/2 | |
| }; | |
| calculateGrids(group.values, null, valuesOffset, valueSize, valueCols, valuePadding, group ) | |
| } | |
| }) | |
| } | |
| }; | |
| var renderGroups = function(groups, level) { | |
| var groupsContainer = svg.select(".groups .group-level-" + level); | |
| if (groupsContainer.size() == 0) { | |
| groupsContainer = svg.select(".groups").append("g").attr("class", "group-level-" + level) | |
| } | |
| var groupsUpdate = groupsContainer.selectAll(".rect").data(groups, (d) => d.key ); | |
| var groupsEnter = groupsUpdate.enter().append("g") | |
| .attr("class", "rect") | |
| .attr("transform", function (d) { | |
| return "translate(" + (d._x) + "," + d._y + ")" | |
| }); | |
| groupsEnter.append("rect") | |
| .attr("class", "group") | |
| .attr("width", (d) => d.width) | |
| .attr("height", (d) => d.height) | |
| .style("fill", function (d, i) { | |
| if (d.key != "undefined") { | |
| // return "hsla(193,31%,87%,1)"; | |
| return "rgba(167, 181, 185, 0.2)"; | |
| } else { | |
| return "none" | |
| } | |
| }) | |
| .style("opacity", 1e-6); | |
| groupsEnter.append("text") | |
| .attr("class", "group-title") | |
| .attr("transform", function (d) { | |
| return "translate(" + (d.width / 2) + "," + (d.inner_padding.y/2.5) + ")" | |
| }) | |
| .style("text-anchor", "middle") | |
| .on("click", function (d) { | |
| $(".group-by-input")[0].selectize.removeItem(GROUPING[level]); | |
| $(".filter-by-input").val(this.textContent); | |
| update_filtering(); | |
| }); | |
| groupsUpdate.transition().duration(DURATION) | |
| .attr("transform", function (d) { | |
| return "translate(" + (d._x) + "," + d._y + ")" | |
| }) | |
| .select(".group") | |
| .attr("width", (d) => d.width) | |
| .attr("height", (d) => d.height) | |
| .style("opacity", 1); | |
| groupsUpdate.each(function (d, i) { | |
| d3.select(this).select(".group-title") | |
| .text(d.key != "undefined" ? d.key.split("|").pop() : "") | |
| .attr("transform", function (d) { | |
| return "translate(" + (d.width / 2) + "," + (d.inner_padding.y/2.5) + ")" | |
| }) | |
| }); | |
| groupsUpdate.exit() | |
| .transition().duration(DURATION) | |
| .style("opacity", 1e-6) | |
| .remove(); | |
| }; | |
| var upDownTween = function(middleValue, endValue) { | |
| return function(d, i, currentValue) { | |
| var value = _.isFunction(middleValue) ? middleValue.apply(this, arguments) : middleValue; | |
| var up = d3.interpolate(currentValue, value); | |
| var down = d3.interpolate(value, endValue); | |
| return function(t) { | |
| return t <= 0.5 ? up(t) : down(t) | |
| } | |
| } | |
| }; | |
| var renderValues = function(values) { | |
| var vms = d3.select(".vms").selectAll(".vm").data(_.filter(values, (v) => !v.truncated), function (d) { | |
| return d.id | |
| }); | |
| vms.enter().append("rect") | |
| // .attr("transform", "matrix(1,0,0,1,0,0)") | |
| .attr("transform", "skewY(0) translate(0,0)") | |
| .attr("class", "vm") | |
| .attr("fill", function (d) { | |
| return "white" | |
| }) | |
| .attr("width", 0) | |
| .attr("height", 0) | |
| .attr("x", (d) => d._x) | |
| .attr("y", (d) => d._y) | |
| .on("click", clicked) | |
| .on('mouseover', tip.show) | |
| .on('mouseout', tip.hide) | |
| .style("fill-opacity", 1e-6); | |
| vms.transition().duration(DURATION) | |
| .style("fill-opacity", (d) => d.truncated ? 1e-6 : 1) | |
| .attr("x", (d) => d._x) | |
| .attr("y", (d) => d._y) | |
| .attr("width", (d) => d.width) | |
| .attr("height", (d) => d.height) | |
| .attr("fill", function (d, i) { | |
| return color(d); | |
| }) | |
| .attrTween("transform", upDownTween(function(d, i){ | |
| var amount = 0; | |
| var correction = 0; | |
| if ( Number(d3.select(this).attr("x")) != d._x ) { | |
| amount = 30; | |
| amount = i % 2 == 0 ? amount : -amount; | |
| correction = -1 * Math.tan(amount * Math.PI / 180) * d._x; // Thanks Shahar | |
| } | |
| return "skewY(" + amount + ") translate(0, "+ correction +")"; | |
| }, "skewY(0) translate(0, 0)")) | |
| vms.exit() | |
| .transition().duration(DURATION) | |
| .attr("width", 0) | |
| .attr("height", 0) | |
| .style("fill-opacity", 1e-6) | |
| .attr("fill", "white") | |
| .remove(); | |
| var truncated = d3.select(".vms").selectAll(".truncated").data(_.filter(values, (v) => v.truncated), (d) => d._parent.key) | |
| var truncatedEnter = truncated.enter() | |
| .append("g") | |
| .attr("class", "truncated") | |
| .attr("transform", (d) => `translate(${d._parent._x + d._parent.width / 2}, ${d._parent._y + d._parent.height / 2})`) | |
| .style("opacity", 1e-6) | |
| .style("font-size", 1) | |
| .style("text-anchor", "middle"); | |
| truncatedEnter.each(function(d) { | |
| debugger | |
| var text = d3.select(this).append("text") | |
| .attr("x", 0) | |
| .attr("y", 0); | |
| text.append("tspan") | |
| .attr("x", 0) | |
| .text("too many items to show (" + d.originalSize +")"); | |
| text.append("tspan") | |
| .attr("x", 0) | |
| .attr("dy", 20) | |
| .text("try "); | |
| text.append("tspan") | |
| .style("fill", "rgb(66, 146, 198)") | |
| .style("text-decoration", "underline") | |
| .style("cursor", "pointer") | |
| .text("filtering") | |
| .on("click.strato", () => { | |
| $(".filter-by-input").val("tenant-7"); | |
| update_filtering(); | |
| }) | |
| text.append("tspan") | |
| .text(" or something"); | |
| }) | |
| truncated | |
| .transition().duration(DURATION) | |
| .attr("transform", (d) => `translate(${d._parent._x + d._parent.width / 2}, ${d._parent._y + d._parent.height / 2})`) | |
| .style("opacity", 1) | |
| .style("font-size", 14) | |
| truncated.exit() | |
| .transition().duration(DURATION) | |
| .style("font-size", 1) | |
| .style("opacity", 1e-6) | |
| .remove() | |
| } | |
| var renderData = function (data, level) { | |
| level = level || 0; | |
| if (isGroup(data)) { | |
| data.forEach(function (group) { | |
| group.values.forEach(function (value) { | |
| if (value.key) { | |
| value.key = group.key + "|" + value.key | |
| } | |
| }) | |
| }); | |
| renderGroups(data, level); | |
| renderData(_(data).pluck("values").flatten().value(), level + 1) | |
| } else { | |
| renderValues(data); | |
| } | |
| }; | |
| var renderLegend = () => { | |
| legendGroup.html(""); | |
| var legendScale = color.getScale(); | |
| legend | |
| .title(COLORING) | |
| .scale(legendScale); | |
| legendGroup.call(legend); | |
| }; | |
| var rendering = false; | |
| var truncateGroups = (data) => { | |
| data.forEach((g, i) => { | |
| if (g.values.length > maxItems) { | |
| const groupSize = g.values.length; | |
| let truncated = g.values.pop(); | |
| truncated = Object.assign({}, truncated, { | |
| id: truncated.id + "_truncated", | |
| truncated: true, | |
| originalSize: groupSize, | |
| }) | |
| g.values = [truncated]; | |
| } | |
| if (isGroup(g.values)) { | |
| truncateGroups(g.values) | |
| } | |
| }) | |
| } | |
| var render = () => { | |
| renderLegend(); | |
| var filteredData = _(vm_data).filter(function(vm) { | |
| return vm.tenant.indexOf(FILTER) > -1 || vm.status.indexOf(FILTER) > -1 || vm.tag.indexOf(FILTER) > -1 | |
| }); | |
| var nest = d3.nest(); | |
| GROUPING.forEach(function (groupValue) { | |
| nest.key(function (d) { | |
| return d[groupValue] | |
| }).sortKeys(d3.ascending) | |
| }); | |
| var groupsData = nest.entries(filteredData.value()); | |
| if (!isGroup(groupsData)) { | |
| groupsData = [{ | |
| key: "undefined", | |
| values: groupsData | |
| }] | |
| } | |
| truncateGroups(groupsData); | |
| calculateGrids(groupsData, { | |
| width: WIDTH - RIGHT_PADDING, | |
| height: HEIGHT - PADDING | |
| }); | |
| renderData(groupsData); | |
| }; | |
| var update_grouping = (value) => { | |
| var oldGrouping = GROUPING; | |
| if (_.isArray(value)) { | |
| GROUPING = value; | |
| } else { | |
| if (value) { | |
| GROUPING = [value] | |
| } else { | |
| GROUPING = [] | |
| } | |
| } | |
| if (oldGrouping.length > GROUPING.length) { | |
| for (var i = oldGrouping.length; i >= GROUPING.length; i-- ) { | |
| renderGroups([], i) | |
| } | |
| } | |
| render() | |
| }; | |
| update_coloring(); | |
| $(function() { | |
| $(".group-by-input").selectize({ | |
| plugins: ['remove_button'], | |
| onChange: update_grouping | |
| }); | |
| $(".color-by-input").selectize({ | |
| onChange: update_coloring | |
| }); | |
| $(".clear-filter").on("click", function() { | |
| $(".filter-by-input").val(""); | |
| update_filtering(); | |
| }); | |
| $(".clear-grouping").on("click", function() { | |
| $(".group-by-input")[0].selectize.clear(); | |
| update_grouping(); | |
| }) | |
| $(".max-items").on("input", function(e) { | |
| maxItems = Number(e.target.value); | |
| render(); | |
| }) | |
| }) | |
| </script> | |
| <div class="header"> | |
| <div class="field"> | |
| <label for="">Group By</label> | |
| <select name="group-by" class="group-by-input" multiple> | |
| <option value="">No Grouping</option> | |
| <option value="tenant">Tenant</option> | |
| <option value="tag">Tag</option> | |
| <option value="status">Status</option> | |
| </select> | |
| <span class="clear-grouping">clear grouping</span> | |
| </div> | |
| <div class="field"> | |
| <label for="">Color By</label> | |
| <select name="color-by" class="color-by-input"> | |
| <option value="cpu">CPU</option> | |
| <option value="ram">Memory</option> | |
| <option value="volumes">Storage</option> | |
| <option value="status">Status</option> | |
| </select> | |
| </div> | |
| <div class="field"> | |
| <label for="">Filter By</label> | |
| <div class=""> | |
| <input type="text" name="filter-by" class="filter-by-input"> | |
| <span class="clear-filter">clear filters</span> | |
| </div> | |
| </div> | |
| <div class="field"> | |
| <label for="">Max Items Displayed</label> | |
| <div class=""> | |
| <input type="number" name="max-items" class="max-items" value="500" min="1"> | |
| </div> | |
| </div> | |
| <h2>Entities Map</h2> | |
| </div> | |
| <div class="chart"> | |
| </div> | |
| </body> | |
| </html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment