diff --git a/ANNO-Sprachen Plotly Dynamic.ipynb b/ANNO-Sprachen Plotly Dynamic.ipynb
index 932716ddb4a2775431ee85299e74bf7742b9dac2..bf7a50e9910317ab1691b28ecd0daa42633694a1 100644
--- a/ANNO-Sprachen Plotly Dynamic.ipynb
+++ b/ANNO-Sprachen Plotly Dynamic.ipynb
@@ -4,7 +4,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "# Dynamic Plots"
+ "# Dynamic Plots (work in progress)"
]
},
{
@@ -32,7 +32,7 @@
"metadata": {},
"outputs": [],
"source": [
- "dd = pd.read_csv('../issue-based-data.csv.gz', compression='gzip')"
+ "dd = pd.read_csv('https://labs.onb.ac.at/gitlab/labs-team/raw-metadata/raw/master/anno_labs_issues.csv.bz2', compression='bz2')"
]
},
{
@@ -61,83 +61,199 @@
" \n",
" \n",
" \n",
" \n",
" \n",
- " Unnamed: 0 \n",
- " title \n",
- " ais \n",
+ " manifest_id \n",
+ " aid \n",
" year \n",
- " pages \n",
+ " day \n",
+ " dc_title \n",
+ " dc_title_additional \n",
+ " subjects \n",
+ " place_of_publications \n",
" languages \n",
- " place \n",
- " in_labs \n",
+ " dc_type \n",
+ " ... \n",
+ " meta_type \n",
+ " ini_type \n",
+ " modification_datetime \n",
+ " longer_page_id \n",
+ " dc_date \n",
+ " link_pdf \n",
+ " link_old \n",
+ " has_ocr \n",
+ " meta_id \n",
+ " page_count \n",
"
5 rows × 21 columns
\n", "" ], "text/plain": [ - " Unnamed: 0 title ais year pages languages place in_labs\n", - "0 0 Der Telegraph a44 1836 4 de Wien 0\n", - "1 1 Der Telegraph a44 1836 4 de Wien 0\n", - "2 2 Der Telegraph a44 1836 4 de Wien 0\n", - "3 3 Der Telegraph a44 1836 4 de Wien 0\n", - "4 4 Der Telegraph a44 1836 4 de Wien 0" + " manifest_id aid year day dc_title dc_title_additional \\\n", + "0 fug15050701 fug 1505 15050701 Fugger - Zeitungen NaN \n", + "1 fug15680120 fug 1568 15680120 Fugger - Zeitungen NaN \n", + "2 fug15680124 fug 1568 15680124 Fugger - Zeitungen NaN \n", + "3 fug15680228 fug 1568 15680228 Fugger - Zeitungen NaN \n", + "4 fug15680304 fug 1568 15680304 Fugger - Zeitungen NaN \n", + "\n", + " subjects place_of_publications languages dc_type ... meta_type \\\n", + "0 Tageszeitung o.O. de newspaper ... brz \n", + "1 Tageszeitung o.O. de newspaper ... brz \n", + "2 Tageszeitung o.O. de newspaper ... brz \n", + "3 Tageszeitung o.O. de newspaper ... brz \n", + "4 Tageszeitung o.O. de newspaper ... brz \n", + "\n", + " ini_type modification_datetime longer_page_id dc_date \\\n", + "0 anno 2013-06-27 13:28:35 1 1505-07-01 \n", + "1 anno 2013-06-27 13:27:59 1 1568-01-20 \n", + "2 anno 2013-06-27 13:27:58 1 1568-01-24 \n", + "3 anno 2013-06-27 13:27:59 1 1568-02-28 \n", + "4 anno 2013-06-27 13:27:58 1 1568-03-04 \n", + "\n", + " link_pdf \\\n", + "0 http://anno.onb.ac.at/cgi-content/anno_pdf.pl?... \n", + "1 http://anno.onb.ac.at/cgi-content/anno_pdf.pl?... \n", + "2 http://anno.onb.ac.at/cgi-content/anno_pdf.pl?... \n", + "3 http://anno.onb.ac.at/cgi-content/anno_pdf.pl?... \n", + "4 http://anno.onb.ac.at/cgi-content/anno_pdf.pl?... \n", + "\n", + " link_old has_ocr meta_id \\\n", + "0 http://anno.onb.ac.at/cgi-content/anno?aid=fug... 0 1122198 \n", + "1 http://anno.onb.ac.at/cgi-content/anno?aid=fug... 0 1122201 \n", + "2 http://anno.onb.ac.at/cgi-content/anno?aid=fug... 0 1122202 \n", + "3 http://anno.onb.ac.at/cgi-content/anno?aid=fug... 0 1122203 \n", + "4 http://anno.onb.ac.at/cgi-content/anno?aid=fug... 0 1122204 \n", + "\n", + " page_count \n", + "0 2 \n", + "1 1 \n", + "2 2 \n", + "3 1 \n", + "4 4 \n", + "\n", + "[5 rows x 21 columns]" ] }, "execution_count": 3, @@ -151,7 +267,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 4, "metadata": {}, "outputs": [ { @@ -175,86 +291,114 @@ " \n", "5 rows × 21 columns
\n", "" ], "text/plain": [ - " Unnamed: 0 title ais year pages languages place in_labs\n", - "0 0 Der Telegraph a44 1836 4 de Wien False\n", - "1 1 Der Telegraph a44 1836 4 de Wien False\n", - "2 2 Der Telegraph a44 1836 4 de Wien False\n", - "3 3 Der Telegraph a44 1836 4 de Wien False\n", - "4 4 Der Telegraph a44 1836 4 de Wien False" + " manifest_id aid year day dc_title dc_title_additional \\\n", + "0 fug15050701 fug 1505 15050701 Fugger - Zeitungen NaN \n", + "1 fug15680120 fug 1568 15680120 Fugger - Zeitungen NaN \n", + "2 fug15680124 fug 1568 15680124 Fugger - Zeitungen NaN \n", + "3 fug15680228 fug 1568 15680228 Fugger - Zeitungen NaN \n", + "4 fug15680304 fug 1568 15680304 Fugger - Zeitungen NaN \n", + "\n", + " subjects place_of_publications languages dc_type ... meta_type \\\n", + "0 Tageszeitung o.O. de newspaper ... brz \n", + "1 Tageszeitung o.O. de newspaper ... brz \n", + "2 Tageszeitung o.O. de newspaper ... brz \n", + "3 Tageszeitung o.O. de newspaper ... brz \n", + "4 Tageszeitung o.O. de newspaper ... brz \n", + "\n", + " ini_type modification_datetime longer_page_id dc_date \\\n", + "0 anno 2013-06-27 13:28:35 1 1505-07-01 \n", + "1 anno 2013-06-27 13:27:59 1 1568-01-20 \n", + "2 anno 2013-06-27 13:27:58 1 1568-01-24 \n", + "3 anno 2013-06-27 13:27:59 1 1568-02-28 \n", + "4 anno 2013-06-27 13:27:58 1 1568-03-04 \n", + "\n", + " link_pdf \\\n", + "0 http://anno.onb.ac.at/cgi-content/anno_pdf.pl?... \n", + "1 http://anno.onb.ac.at/cgi-content/anno_pdf.pl?... \n", + "2 http://anno.onb.ac.at/cgi-content/anno_pdf.pl?... \n", + "3 http://anno.onb.ac.at/cgi-content/anno_pdf.pl?... \n", + "4 http://anno.onb.ac.at/cgi-content/anno_pdf.pl?... \n", + "\n", + " link_old has_ocr meta_id \\\n", + "0 http://anno.onb.ac.at/cgi-content/anno?aid=fug... 0 1122198 \n", + "1 http://anno.onb.ac.at/cgi-content/anno?aid=fug... 0 1122201 \n", + "2 http://anno.onb.ac.at/cgi-content/anno?aid=fug... 0 1122202 \n", + "3 http://anno.onb.ac.at/cgi-content/anno?aid=fug... 0 1122203 \n", + "4 http://anno.onb.ac.at/cgi-content/anno?aid=fug... 0 1122204 \n", + "\n", + " page_count \n", + "0 2 \n", + "1 1 \n", + "2 2 \n", + "3 1 \n", + "4 4 \n", + "\n", + "[5 rows x 21 columns]" ] }, - "execution_count": 7, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } @@ -404,7 +655,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 7, "metadata": {}, "outputs": [], "source": [ @@ -413,7 +664,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 8, "metadata": {}, "outputs": [], "source": [ @@ -422,18 +673,16 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "array(['de', 'it', 'hu', 'ro', 'unknown', 'en', 'pt', 'multi', 'sk', 'cs',\n", - " 'eo', 'el', 'hr', 'he', 'pl', 'fr', 'ru', 'sl', 'sr', 'uk'],\n", - " dtype=object)" + "array(['de', 'unknown', 'multi', 'el', 'hr'], dtype=object)" ] }, - "execution_count": 10, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" } @@ -444,11 +693,11 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 10, "metadata": {}, "outputs": [], "source": [ - "dd.loc[dd['place'].isnull(), 'place'] = 'unknown'" + "dd.loc[dd['place_of_publications'].isnull(), 'place_of_publications'] = 'unknown'" ] }, { @@ -470,19 +719,19 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "year_min, year_max = dd.year.min(), dd.year.max()\n", - "pages_min, pages_max = dd.pages.min(), dd.pages.max()\n", - "pages_unique = sorted(dd.pages.unique())\n", + "pages_min, pages_max = dd.page_count.min(), dd.page_count.max()\n", + "pages_unique = sorted(dd.page_count.unique())\n", "all_languages = dd.languages.unique()" ] }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 12, "metadata": {}, "outputs": [], "source": [ @@ -491,33 +740,18 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "549383bbad4a4bf7b9866d0c051b3227", + "model_id": "0ff03b75360d49d291c63e06ff8e8ba7", "version_major": 2, "version_minor": 0 }, - "text/html": [ - "Failed to display Jupyter Widget of type VBox
.
\n", - " If you're reading this message in the Jupyter Notebook or JupyterLab Notebook, it may mean\n", - " that the widgets JavaScript is still loading. If this message persists, it\n", - " likely means that the widgets JavaScript library is either not installed or\n", - " not enabled. See the Jupyter\n", - " Widgets Documentation for setup instructions.\n", - "
\n", - "\n", - " If you're reading this message in another frontend (for example, a static\n", - " rendering on GitHub or NBViewer),\n", - " it may mean that your frontend doesn't currently support widgets.\n", - "
\n" - ], "text/plain": [ - "VBox(children=(IntRangeSlider(value=(1505, 2017), continuous_update=False, description='Years', layout=Layout(width='90%'), max=2017, min=1505), SelectionRangeSlider(continuous_update=False, description='Pages', index=(0, 1128), layout=Layout(width='90%'), options=(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 440, 441, 442, 443, 444, 445, 446, 447, 448, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 638, 639, 640, 641, 642, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 730, 731, 732, 733, 734, 735, 736, 737, 738, 740, 741, 742, 743, 744, 745, 746, 747, 748, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 762, 764, 765, 766, 767, 768, 769, 770, 771, 772, 774, 775, 776, 777, 778, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 792, 793, 794, 795, 797, 798, 799, 800, 801, 802, 803, 804, 805, 807, 808, 809, 810, 812, 813, 814, 816, 817, 818, 819, 820, 821, 822, 824, 825, 826, 828, 829, 832, 834, 835, 836, 837, 838, 839, 840, 841, 842, 844, 846, 848, 850, 852, 853, 854, 855, 856, 858, 859, 860, 863, 864, 865, 867, 868, 870, 872, 874, 876, 877, 878, 880, 882, 884, 888, 892, 893, 894, 896, 898, 899, 900, 902, 904, 905, 907, 910, 917, 918, 919, 926, 928, 932, 934, 936, 940, 941, 942, 944, 948, 950, 954, 956, 958, 960, 962, 963, 964, 966, 968, 969, 970, 972, 973, 974, 976, 977, 978, 982, 984, 986, 988, 990, 992, 993, 996, 998, 1002, 1004, 1005, 1006, 1008, 1010, 1012, 1018, 1020, 1022, 1024, 1026, 1028, 1030, 1036, 1037, 1040, 1042, 1044, 1045, 1046, 1048, 1052, 1056, 1058, 1060, 1070, 1074, 1078, 1084, 1087, 1088, 1093, 1096, 1098, 1100, 1102, 1104, 1106, 1109, 1110, 1112, 1114, 1116, 1118, 1128, 1130, 1132, 1133, 1134, 1135, 1136, 1138, 1140, 1141, 1142, 1144, 1146, 1147, 1152, 1153, 1155, 1156, 1157, 1160, 1164, 1182, 1183, 1192, 1194, 1196, 1197, 1198, 1199, 1202, 1205, 1206, 1207, 1208, 1214, 1216, 1217, 1220, 1224, 1226, 1228, 1230, 1231, 1232, 1234, 1235, 1236, 1237, 1238, 1240, 1242, 1244, 1248, 1252, 1256, 1258, 1264, 1269, 1273, 1274, 1275, 1277, 1281, 1284, 1288, 1292, 1293, 1294, 1296, 1301, 1305, 1306, 1318, 1320, 1321, 1322, 1326, 1328, 1336, 1348, 1354, 1356, 1362, 1375, 1380, 1398, 1402, 1408, 1412, 1416, 1419, 1420, 1428, 1431, 1432, 1433, 1434, 1438, 1440, 1444, 1456, 1462, 1464, 1466, 1474, 1478, 1480, 1489, 1494, 1498, 1500, 1506, 1507, 1508, 1509, 1510, 1511, 1512, 1513, 1514, 1516, 1517, 1518, 1520, 1522, 1527, 1528, 1532, 1539, 1540, 1542, 1546, 1550, 1552, 1553, 1564, 1574, 1576, 1585, 1586, 1588, 1592, 1594, 1602, 1604, 1605, 1610, 1614, 1615, 1617, 1623, 1624, 1632, 1639, 1642, 1644, 1651, 1659, 1666, 1668, 1701, 1704, 1706, 1708, 1712, 1713, 1716, 1717, 1722, 1738, 1750, 1755, 1768, 1774, 1886, 1890, 1894, 1905, 2049, 2060, 2162, 2271, 2367, 2421, 2604, 2699, 2876, 4012), value=(0, 4012)), SelectMultiple(description='Languages', index=(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19), layout=Layout(width='90%'), options=('cs', 'de', 'el', 'en', 'eo', 'fr', 'he', 'hr', 'hu', 'it', 'multi', 'pl', 'pt', 'ro', 'ru', 'sk', 'sl', 'sr', 'uk', 'unknown'), rows=20, value=('cs', 'de', 'el', 'en', 'eo', 'fr', 'he', 'hr', 'hu', 'it', 'multi', 'pl', 'pt', 'ro', 'ru', 'sk', 'sl', 'sr', 'uk', 'unknown')), Checkbox(value=False, description='Limit to Lab content', layout=Layout(width='90%')), Output()))" + "VBox(children=(IntRangeSlider(value=(1505, 1877), continuous_update=False, description='Years', layout=Layout(…" ] }, "metadata": {}, @@ -545,8 +779,8 @@ " filtered = dd[\n", " (dd['year'] >= ymin) &\n", " (dd['year'] <= ymax) &\n", - " (dd['pages'] >= pmin) &\n", - " (dd['pages'] <= pmax) &\n", + " (dd['page_count'] >= pmin) &\n", + " (dd['page_count'] <= pmax) &\n", " (dd['languages'].isin(selected_languages))\n", " ]\n", " if labs.value:\n", @@ -586,30 +820,32 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/html": [ - "" - ], - "text/vnd.plotly.v1+html": [ - "" + "!function(t){if(\"object\"==typeof exports&&\"undefined\"!=typeof module)module.exports=t();else if(\"function\"==typeof define&&define.amd)define([],t);else{(\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:this).Plotly=t()}}(function(){return function(){return function t(e,r,n){function i(o,s){if(!r[o]){if(!e[o]){var l=\"function\"==typeof require&&require;if(!s&&l)return l(o,!0);if(a)return a(o,!0);var c=new Error(\"Cannot find module '\"+o+\"'\");throw c.code=\"MODULE_NOT_FOUND\",c}var u=r[o]={exports:{}};e[o][0].call(u.exports,function(t){return i(e[o][1][t]||t)},u,u.exports,t,e,r,n)}return r[o].exports}for(var a=\"function\"==typeof require&&require,o=0;o=p0)&&!(p1>=hi)\",[\"p0\",\"p1\"]),g=u(\"lo===p0\",[\"p0\"]),v=u(\"lo =r)for(n=r;++an&&(n=r)}else for(;++a=r)for(n=r;++an&&(n=r);return n},t.mean=function(t,e){var r,n=t.length,i=n,a=-1,o=0;if(null==e)for(;++a l.length)return r;var i,a=c[n-1];return null!=e&&n>=l.length?i=r.entries():(i=[],r.each(function(e,r){i.push({key:r,values:t(e,n)})})),null!=a?i.sort(function(t,e){return a(t.key,e.key)}):i}(u(t,0,a,o),0)},key:function(t){return l.push(t),s},sortKeys:function(t){return c[l.length-1]=t,s},sortValues:function(e){return t=e,s},rollup:function(t){return e=t,s}}},t.set=c,t.map=r,t.keys=function(t){var e=[];for(var r in t)e.push(r);return e},t.values=function(t){var e=[];for(var r in t)e.push(t[r]);return e},t.entries=function(t){var e=[];for(var r in t)e.push({key:r,value:t[r]});return e},Object.defineProperty(t,\"__esModule\",{value:!0})}(\"object\"==typeof r&&\"undefined\"!=typeof e?r:n.d3=n.d3||{})},{}],147:[function(t,e,r){var n;n=this,function(t){\"use strict\";function e(t,e,r){t.prototype=e.prototype=r,r.constructor=t}function r(t,e){var r=Object.create(t.prototype);for(var n in e)r[n]=e[n];return r}function n(){}var i=\"\\\\s*([+-]?\\\\d+)\\\\s*\",a=\"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",o=\"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",s=/^#([0-9a-f]{3})$/,l=/^#([0-9a-f]{6})$/,c=new RegExp(\"^rgb\\\\(\"+[i,i,i]+\"\\\\)$\"),u=new RegExp(\"^rgb\\\\(\"+[o,o,o]+\"\\\\)$\"),f=new RegExp(\"^rgba\\\\(\"+[i,i,i,a]+\"\\\\)$\"),h=new RegExp(\"^rgba\\\\(\"+[o,o,o,a]+\"\\\\)$\"),p=new RegExp(\"^hsl\\\\(\"+[a,o,o]+\"\\\\)$\"),d=new RegExp(\"^hsla\\\\(\"+[a,o,o,a]+\"\\\\)$\"),g={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function v(t){var e;return t=(t+\"\").trim().toLowerCase(),(e=s.exec(t))?new _((e=parseInt(e[1],16))>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):(e=l.exec(t))?m(parseInt(e[1],16)):(e=c.exec(t))?new _(e[1],e[2],e[3],1):(e=u.exec(t))?new _(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=f.exec(t))?y(e[1],e[2],e[3],e[4]):(e=h.exec(t))?y(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=p.exec(t))?k(e[1],e[2]/100,e[3]/100,1):(e=d.exec(t))?k(e[1],e[2]/100,e[3]/100,e[4]):g.hasOwnProperty(t)?m(g[t]):\"transparent\"===t?new _(NaN,NaN,NaN,0):null}function m(t){return new _(t>>16&255,t>>8&255,255&t,1)}function y(t,e,r,n){return n<=0&&(t=e=r=NaN),new _(t,e,r,n)}function x(t){return t instanceof n||(t=v(t)),t?new _((t=t.rgb()).r,t.g,t.b,t.opacity):new _}function b(t,e,r,n){return 1===arguments.length?x(t):new _(t,e,r,null==n?1:n)}function _(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}function w(t){return((t=Math.max(0,Math.min(255,Math.round(t)||0)))<16?\"0\":\"\")+t.toString(16)}function k(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new A(t,e,r,n)}function T(t,e,r,i){return 1===arguments.length?function(t){if(t instanceof A)return new A(t.h,t.s,t.l,t.opacity);if(t instanceof n||(t=v(t)),!t)return new A;if(t instanceof A)return t;var e=(t=t.rgb()).r/255,r=t.g/255,i=t.b/255,a=Math.min(e,r,i),o=Math.max(e,r,i),s=NaN,l=o-a,c=(o+a)/2;return l?(s=e===o?(r-i)/l+6*(r0&&c<1?0:s,new A(s,l,c,t.opacity)}(t):new A(t,e,r,null==i?1:i)}function A(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}function M(t,e,r){return 255*(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)}e(n,v,{displayable:function(){return this.rgb().displayable()},hex:function(){return this.rgb().hex()},toString:function(){return this.rgb()+\"\"}}),e(_,b,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new _(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new _(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){return 0<=this.r&&this.r<=255&&0<=this.g&&this.g<=255&&0<=this.b&&this.b<=255&&0<=this.opacity&&this.opacity<=1},hex:function(){return\"#\"+w(this.r)+w(this.g)+w(this.b)},toString:function(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?\"rgb(\":\"rgba(\")+Math.max(0,Math.min(255,Math.round(this.r)||0))+\", \"+Math.max(0,Math.min(255,Math.round(this.g)||0))+\", \"+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===t?\")\":\", \"+t+\")\")}})),e(A,T,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new A(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new A(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+360*(this.h<0),e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*e,i=2*r-n;return new _(M(t>=240?t-240:t+120,i,n),M(t,i,n),M(t<120?t+240:t-120,i,n),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1}}));var S=Math.PI/180,E=180/Math.PI,C=.96422,L=1,z=.82521,O=4/29,I=6/29,D=3*I*I,P=I*I*I;function R(t){if(t instanceof B)return new B(t.l,t.a,t.b,t.opacity);if(t instanceof G){if(isNaN(t.h))return new B(t.l,0,0,t.opacity);var e=t.h*S;return new B(t.l,Math.cos(e)*t.c,Math.sin(e)*t.c,t.opacity)}t instanceof _||(t=x(t));var r,n,i=U(t.r),a=U(t.g),o=U(t.b),s=N((.2225045*i+.7168786*a+.0606169*o)/L);return i===a&&a===o?r=n=s:(r=N((.4360747*i+.3850649*a+.1430804*o)/C),n=N((.0139322*i+.0971045*a+.7141733*o)/z)),new B(116*s-16,500*(r-s),200*(s-n),t.opacity)}function F(t,e,r,n){return 1===arguments.length?R(t):new B(t,e,r,null==n?1:n)}function B(t,e,r,n){this.l=+t,this.a=+e,this.b=+r,this.opacity=+n}function N(t){return t>P?Math.pow(t,1/3):t/D+O}function j(t){return t>I?t*t*t:D*(t-O)}function V(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function U(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function H(t){if(t instanceof G)return new G(t.h,t.c,t.l,t.opacity);if(t instanceof B||(t=R(t)),0===t.a&&0===t.b)return new G(NaN,0,t.l,t.opacity);var e=Math.atan2(t.b,t.a)*E;return new G(e<0?e+360:e,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}function q(t,e,r,n){return 1===arguments.length?H(t):new G(t,e,r,null==n?1:n)}function G(t,e,r,n){this.h=+t,this.c=+e,this.l=+r,this.opacity=+n}e(B,F,r(n,{brighter:function(t){return new B(this.l+18*(null==t?1:t),this.a,this.b,this.opacity)},darker:function(t){return new B(this.l-18*(null==t?1:t),this.a,this.b,this.opacity)},rgb:function(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,r=isNaN(this.b)?t:t-this.b/200;return new _(V(3.1338561*(e=C*j(e))-1.6168667*(t=L*j(t))-.4906146*(r=z*j(r))),V(-.9787684*e+1.9161415*t+.033454*r),V(.0719453*e-.2289914*t+1.4052427*r),this.opacity)}})),e(G,q,r(n,{brighter:function(t){return new G(this.h,this.c,this.l+18*(null==t?1:t),this.opacity)},darker:function(t){return new G(this.h,this.c,this.l-18*(null==t?1:t),this.opacity)},rgb:function(){return R(this).rgb()}}));var Y=-.14861,W=1.78277,X=-.29227,Z=-.90649,$=1.97294,J=$*Z,K=$*W,Q=W*X-Z*Y;function tt(t,e,r,n){return 1===arguments.length?function(t){if(t instanceof et)return new et(t.h,t.s,t.l,t.opacity);t instanceof _||(t=x(t));var e=t.r/255,r=t.g/255,n=t.b/255,i=(Q*n+J*e-K*r)/(Q+J-K),a=n-i,o=($*(r-i)-X*a)/Z,s=Math.sqrt(o*o+a*a)/($*i*(1-i)),l=s?Math.atan2(o,a)*E-120:NaN;return new et(l<0?l+360:l,s,i,t.opacity)}(t):new et(t,e,r,null==n?1:n)}function et(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}e(et,tt,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new et(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new et(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=isNaN(this.h)?0:(this.h+120)*S,e=+this.l,r=isNaN(this.s)?0:this.s*e*(1-e),n=Math.cos(t),i=Math.sin(t);return new _(255*(e+r*(Y*n+W*i)),255*(e+r*(X*n+Z*i)),255*(e+r*($*n)),this.opacity)}})),t.color=v,t.rgb=b,t.hsl=T,t.lab=F,t.hcl=q,t.lch=function(t,e,r,n){return 1===arguments.length?H(t):new G(r,e,t,null==n?1:n)},t.gray=function(t,e){return new B(t,0,0,null==e?1:e)},t.cubehelix=tt,Object.defineProperty(t,\"__esModule\",{value:!0})}(\"object\"==typeof r&&\"undefined\"!=typeof e?r:n.d3=n.d3||{})},{}],148:[function(t,e,r){var n;n=this,function(t){\"use strict\";var e={value:function(){}};function r(){for(var t,e=0,r=arguments.length,i={};e =i.length)return e;var n=[],o=a[r++];return e.forEach(function(e,i){n.push({key:e,values:t(i,r)})}),o?n.sort(function(t,e){return o(t.key,e.key)}):n}(o(t.map,e,0),0)},n.key=function(t){return i.push(t),n},n.sortKeys=function(t){return a[i.length-1]=t,n},n.sortValues=function(t){return e=t,n},n.rollup=function(t){return r=t,n},n},t.set=function(t){var e=new L;if(t)for(var r=0,n=t.length;r 360?t-=360:t<0&&(t+=360),t<60?n+(i-n)*t/60:t<180?i:t<240?n+(i-n)*(240-t)/60:n}(t))}return t=isNaN(t)?0:(t%=360)<0?t+360:t,e=isNaN(e)?0:e<0?0:e>1?1:e,n=2*(r=r<0?0:r>1?1:r)-(i=r<=.5?r*(1+e):r+e-r*e),new ae(a(t+120),a(t),a(t-120))}function Gt(e,r,n){return this instanceof Gt?(this.h=+e,this.c=+r,void(this.l=+n)):arguments.length<2?e instanceof Gt?new Gt(e.h,e.c,e.l):ee(e instanceof Xt?e.l:(e=he((e=t.rgb(e)).r,e.g,e.b)).l,e.a,e.b):new Gt(e,r,n)}Ht.brighter=function(t){return t=Math.pow(.7,arguments.length?t:1),new Ut(this.h,this.s,this.l/t)},Ht.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new Ut(this.h,this.s,t*this.l)},Ht.rgb=function(){return qt(this.h,this.s,this.l)},t.hcl=Gt;var Yt=Gt.prototype=new Vt;function Wt(t,e,r){return isNaN(t)&&(t=0),isNaN(e)&&(e=0),new Xt(r,Math.cos(t*=Ct)*e,Math.sin(t)*e)}function Xt(t,e,r){return this instanceof Xt?(this.l=+t,this.a=+e,void(this.b=+r)):arguments.length<2?t instanceof Xt?new Xt(t.l,t.a,t.b):t instanceof Gt?Wt(t.h,t.c,t.l):he((t=ae(t)).r,t.g,t.b):new Xt(t,e,r)}Yt.brighter=function(t){return new Gt(this.h,this.c,Math.min(100,this.l+Zt*(arguments.length?t:1)))},Yt.darker=function(t){return new Gt(this.h,this.c,Math.max(0,this.l-Zt*(arguments.length?t:1)))},Yt.rgb=function(){return Wt(this.h,this.c,this.l).rgb()},t.lab=Xt;var Zt=18,$t=.95047,Jt=1,Kt=1.08883,Qt=Xt.prototype=new Vt;function te(t,e,r){var n=(t+16)/116,i=n+e/500,a=n-r/200;return new ae(ie(3.2404542*(i=re(i)*$t)-1.5371385*(n=re(n)*Jt)-.4985314*(a=re(a)*Kt)),ie(-.969266*i+1.8760108*n+.041556*a),ie(.0556434*i-.2040259*n+1.0572252*a))}function ee(t,e,r){return t>0?new Gt(Math.atan2(r,e)*Lt,Math.sqrt(e*e+r*r),t):new Gt(NaN,NaN,t)}function re(t){return t>.206893034?t*t*t:(t-4/29)/7.787037}function ne(t){return t>.008856?Math.pow(t,1/3):7.787037*t+4/29}function ie(t){return Math.round(255*(t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055))}function ae(t,e,r){return this instanceof ae?(this.r=~~t,this.g=~~e,void(this.b=~~r)):arguments.length<2?t instanceof ae?new ae(t.r,t.g,t.b):ue(\"\"+t,ae,qt):new ae(t,e,r)}function oe(t){return new ae(t>>16,t>>8&255,255&t)}function se(t){return oe(t)+\"\"}Qt.brighter=function(t){return new Xt(Math.min(100,this.l+Zt*(arguments.length?t:1)),this.a,this.b)},Qt.darker=function(t){return new Xt(Math.max(0,this.l-Zt*(arguments.length?t:1)),this.a,this.b)},Qt.rgb=function(){return te(this.l,this.a,this.b)},t.rgb=ae;var le=ae.prototype=new Vt;function ce(t){return t<16?\"0\"+Math.max(0,t).toString(16):Math.min(255,t).toString(16)}function ue(t,e,r){var n,i,a,o=0,s=0,l=0;if(n=/([a-z]+)\\((.*)\\)/.exec(t=t.toLowerCase()))switch(i=n[2].split(\",\"),n[1]){case\"hsl\":return r(parseFloat(i[0]),parseFloat(i[1])/100,parseFloat(i[2])/100);case\"rgb\":return e(de(i[0]),de(i[1]),de(i[2]))}return(a=ge.get(t))?e(a.r,a.g,a.b):(null==t||\"#\"!==t.charAt(0)||isNaN(a=parseInt(t.slice(1),16))||(4===t.length?(o=(3840&a)>>4,o|=o>>4,s=240&a,s|=s>>4,l=15&a,l|=l<<4):7===t.length&&(o=(16711680&a)>>16,s=(65280&a)>>8,l=255&a)),e(o,s,l))}function fe(t,e,r){var n,i,a=Math.min(t/=255,e/=255,r/=255),o=Math.max(t,e,r),s=o-a,l=(o+a)/2;return s?(i=l<.5?s/(o+a):s/(2-o-a),n=t==o?(e-r)/s+(e=o)d(c,u,C--,L=L-o|0);else if(L>=0)d(s,l,E--,L);else if(L<=-o){L=-L-o|0;for(var z=0;zs&&(r=s-l),a=r;a>=0;a--){for(var f=!0,h=0;h0&&l.push([\"index[\",f,\"]-=s\",f].join(\"\")),l.push([\"++index[\",u,\"]\"].join(\"\"))),l.push(\"}\")}return l.join(\"\\n\")}function a(t,e,r){for(var n=t.body,i=[],a=[],o=0;of;)h.pop(),--p;var d,g=new Array(p+1);for(a=0;a<=p;++a)(d=g[a]=[]).x0=a>0?h[a-1]:u,d.x1=a=1?h:t<=-1?-h:Math.asin(t)}function g(t){return t.innerRadius}function v(t){return t.outerRadius}function m(t){return t.startAngle}function y(t){return t.endAngle}function x(t){return t&&t.padAngle}function b(t,e,r,n,i,a,s){var l=t-r,u=e-n,f=(s?a:-a)/c(l*l+u*u),h=f*u,p=-f*l,d=t+h,g=e+p,v=r+h,m=n+p,y=(d+v)/2,x=(g+m)/2,b=v-d,_=m-g,w=b*b+_*_,k=i-a,T=d*m-v*g,A=(_<0?-1:1)*c(o(0,k*k*w-T*T)),M=(T*_-b*A)/w,S=(-T*b-_*A)/w,E=(T*_+b*A)/w,C=(-T*b+_*A)/w,L=M-y,z=S-x,O=E-y,I=C-x;return L*L+z*z>O*O+I*I&&(M=E,S=C),{cx:M,cy:S,x01:-h,y01:-p,x11:M*(i/k-1),y11:S*(i/k-1)}}function _(t){this._context=t}function w(t){return new _(t)}function k(t){return t[0]}function T(t){return t[1]}function A(){var t=k,n=T,i=r(!0),a=null,o=w,s=null;function l(r){var l,c,u,f=r.length,h=!1;for(null==a&&(s=o(u=e.path())),l=0;l<=f;++l)!(l=0&&\"xmlns\"!==(r=t.slice(0,e))&&(t=t.slice(e+1)),J.hasOwnProperty(r)?{space:J[r],local:t}:t}},W.attr=function(e,r){if(arguments.length<2){if(\"string\"==typeof e){var n=this.node();return(e=t.ns.qualify(e)).local?n.getAttributeNS(e.space,e.local):n.getAttribute(e)}for(r in e)this.each(K(r,e[r]));return this}return this.each(K(e,r))},W.classed=function(t,e){if(arguments.length<2){if(\"string\"==typeof t){var r=this.node(),n=(t=et(t)).length,i=-1;if(e=r.classList){for(;++i