├── 210124_venn.ipynb ├── 210219_Medium_Squarify_Matplotlib.ipynb ├── 210630_Medium_ColabwithR.ipynb ├── 210630_Medium_Exercise_Visualization.ipynb ├── 220219_Medium_PoissonDistribution.ipynb ├── 220220_Medium_ChiSquareDistribution.ipynb ├── 220220_Medium_GeometricDistribution.ipynb ├── 220225_Medium_PDF.ipynb └── README.md /210124_venn.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "nbformat": 4, 3 | "nbformat_minor": 0, 4 | "metadata": { 5 | "colab": { 6 | "name": "Medium_210124Venn.ipynb", 7 | "provenance": [], 8 | "collapsed_sections": [] 9 | }, 10 | "kernelspec": { 11 | "name": "python3", 12 | "display_name": "Python 3" 13 | } 14 | }, 15 | "cells": [ 16 | { 17 | "cell_type": "markdown", 18 | "metadata": { 19 | "id": "m5FstR3BXWxM" 20 | }, 21 | "source": [ 22 | "# Venn Diagrams\r\n", 23 | "\r\n", 24 | "## Kate Wall\r\n", 25 | "## Last Edit: Jan. 24, 2021\r\n", 26 | "## How to easily make a Venn Diagrams from pandas DataFrames\r\n" 27 | ] 28 | }, 29 | { 30 | "cell_type": "code", 31 | "metadata": { 32 | "id": "mSJrqTGenhbe" 33 | }, 34 | "source": [ 35 | "from collections import Counter\n", 36 | "from matplotlib_venn import venn2, venn3\n", 37 | "import matplotlib.pyplot as plt\n", 38 | "import pandas as pd\n", 39 | "from IPython.core.display import HTML\n", 40 | "def multi_table(table_list): #for visualizing tables in the same cell\n", 41 | " return HTML(\n", 42 | " '' +\n", 43 | " ''.join(['' for table in table_list]) +\n", 44 | " '
' + table._repr_html_() + '
'\n", 45 | " ) #https://github.com/epmoyer/ipy_table/issues/24" 46 | ], 47 | "execution_count": 1, 48 | "outputs": [] 49 | }, 50 | { 51 | "cell_type": "markdown", 52 | "metadata": { 53 | "id": "zVJb4ddcV9MH" 54 | }, 55 | "source": [ 56 | "# Setup" 57 | ] 58 | }, 59 | { 60 | "cell_type": "code", 61 | "metadata": { 62 | "colab": { 63 | "base_uri": "https://localhost:8080/", 64 | "height": 260 65 | }, 66 | "id": "08njqMO1Vz9r", 67 | "outputId": "11a878f9-0f36-46f5-89d2-3ed9ed7c7f7c" 68 | }, 69 | "source": [ 70 | "groupA = ['person1','person2','person3','person4','person5','person6','person7']\r\n", 71 | "groupB = ['person1','person2','person3', 'person8','person9']\r\n", 72 | "groupC = ['person1','person2', 'person4', 'person9','person10']\r\n", 73 | "dfA = pd.DataFrame(groupA,columns=['A'])\r\n", 74 | "dfB = pd.DataFrame(groupB,columns=['B'])\r\n", 75 | "dfC = pd.DataFrame(groupC,columns=['C'])\r\n", 76 | "multi_table([dfA,dfB,dfC])" 77 | ], 78 | "execution_count": 2, 79 | "outputs": [ 80 | { 81 | "output_type": "execute_result", 82 | "data": { 83 | "text/html": [ 84 | "
\n", 85 | "\n", 98 | "\n", 99 | " \n", 100 | " \n", 101 | " \n", 102 | " \n", 103 | " \n", 104 | " \n", 105 | " \n", 106 | " \n", 107 | " \n", 108 | " \n", 109 | " \n", 110 | " \n", 111 | " \n", 112 | " \n", 113 | " \n", 114 | " \n", 115 | " \n", 116 | " \n", 117 | " \n", 118 | " \n", 119 | " \n", 120 | " \n", 121 | " \n", 122 | " \n", 123 | " \n", 124 | " \n", 125 | " \n", 126 | " \n", 127 | " \n", 128 | " \n", 129 | " \n", 130 | " \n", 131 | " \n", 132 | " \n", 133 | " \n", 134 | " \n", 135 | "
A
0person1
1person2
2person3
3person4
4person5
5person6
6person7
\n", 136 | "
\n", 137 | "\n", 150 | "\n", 151 | " \n", 152 | " \n", 153 | " \n", 154 | " \n", 155 | " \n", 156 | " \n", 157 | " \n", 158 | " \n", 159 | " \n", 160 | " \n", 161 | " \n", 162 | " \n", 163 | " \n", 164 | " \n", 165 | " \n", 166 | " \n", 167 | " \n", 168 | " \n", 169 | " \n", 170 | " \n", 171 | " \n", 172 | " \n", 173 | " \n", 174 | " \n", 175 | " \n", 176 | " \n", 177 | " \n", 178 | " \n", 179 | "
B
0person1
1person2
2person3
3person8
4person9
\n", 180 | "
\n", 181 | "\n", 194 | "\n", 195 | " \n", 196 | " \n", 197 | " \n", 198 | " \n", 199 | " \n", 200 | " \n", 201 | " \n", 202 | " \n", 203 | " \n", 204 | " \n", 205 | " \n", 206 | " \n", 207 | " \n", 208 | " \n", 209 | " \n", 210 | " \n", 211 | " \n", 212 | " \n", 213 | " \n", 214 | " \n", 215 | " \n", 216 | " \n", 217 | " \n", 218 | " \n", 219 | " \n", 220 | " \n", 221 | " \n", 222 | " \n", 223 | "
C
0person1
1person2
2person4
3person9
4person10
\n", 224 | "
" 225 | ], 226 | "text/plain": [ 227 | "" 228 | ] 229 | }, 230 | "metadata": { 231 | "tags": [] 232 | }, 233 | "execution_count": 2 234 | } 235 | ] 236 | }, 237 | { 238 | "cell_type": "code", 239 | "metadata": { 240 | "colab": { 241 | "base_uri": "https://localhost:8080/", 242 | "height": 345 243 | }, 244 | "id": "D3FzGXlItoZh", 245 | "outputId": "0587d28b-82d3-4330-a781-5d7a28ff3c21" 246 | }, 247 | "source": [ 248 | "people = ['person1','person2','person3','person4','person5','person6','person7','person8','person9','person10']\r\n", 249 | "names = ['angela ','nick ','harry ','nicole ','britney','haseem ','anna ','sarah ','taylor ','jim ']\r\n", 250 | "roster = pd.DataFrame(zip(people,names),columns=['people','name'])\r\n", 251 | "roster" 252 | ], 253 | "execution_count": 3, 254 | "outputs": [ 255 | { 256 | "output_type": "execute_result", 257 | "data": { 258 | "text/html": [ 259 | "
\n", 260 | "\n", 273 | "\n", 274 | " \n", 275 | " \n", 276 | " \n", 277 | " \n", 278 | " \n", 279 | " \n", 280 | " \n", 281 | " \n", 282 | " \n", 283 | " \n", 284 | " \n", 285 | " \n", 286 | " \n", 287 | " \n", 288 | " \n", 289 | " \n", 290 | " \n", 291 | " \n", 292 | " \n", 293 | " \n", 294 | " \n", 295 | " \n", 296 | " \n", 297 | " \n", 298 | " \n", 299 | " \n", 300 | " \n", 301 | " \n", 302 | " \n", 303 | " \n", 304 | " \n", 305 | " \n", 306 | " \n", 307 | " \n", 308 | " \n", 309 | " \n", 310 | " \n", 311 | " \n", 312 | " \n", 313 | " \n", 314 | " \n", 315 | " \n", 316 | " \n", 317 | " \n", 318 | " \n", 319 | " \n", 320 | " \n", 321 | " \n", 322 | " \n", 323 | " \n", 324 | " \n", 325 | " \n", 326 | " \n", 327 | " \n", 328 | " \n", 329 | " \n", 330 | " \n", 331 | " \n", 332 | " \n", 333 | "
peoplename
0person1angela
1person2nick
2person3harry
3person4nicole
4person5britney
5person6haseem
6person7anna
7person8sarah
8person9taylor
9person10jim
\n", 334 | "
" 335 | ], 336 | "text/plain": [ 337 | " people name\n", 338 | "0 person1 angela \n", 339 | "1 person2 nick \n", 340 | "2 person3 harry \n", 341 | "3 person4 nicole \n", 342 | "4 person5 britney\n", 343 | "5 person6 haseem \n", 344 | "6 person7 anna \n", 345 | "7 person8 sarah \n", 346 | "8 person9 taylor \n", 347 | "9 person10 jim " 348 | ] 349 | }, 350 | "metadata": { 351 | "tags": [] 352 | }, 353 | "execution_count": 3 354 | } 355 | ] 356 | }, 357 | { 358 | "cell_type": "code", 359 | "metadata": { 360 | "colab": { 361 | "base_uri": "https://localhost:8080/" 362 | }, 363 | "id": "FXD2XRNYvtsB", 364 | "outputId": "a42560d1-2c05-4a51-b07f-93a3bb0c2826" 365 | }, 366 | "source": [ 367 | "mapRoster = roster.set_index('people').squeeze().to_dict()\r\n", 368 | "mapRoster" 369 | ], 370 | "execution_count": 4, 371 | "outputs": [ 372 | { 373 | "output_type": "execute_result", 374 | "data": { 375 | "text/plain": [ 376 | "{'person1': 'angela ',\n", 377 | " 'person10': 'jim ',\n", 378 | " 'person2': 'nick ',\n", 379 | " 'person3': 'harry ',\n", 380 | " 'person4': 'nicole ',\n", 381 | " 'person5': 'britney',\n", 382 | " 'person6': 'haseem ',\n", 383 | " 'person7': 'anna ',\n", 384 | " 'person8': 'sarah ',\n", 385 | " 'person9': 'taylor '}" 386 | ] 387 | }, 388 | "metadata": { 389 | "tags": [] 390 | }, 391 | "execution_count": 4 392 | } 393 | ] 394 | }, 395 | { 396 | "cell_type": "code", 397 | "metadata": { 398 | "colab": { 399 | "base_uri": "https://localhost:8080/", 400 | "height": 260 401 | }, 402 | "id": "6r9XoI2Q32s8", 403 | "outputId": "bb7d358f-2fbc-4d1e-fdf7-2497f6c58446" 404 | }, 405 | "source": [ 406 | "dfA['ANames'] = dfA.A.map(mapRoster)\n", 407 | "dfB['BNames'] = dfB.B.map(mapRoster)\n", 408 | "dfC['CNames'] = dfC.C.map(mapRoster)\n", 409 | "multi_table([dfA,dfB,dfC])" 410 | ], 411 | "execution_count": 5, 412 | "outputs": [ 413 | { 414 | "output_type": "execute_result", 415 | "data": { 416 | "text/html": [ 417 | "
\n", 418 | "\n", 431 | "\n", 432 | " \n", 433 | " \n", 434 | " \n", 435 | " \n", 436 | " \n", 437 | " \n", 438 | " \n", 439 | " \n", 440 | " \n", 441 | " \n", 442 | " \n", 443 | " \n", 444 | " \n", 445 | " \n", 446 | " \n", 447 | " \n", 448 | " \n", 449 | " \n", 450 | " \n", 451 | " \n", 452 | " \n", 453 | " \n", 454 | " \n", 455 | " \n", 456 | " \n", 457 | " \n", 458 | " \n", 459 | " \n", 460 | " \n", 461 | " \n", 462 | " \n", 463 | " \n", 464 | " \n", 465 | " \n", 466 | " \n", 467 | " \n", 468 | " \n", 469 | " \n", 470 | " \n", 471 | " \n", 472 | " \n", 473 | " \n", 474 | " \n", 475 | " \n", 476 | "
AANames
0person1angela
1person2nick
2person3harry
3person4nicole
4person5britney
5person6haseem
6person7anna
\n", 477 | "
\n", 478 | "\n", 491 | "\n", 492 | " \n", 493 | " \n", 494 | " \n", 495 | " \n", 496 | " \n", 497 | " \n", 498 | " \n", 499 | " \n", 500 | " \n", 501 | " \n", 502 | " \n", 503 | " \n", 504 | " \n", 505 | " \n", 506 | " \n", 507 | " \n", 508 | " \n", 509 | " \n", 510 | " \n", 511 | " \n", 512 | " \n", 513 | " \n", 514 | " \n", 515 | " \n", 516 | " \n", 517 | " \n", 518 | " \n", 519 | " \n", 520 | " \n", 521 | " \n", 522 | " \n", 523 | " \n", 524 | " \n", 525 | " \n", 526 | "
BBNames
0person1angela
1person2nick
2person3harry
3person8sarah
4person9taylor
\n", 527 | "
\n", 528 | "\n", 541 | "\n", 542 | " \n", 543 | " \n", 544 | " \n", 545 | " \n", 546 | " \n", 547 | " \n", 548 | " \n", 549 | " \n", 550 | " \n", 551 | " \n", 552 | " \n", 553 | " \n", 554 | " \n", 555 | " \n", 556 | " \n", 557 | " \n", 558 | " \n", 559 | " \n", 560 | " \n", 561 | " \n", 562 | " \n", 563 | " \n", 564 | " \n", 565 | " \n", 566 | " \n", 567 | " \n", 568 | " \n", 569 | " \n", 570 | " \n", 571 | " \n", 572 | " \n", 573 | " \n", 574 | " \n", 575 | " \n", 576 | "
CCNames
0person1angela
1person2nick
2person4nicole
3person9taylor
4person10jim
\n", 577 | "
" 578 | ], 579 | "text/plain": [ 580 | "" 581 | ] 582 | }, 583 | "metadata": { 584 | "tags": [] 585 | }, 586 | "execution_count": 5 587 | } 588 | ] 589 | }, 590 | { 591 | "cell_type": "code", 592 | "metadata": { 593 | "colab": { 594 | "base_uri": "https://localhost:8080/", 595 | "height": 260 596 | }, 597 | "id": "aU_lAO0yDJSC", 598 | "outputId": "79833585-ae71-4bdd-fd66-9020184d3066" 599 | }, 600 | "source": [ 601 | "del dfA['A'],dfB['B'],dfC['C']\r\n", 602 | "multi_table([dfA,dfB,dfC])" 603 | ], 604 | "execution_count": 6, 605 | "outputs": [ 606 | { 607 | "output_type": "execute_result", 608 | "data": { 609 | "text/html": [ 610 | "
\n", 611 | "\n", 624 | "\n", 625 | " \n", 626 | " \n", 627 | " \n", 628 | " \n", 629 | " \n", 630 | " \n", 631 | " \n", 632 | " \n", 633 | " \n", 634 | " \n", 635 | " \n", 636 | " \n", 637 | " \n", 638 | " \n", 639 | " \n", 640 | " \n", 641 | " \n", 642 | " \n", 643 | " \n", 644 | " \n", 645 | " \n", 646 | " \n", 647 | " \n", 648 | " \n", 649 | " \n", 650 | " \n", 651 | " \n", 652 | " \n", 653 | " \n", 654 | " \n", 655 | " \n", 656 | " \n", 657 | " \n", 658 | " \n", 659 | " \n", 660 | " \n", 661 | "
ANames
0angela
1nick
2harry
3nicole
4britney
5haseem
6anna
\n", 662 | "
\n", 663 | "\n", 676 | "\n", 677 | " \n", 678 | " \n", 679 | " \n", 680 | " \n", 681 | " \n", 682 | " \n", 683 | " \n", 684 | " \n", 685 | " \n", 686 | " \n", 687 | " \n", 688 | " \n", 689 | " \n", 690 | " \n", 691 | " \n", 692 | " \n", 693 | " \n", 694 | " \n", 695 | " \n", 696 | " \n", 697 | " \n", 698 | " \n", 699 | " \n", 700 | " \n", 701 | " \n", 702 | " \n", 703 | " \n", 704 | " \n", 705 | "
BNames
0angela
1nick
2harry
3sarah
4taylor
\n", 706 | "
\n", 707 | "\n", 720 | "\n", 721 | " \n", 722 | " \n", 723 | " \n", 724 | " \n", 725 | " \n", 726 | " \n", 727 | " \n", 728 | " \n", 729 | " \n", 730 | " \n", 731 | " \n", 732 | " \n", 733 | " \n", 734 | " \n", 735 | " \n", 736 | " \n", 737 | " \n", 738 | " \n", 739 | " \n", 740 | " \n", 741 | " \n", 742 | " \n", 743 | " \n", 744 | " \n", 745 | " \n", 746 | " \n", 747 | " \n", 748 | " \n", 749 | "
CNames
0angela
1nick
2nicole
3taylor
4jim
\n", 750 | "
" 751 | ], 752 | "text/plain": [ 753 | "" 754 | ] 755 | }, 756 | "metadata": { 757 | "tags": [] 758 | }, 759 | "execution_count": 6 760 | } 761 | ] 762 | }, 763 | { 764 | "cell_type": "markdown", 765 | "metadata": { 766 | "id": "JKdtDSyUja-x" 767 | }, 768 | "source": [ 769 | "# Three-Way Venn Diagram" 770 | ] 771 | }, 772 | { 773 | "cell_type": "code", 774 | "metadata": { 775 | "id": "iLXyA-VJ40kn" 776 | }, 777 | "source": [ 778 | "A = set(dfA.ANames)\r\n", 779 | "B = set(dfB.BNames)\r\n", 780 | "C = set(dfC.CNames)\r\n", 781 | "\r\n", 782 | "AB_overlap = A & B\r\n", 783 | "AC_overlap = A & C\r\n", 784 | "BC_overlap = B & C\r\n", 785 | "ABC_overlap = A & B & C\r\n", 786 | "\r\n", 787 | "A_rest = A - AB_overlap - AC_overlap\r\n", 788 | "B_rest = B - AB_overlap - BC_overlap\r\n", 789 | "C_rest = C - AC_overlap - BC_overlap\r\n", 790 | "\r\n", 791 | "AB_only = AB_overlap - ABC_overlap\r\n", 792 | "AC_only = AC_overlap - ABC_overlap\r\n", 793 | "BC_only = BC_overlap - ABC_overlap" 794 | ], 795 | "execution_count": 7, 796 | "outputs": [] 797 | }, 798 | { 799 | "cell_type": "code", 800 | "metadata": { 801 | "colab": { 802 | "base_uri": "https://localhost:8080/", 803 | "height": 392 804 | }, 805 | "id": "nFixjxK570H0", 806 | "outputId": "c35ac279-c8cc-48ba-bb4e-83fe0c00627c" 807 | }, 808 | "source": [ 809 | "sets = Counter() #set order A, B, C \r\n", 810 | "sets['100'] = len(A_rest) #100 denotes A on, B off, C off\r\n", 811 | "sets['001'] = len(C_rest) #001 denotes A off, B off, C on\r\n", 812 | "sets['010'] = len(B_rest) #010 denotes A off, B on, C off\r\n", 813 | "sets['101'] = len(AC_only) #101 denotes A on, B off, C on\r\n", 814 | "sets['110'] = len(AB_only) #110 denotes A on, B on, C off\r\n", 815 | "sets['011'] = len(BC_only) #011 denotes A off, B on, C on\r\n", 816 | "sets['111'] = len(ABC_overlap) #011 denotes A on, B on, C on\r\n", 817 | "labels = ('Group A', 'Group B', 'Group C')\r\n", 818 | "\r\n", 819 | "plt.figure(figsize=(7,7))\r\n", 820 | "ax = plt.gca()\r\n", 821 | "venn3(subsets=sets, set_labels=labels, ax=ax,set_colors=('darkviolet','deepskyblue','blue'),alpha=0.7) \r\n", 822 | "plt.show()" 823 | ], 824 | "execution_count": 8, 825 | "outputs": [ 826 | { 827 | "output_type": "display_data", 828 | "data": { 829 | "image/png": "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\n", 830 | "text/plain": [ 831 | "
" 832 | ] 833 | }, 834 | "metadata": { 835 | "tags": [] 836 | } 837 | } 838 | ] 839 | }, 840 | { 841 | "cell_type": "markdown", 842 | "metadata": { 843 | "id": "g01YsUjIMepu" 844 | }, 845 | "source": [ 846 | "## Set the \"set label\" color (e.g. Group A) " 847 | ] 848 | }, 849 | { 850 | "cell_type": "code", 851 | "metadata": { 852 | "colab": { 853 | "base_uri": "https://localhost:8080/", 854 | "height": 392 855 | }, 856 | "id": "sc2Xd8fmJ-z4", 857 | "outputId": "128f303f-2ac7-4dfc-a213-6f63c25f2cce" 858 | }, 859 | "source": [ 860 | "plt.figure(figsize=(7,7))\r\n", 861 | "ax = plt.gca()\r\n", 862 | "colors = ['darkviolet','deepskyblue','blue']\r\n", 863 | "v = venn3(subsets=sets, set_labels=labels, ax=ax,set_colors=('darkviolet','deepskyblue','blue'),alpha=0.7) \r\n", 864 | "i = 0\r\n", 865 | "for text in v.set_labels:\r\n", 866 | " text.set_color(colors[i])\r\n", 867 | " i+=1\r\n", 868 | "plt.show()" 869 | ], 870 | "execution_count": 9, 871 | "outputs": [ 872 | { 873 | "output_type": "display_data", 874 | "data": { 875 | "image/png": "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\n", 876 | "text/plain": [ 877 | "
" 878 | ] 879 | }, 880 | "metadata": { 881 | "tags": [] 882 | } 883 | } 884 | ] 885 | }, 886 | { 887 | "cell_type": "markdown", 888 | "metadata": { 889 | "id": "XoX45JzEMp_R" 890 | }, 891 | "source": [ 892 | "## Set the \"subset label\" color (e.g. 1,2,3)" 893 | ] 894 | }, 895 | { 896 | "cell_type": "code", 897 | "metadata": { 898 | "colab": { 899 | "base_uri": "https://localhost:8080/", 900 | "height": 392 901 | }, 902 | "id": "OIIEYLgGL1Ha", 903 | "outputId": "90895949-1bab-40a4-e94c-00e498574833" 904 | }, 905 | "source": [ 906 | "plt.figure(figsize=(7,7))\r\n", 907 | "ax = plt.gca()\r\n", 908 | "colors = ['darkviolet','deepskyblue','blue']\r\n", 909 | "v = venn3(subsets=sets, set_labels=labels, ax=ax,set_colors=('darkviolet','deepskyblue','blue'),alpha=0.7) \r\n", 910 | "i = 0\r\n", 911 | "for text in v.set_labels:\r\n", 912 | " text.set_color(colors[i])\r\n", 913 | " i+=1\r\n", 914 | "\r\n", 915 | "for text in v.subset_labels:\r\n", 916 | " text.set_color('white')\r\n", 917 | " text.set_fontsize(16)\r\n", 918 | " text.set_fontweight('bold')\r\n", 919 | "plt.show()" 920 | ], 921 | "execution_count": 10, 922 | "outputs": [ 923 | { 924 | "output_type": "display_data", 925 | "data": { 926 | "image/png": "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\n", 927 | "text/plain": [ 928 | "
" 929 | ] 930 | }, 931 | "metadata": { 932 | "tags": [] 933 | } 934 | } 935 | ] 936 | }, 937 | { 938 | "cell_type": "markdown", 939 | "metadata": { 940 | "id": "p8MzwD3TNM-y" 941 | }, 942 | "source": [ 943 | "## Replace the labels with a legend" 944 | ] 945 | }, 946 | { 947 | "cell_type": "code", 948 | "metadata": { 949 | "colab": { 950 | "base_uri": "https://localhost:8080/", 951 | "height": 408 952 | }, 953 | "id": "zUnC9s3a1CN_", 954 | "outputId": "dcdd09bc-35d6-4e06-b86f-1888d7309740" 955 | }, 956 | "source": [ 957 | "plt.figure(figsize=(7,7))\r\n", 958 | "ax = plt.gca()\r\n", 959 | "v = venn3(subsets=sets, set_labels=('','',''), ax=ax,set_colors=('darkviolet','deepskyblue','blue'),alpha=0.7) \r\n", 960 | "for text in v.subset_labels:\r\n", 961 | " text.set_color('white')\r\n", 962 | " text.set_fontsize(16)\r\n", 963 | " text.set_fontweight('bold')\r\n", 964 | "\r\n", 965 | "h = [] \r\n", 966 | "for i in sets:\r\n", 967 | " h.append(v.get_patch_by_id(i)) #get color patches \r\n", 968 | "l = ['A only','C only','B only','A & C shared','A & B shared','B & C shared','A & B & C shared']\r\n", 969 | "ax.legend(handles=h, labels=l, title=\"Legend\",loc='lower left') #write labels for color patches\r\n", 970 | "plt.title('Membership across Three Groups')\r\n", 971 | "plt.show()" 972 | ], 973 | "execution_count": 11, 974 | "outputs": [ 975 | { 976 | "output_type": "display_data", 977 | "data": { 978 | "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZQAAAGHCAYAAACXh6SVAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOzdeXxkVZnw8d+5tSSVpLIv3dm6G5ql6QA2KMqihk2RRVFGR1Qcd8V2edV51XEcRWdcR4dxNDruvoCgqAMK4jZCFBCxoZslDb13Z+3sWyWVpJZ73j+q0oTQ2avq3Fv1fD+f+nS6qnLvk1Slnnu25yitNUIIIcRaWaYDEEIIkR0koQghhEgJSShCCCFSQhKKEEKIlJCEIoQQIiUkoQghhEgJSSjiGKXUDUqpWzJwno1KKa2U8i7w+CeUUt9LdxxOppT6kVLq30zHIcRKSEJxKKXUEaVURClVOe/+XckP441mIks/rfXntdbvMB1HuiilGpVSE3NuWik1Oef/L3ZAjM9XSt2tlBpRSo0qpZ5SSn1OKVVmOjbhXJJQnO0wcO3sf5RSpwMF5sJZvoVaH26hlPKk69ha6w6tddHsLXn3mXPuu38lx0v171opdR7QCjwInKq1LgUuA2LAmZmIQbiTJBRnuxl485z//wNw09wnKKXylFJfUUp1KKX6lFL/rZQKJB9rVkp1KaU+qpTqV0odVUpdrZS6XCm1Tyk1rJT6xLxz5iulfqqUCimldiqlzpxzrlql1C+UUgNKqcNKqQ/MeewGpdTPlVK3KKXGgbcopc5RSj2ilBpPxvYf8871xmTcg0qpf553rFuSX892j71LKdWT/Bn+caFfmFLqimQrblwp1amUumHe4xcopf6SvOruVEq9JXn/j5RS31JK3aOUmgQuVEptUUq1Jp+7Wyn1yjnHuTx51R5SSnXPxqSUqkxe2Y8mf7/3K6VW+3dWppT6dfIcDyulTpxzfq2U2q6U2g/sT953pVLqseS5/6KUOmPO8xd87Y7jy8APtdZf0Fr3wbEk+GmtdWvyeG9RSj2olLpRKTUE3KCUKlFK3ZQ8R7tS6pOzP7ua152q5nV7Jn/PX1BK/S352v1SKVWefCw/+b4aSv5sO5RSNav8nYp00lrLzYE34AhwCbAX2AJ4gC5gA6CBjcnn3Qj8CigHgsBdwBeSjzWTuKr8FOAD3gkMALcmn7sVmAI2JZ9/AxAF/i75/H8k0Urykbj4eDR5LD9wAnAIePm87706+dwA8BBwXfLxIuBFya83Jn+G7yafdyYwA2yZc6xb5j33NqAQOD35M1yywO+tOfkcCzgD6AOuTj62AQiRaPX5gArgecnHfgSMAecnvzcIHAA+kfx5L0p+7ynJ5x8FXpz8ugw4K/n1F4D/Th7fB7wYUEu81hrYPO++HwFDwDmAF/gx8JN53/OH5OseALYB/cALSbxX/oHEeyhvqddu3nkLgTjQvETMbyHx3np/Mr4AiYudXyZ/dxuBfcDb57+m815Xb/L/rUA30JSM4Rdz3gPvJvG+Lkj+bGcDxab/RuV2nPeF6QDktsAL80xC+WTyQ+qy5AeIN/mHuBFQwCRw4pzvOxc4nPy6mUTC8CT/H0x+7wvnPP9RnvnAvQH465zHrNkPzuQHVce8GP+JxJXs7Pf+ed7jfwY+A1TOu3/2w6R+zn1/A14/51jzE8qpc577ZeD7y/w9/idw45x471jgeT8Cbprz/xcDvYA1577bgBuSX3ckP+iK5x3ns8kP1c3LiS/5PQsllO/N+f/lwJ5533PRnP9/C/jXecfYC7x0qddu3v31C/y+R5PvtU8m73vL3GOS+KCPAKfNue/dQOv813Te6zo3oXxxzuOnJY/nAd4G/AU4w/TfpdwWv0mXl/PdDLyBxB/wTfMeqyJx1fZositgFPht8v5ZQ1rrePLrqeS/fXMenyLRepjVOfuF1tom0SqqJXF1Xzt7nuS5PgHUHO97k94OnAzsSXZTXDnv8d45X4fnxTHf3GO3J2N6DqXUC5VS9yW7XcaA9wCzExsagIPLPEct0Jn8Hcw9b13y62tIfMi3K6X+pJQ6N3n/v5No2fxeKXVIKfXxRc63lKV+P3Pj3QB8ZN7r08DyX7tZI4ANrJ+9Q2v9UZ0YR7mDxAXN8c5fSaJF1j7nvrm/r+WY/xr7kse9Gfgd8JNkt+eXlVK+FRxXZIgkFIfTWreT6Ha6HPifeQ8PkkgIW7XWpclbiX5moHc1Gma/SPZ/1wM9JP7YD885T6nWOqi1vnxuuPNi36+1vhaoBr4E/FwpVbjWuIDGZEzHcyuJLsAGrXUJie4nlXysEzhxge+DZ8ffAzTMG/9oJNEtg9Z6h9b6VSR+tjuB25P3h7TWH9FanwC8EviwUuriZfx8qzE33k7gc/NenwKt9W0s77UjGf8k8DDwmhWef5BEl+eGOfcd+32RaN3MnVCy7jjHm/8aR4FBrXVUa/0ZrfVpwHnAlTx7bFE4hCQUd3g7ie6Nybl3Jq+evwvcqJSqBlBK1SmlXr6Gc52tlHpNcrD0/5AY2/griS6pkFLqY0qpgFLKo5RqUkq9YKEDKaXepJSqSsY5mrzbXuj5S/gXpVSBUmor8Fbgpws8LwgMa62nlVLnkGjdzfoxcIlS6nVKKa9SqkIp9bwFjvMwiVbBR5VSPqVUM3AViatkv1LqjUqpEq11FBif/bmSA+OblVKKxJhMfA0/80p8F3hPsoWmlFKFKjFBIcjKX7uPAm9TSn18zvuqHti00MmTreDbgc8ppYJKqQ3Ah4HZgfjHgJeoxJTpEhJdbvO9SSl1mlKqgETX4c+11nGl1IVKqdNVYubdOIlEk4nfqVghSSguoLU+qLV+ZIGHP0aii+WvKjG76n+BU9Zwul8Cf0+i6+M64DXJK8Q4iSvD55FoMQ0C3wNKFjnWZcBupdQE8DUSYyRTizx/MX8i8XP+EfiK1vr3CzzvvcBnlVIhEoPQt88+oLXuINHS+wgwTOJD7rjTYLXWERIJ5BUkftZvAm/WWu9JPuU64Ejyd/4e4I3J+08i8RpMkJiU8E2t9X2r+YFXIvn+eCfwDRKv3QES3aSs9LXTWj9AYhLCS4B9c7pSW4GvLxLG+0m0RA4BD5BoLf4gecw/kLgIeILEuN3dx/n+m0mMHfUC+cDsTLR1wM9JJJOnSbwXbl4kDmGI0lo22BLOpRILOA8DPq11zGw0Il2UUq0kBu1zukKC20kLRQghREpIQhFCCJES0uUlhBAiJaSFIoQQIiUkoQghhEgJSShCCCFSQhKKEEKIlJCEIoQQIiUkoQghhEgJSShCCCFSQhKKEEKIlJCEIoQQIiUkoQghhEgJSShCCCFSQhKKEEKIlJCEIoQQIiUkoQghhEgJSShCCCFSQhKKEEKIlJCEIoQQIiUkoQghhEgJSShCCCFSQhKKEEKIlJCEIoQQIiUkoQghhEgJSShCCCFSQhKKEEKIlJCEIoQQIiUkoQghhEgJSShCCCFSQhKKEEKIlJCEIoQQIiW8pgMQuaVFtQWAIFAM5AEeEu/D+f9qIJK8zSRvs19PAePbdZPOdPxCiIUpreVvUqxdi2rzAjXJ27rkv9VAKYnkEUzeUnURYwPjwMhxbn1AD9C7XTdFU3Q+IcQSJKGIFUkmjkbgRGATsBFYD1QAylxkx6WBAaAL6Ez+exA4vF03xUwGJkQ2koQiFtSi2iwSiWNL8t8TgHrc31UaAw4D+4F9yX87pQtNiLWRhCKOaVFtHmAzcDrQRCKRFBgNKnOmgaeBx5K3w5JghFgZSSg5rkW1rQfOAc4CTgPyzUbkGOPAEySSy67tuqnfcDxCOJ4klBzTotoUcCpwLolEUmc2ItfoAP4CPLhdNx0xHIsQjiQJJUe0qLbTgJcCLwLKDYfjdt3AgySSyyHTwQjhFJJQsliLaqsBLkre1hkOJ1sdBVqBP2zXTQOGYxHCKEkoWSa5cPACEklkK86byputNLAL+D3wsExLFrlIEkqWaFFt9cBVJBKJDKybNQbcB/xuu27qMh2MEJkiCcXFkgPsZwGvBLYhrREnehT4n+266QnTgQiRbpJQXKhFteUBF5NokdQbDkcszwHgDuCB7brJNh2MEOkgCcVFWlRbPnAF8BoS9bGE+/QDd5IYxJ82HYwQqSQJxQWSLZLLgWuAEsPhiNQYA24HfiMFLEW2kITiYC2qzc8ziaTUcDgiPQaAW4F7pStMuJ0kFAdKDrZfAlwHlBkOR2RGF3AL8BepISbcShKKw7Sotq3Au0hU9hW55wDwne266WnTgQixUpJQHKJFtVUDbyWxKFHkNg3cC/xwu24aMx2MEMslCcWw5ID764CrAb/hcISzTJLoBrtHxleEG0hCMahFtZ0BvB+psyUWdxj4Vqq7wVQr+UAAjv3rAaLzbpHZr3Uz8mEhFiUJxYAW1VYIvA14melYhGto4HfAD7brpqmFnqRa8QM1yVv1nH+rgSISiSMA5LHyygpREtOdB4GhOf/OvQ3qZqSOWY6ShJJhLartBcB2EnuwC7FS/cDX33df09PAJhJbM58INJJo6ZpepxQjsXfM4eTtEHBYNzNhNCqREZJQMqRFtQWBd5PYk0SIZdOgZ2ryRkMnB0MTm4uYrs0vOlznHf/dKdTFLXym41umARIJ5gCJnTD3Sksm+0hCyYAW1dYE/CPSKhHLFCvwTI2dUTI4dmYJU3WBSu21AvOfM+1l5DenEusLUmUixjWaBtpIbLH8mG6m3XA8IgUkoaRRcoHitcDfA5bhcITDTdXmD4+cVTYe2hIMREt9VSi15HtGQ3x3DZ0PbGIDytXVpoeBx0nsKfM33cyk4XjEKkhCSZMW1VZBolXSZDoW4UwadOiUYN/wC8tnwpsKyu08T3C1xwr56ftlEwUTeaz6GA4SBR4B/gTs0M1EDMcjlkkSShokB94/BFnxxy1SLFLqCw28tGpo7MySMjvfk7JB9Jhi8p4tTPaUUJ2qYzpAGHiIRHJ5XDcj63EcTBJKCiW7uN5EYqGiEMdoD/GRs8qODp1fYc1U5a1HqbR0T2mI/WUDPU/W0piO4xs2CtwP/EY302k6GPFcklBSJLlXyUeAF5mORTjH1Pr84YGLqkKhU4LVxxtYT5cDFRz535NcP66ymMeBu0iMt8iHmENIQkmBZB2ufwE2Gg5FOMTkpoL+nqtqozPr8utMxTBUQPcvt1IZ8ZJnKoYM6AN+CfxBNyMblhkmCWWNklOCP475BWXCAUKnFPUevWI9kco8R5TTmfYyckcTaiyQ9fvphIDfAHfpZkZNB5OrJKGsQYtqexlwPeA1HYswa6ypuKf3Fes80TJ/jelY5osrpn53CmMdZTlRMy4C/Ar4uUw9zjxJKKvUotreQGKNichhI9tKu/suq8mLBX2VpmNZjIb4I/V0PdrABtOxZEgI+Blwt25GtljOEEkoK5ScyfVe4DLTsQhzpmrzhzqvbYhGKpzRtbVch8to/90pNGbxYP18A8CPgXtl8D79JKGsQItq85JYrHi+6ViEGbGAZ7r7mrr+0JZg/XJWsjtReyntvzk1p5IKwBHgJt3MDtOBZDNJKMuU3AjrE8BZpmMRmadBDzRXdQxcVFWlvVaB6XjWKkeTCsCjQItuZsB0INlIEsoytKi2APBpYKvpWETmTZxQ2N/1unoVK/a5sQjjgnI4qUwDN5EYX5EPwBSShLKE5ILFzwCnmY5FZFbcb0U63tTYO3liYUO6Vrab1lFK+z25mVQA9gD/JavuU0cSyiJaVJufRMvkDNOxiMyaOLGwr+ONjfmprLXlVDmeVGLA7cDPZH+WtZOEsoDkAPwngbNNxyIyR1vEu19d1zl6VmmjWwfdVyPHkwokdpn8T93MftOBuJkklONoUW0e4J+AF5qORWTOTJV/9PDbN0WzbaxkuSSpEAN+oJu5y3QgbiUJZZ4W1WYB/xe4wHQsInP6m6s6+i+uXodH+U3HYpIkFQAeAL6umwmbDsRtcqZJvwLvRpJJzojnW9MH3ndid//LahpzPZkANI6y4eL9Ob8d7wXAjaqVTaYDcRtpoczRotpeDbzNdBwiM2Yq/aOH3nOCjhd4y0zH4jQPbqAjS/dUWYkI8G3dzO9NB+IWklCSWlTbeSSqBudyUz9nhE4u6u14U2NJJvcocRMNsbtOYzjLdn9crfuAb8hWxEuThAK0qLZTgM8DOd/lkQsGXlrZ0feymjqU8piOxcliismfbMPOkn3q12oP8FndTMh0IE6W8wmlRbXVAF9F9jPJelphd17b0DneVJIrFXfXLOxj8NZtFMc8crEFdAOf1s30mQ7EqXI6oSRLqvwHUG86FpFe8Txr5tB7ThiaqcmvNR2L2wwU0vWL06nL8Zlfs0aBG3QzB00H4kS5Psvr/yDJJOtFg97Jff948qQkk9WpmqS++WDOz/yaVQp8UbVKkdjjydmE0qLargbOMx2HSK9osXdi/wdPisQLveWmY3GzUwfYuKWPLtNxOEQ+8CnVysWmA3GanEwoLartNOAtpuMQ6RUp9YX2f/CkmF3gkWnBKfDiQ9TUhKTse5IH+D+qlVebDsRJci6htKi2UuBjJN4QIktFSn2hAx/YbNsBT6npWLKFBb4rnyIQiMhe7XO8TbVylekgnCKnEkqyrMrHAOn+yGKRMt/4gQ9u1rlQKTjTfDZFVz3FmOk4HOadqlW2BIccSyjAtUCT6SBE+sxU+McOfGAzdp6n2HQs2ap8itqzO+kwHYeDKOC9qpWLTAdiWs4klBbVdjLwWtNxiPSZqfCPHXzfiZYkk/Q7u4v1ZWFGTMfhIAr4oGrN7TqAOZFQkhtlfRgZN8lasUJP+OB7T9R2nkdWdWdAcjwlZtnETcfiIBbwj6o1d7e9yImEQmJGV53pIER62F4VPbB984QMwGdWYZSqlx6S7XPn8QAfV608z3QgJmR9QmlRbWcAV5qOQ6SHBn3o+hP6Y6U+KWJowMkDNMhU4ufwkkgqOXcRm9UJpUW1FQIfQioIZ63ONzR0TK8P5NwfrlMo8Fy2B0u6vp6jEPgX1Uqh6UAyKasTComurkrTQYj06G+uapdCj+YFYlRccFhW0R9HHfAx1Zr1n7PHZO0PmixJ/3LTcYj0GD8l2Nt/abXUYXOILf3UV04wZDoOB9oGvN10EJmSlQmlRbUp4HqkqysrzVT4xzrf2FAi+5k4hwLPK/ZgK41tOhYHeqVq5WWmg8gEr+kA0uQK4ETTQYjU0x7ih9+xKaK9lqNWwZcF8b/6Qk6qr6GsuoxijydxsXbPA7TddT9HDIeXEYVRqs7soeOxupzfOvh4rlet9Ohm2kwHkk5Z10JJ1up6k+k4RHp0XVPfFSvxVZmOY77KMvJfsJVN6yspnU0muejsLsq9caKm43AgL4nxFEddCKVaNr7x3wa5NbMiV4xvCR4dO7PEkVe/E2GiD7dx6Ke/Z+fOPbm7d4jPpujcdrpNx+FQpcD7TQeRTlmVUFpU2xbgQtNxiNSLFXrCna9vKEYpR46LHR1k6kd38VTro/SEwsyYjsekLX3USkXiBb0wmwtJZlVCAd5qOgCRehr04XdsGtU+S1qeLmCBv/mgzPhaxNtVK1m5e2jWJJQW1XYOsMV0HCL1+l5e0yHb97pL4yh1UjxyQfnAR1Rr9tUWzIqEkpwm/GbTcYjUC9cHBgdfUinrTVxGgefi/YRNx+FgJwOvNx1EqmVFQiExbiIrprOMVtgd1zUi603cqTJMXd0ofabjcLDXqVZONR1EKrk+obSoNi/wRtNxiNTrv6S6Mxb0SekcF7vwoCwuXoRFYl/6rFkP6PqEArwCkEqzWSYa9E4OvKSqxnQcy6UUlAbxlwbx+73P9I37/Xhm7zcZnylFEaq39Emdr0XUAdeYDiJVlNbadAyrlmydfA+oMB2LSK1D79rUGd5Y2GA6juVaX0ngU+/k4sWec/0XuDtT8TjJjIfRH72AYq2y4gI2HSLAe3Wz+7sH3f4CNyPJJOuETi7qdVMyEYvLi1N6Sj9HTcfhYH7g3aaDSAXXtlCSM7u+CcgMoCyiPcT3/NOp4/ECb5npWETqjOfRd+tZuKYL05DP6GYeMR3EWri5hXIOkkyyTu/L13VKMsk+xTPUVIcYNB2Hw73D7QP0bk4of2c6AJFa0WLvxNC5FbKAMUu9sEPWpSyhjkSldNdyZUJpUW2nQXbN3xbQc3XtMB6Vk7OhckHtOLWBiCSVJVyrWikyHcRquTKhAK8xHYBIrUipLxQ6OSitkyymwPv8LgZMx+FwhcCrTAexWq5LKC2qrRJ4gek4RGodvWr9MJZydf+xWNrJA1RYNnHTcTjcVarVnVtwuC6hkNgn3o1xiwVESnwToVOCdabjEOnnsynaIlOIl1IIXGU6iNVw1Qdzi2rzQG7szZxLjr5SWie5ZFu3O6sG1Ofhv3ULW596ARdEXsLlupkrdTNXfnYjG9NwuleqVgJpOG5auSqhAM8Hyk0HIVIn2TqRsZMcUhShev2Y+8ZSTswn/9oaNm0ppNRnpf2zM4gLZ3y5LaFI6yTLSOskN72wk2nTMazUYJToLb0cev9+dv58ICPbPF+tWsnPwHlSxjV/yC2qrZxEC0VkiWixV1onOao6xDpvnEjM457ur91hpq7bw1MApxVkZGpvCYnit3dk4Fwp4ZqEArwU97WoxCL6L6oexFIbTceRSVqjoxEmojNMx6LEkjc7FkXHoxCL4YnHsOwYnngcHwqlFHEFWilsFFrN3qzEv5aF9uVh+/Ox8vLx+vPJ9+dT4PE69+rWAt9Jg3Q9XSPVLpZwtWrll7oZ23Qgy+GmhHKB6QBE6miFPXZmSdYW9rTjRKcmGQ2HmJ6aID4zjS86QyAeIwjHbukW8XgJe7xM+/xE8gqwi0rIKyym1OszP+B7aj88LdW9llJOYpnEw6YDWQ5XJJQW1VZNYstMkSXGzijptfM8WdHdpTV2OMTQ2BDhyXG8kWkK7TglQJXh0PzxGP54DCLTMDkOw72JByyL8bwA4wVB4kUl+AsMJJmqCao9NtG4hS+T53Why5CEklLnmw5ApNbAS6vcWeaaZxLI+BDh0Bi+mSkq0MaTx4rYNsVTkxRPTcLQbJLxJJJMSQV2aSXlvrz0jhNY4D9hiO79VcgapMWdrVqp1M3OL67ploQi3V1ZJFLqC83U5K03HcdKTE0wPDpIKDSK140JZDnsOMVTExRPTUBvO9rrYyBYRrismoKCIJVKpX4739P6sPdn3W8y5RSJBd0/Nh3IUhyfUKS7K/v0X1Q9hFKZGENYk5kpRgd7GB0boiQeo5zcWgOlYlGqRvphpB+UYrIgyFBpFVZJBdUeb2pmZ1VPUGXZxG3rmW2TncoC1vsTP3fA80y8hR48dcn7uyNE0nT6S1Urtzl9cN7xCQXp7soqWmGPnVFSaTqOhURnmBjqZWhkgIJYhCqg1HRMTqA1hZPjFE6OQ/dB4vmFdFfVoUoqWL+WlotHk79hhJ7DFTh+PG1LAYG2c567zfOHG9jy4Qa2AKjWtG3zXIELBufdkFBeaDqAlWq4tLDk+f9SfXLJSf7ivBKP3/IqKzIejwy1zYzs+vLAwfZ7JkZMx2jK2JklR7XfclSfeSzK9HAf/SP9+CPT1IB7y4dniGd6krrOfdBtESqpZKi6ngp//upmrp3WR+xw1s73S6mX4/CE4ugtgFtUWwC4DZzfHJ5r2/+trD/vy+ued7zH7JjWd1/R/mDn7ydGMx2XExx87wldU/UFjlh7MB1m5OgRQhOjrAeZabRGOi/A0cpadFk165Ra/t9sTBH+/gvJ10rWmS3BBt6kmwmZDmQhTm+hnIHLkgnAyNMzkw99vPfxI3eHBscPRWbKT88vuOT/1W8rOzWvxPIqdeo/lNblYkKxPSo2tT5QbTqO0Ah9R9uJzYSpBWS74dRQM1PUdh+EnkNMllQwULOBCn/e0q0Wr6agYZTejjLWZSJQF7NIbH3+R9OBLMTpCeUs0wGsxpG7QyNH7g4d69bq/9vUxMGfj3U+/5PVJQB2VDt6YC1dQluC/XiUkb5yrYkP99HT30l+LIosp0sjrSkcHaRwdJB4sJSO2hMpWyqxbOljpkNS+3K8CEkoq3bcbiM3sXyoqrMChSf+XUkDQDRsx9q+NdxpOi4TRp5fFs30OeMxIv1dHB3updy2acj0+XOcJzRK495Hl04s60IybrVM21Qrft2cttlka+LYhJKcLuz4mR+LeevRUy8uWOc9tvp4eig28/s3dO3oe3hqwmRcJmjQkxsLMzb0qjXx/k66B7qp1JoNmTqvOK5nEksZ7bUnUD4/seTHKM+LMT3j4PpjDpEHbMOhg/NOHgRzZXfXYvIrvHmX3d5wzvoLChy/BiPVwpsKBrTfyshV6OgA3U/vYLy/i0atKcjEOcWyeEIjbNj7KAVHnqY9MvPM4LIC1TDCkMngXORFpgNYiJMTSpPpANbqh+v3/PFb+bt/ffsLDtzXde/EUQB/icf/os/XnGo6tkwbeX5ZON3nmJpgaO9Ojnbupy4ek8F2B5tNLIHO/Ryx40QBNo6Q8S5RlzpHtTrzs9uRQSVlxep4e0brgUemJ3d8tn//7H3BRl+hyZhMCJ0SLEnXsaMRJg/tpuPAE5RHpnFVSZcc5x0dYOPTO5ge7qNrXUhak8tUDJxmOojjcWRCaVFtxeDeD4ZLbqnfuuXtZTWlp/jzPflKVZyeV3D2J6o3zz4+0RVN+9W6k8xU+kfjBd6Utxhsm3j3QY7seQTf5BiNkPpaUyL9bJtg90Hqux4mZk2Qs4t+V2ib6QCOx6mD8q5unTRcXLTulDeWbjreY7EpO77jM/17Mx2TSaFTgyFSXMIkPMHQkacgHmNjKo8rzIlOURt8gJ6xkxljIw24oL6XQY5soUhCSYP9Pxltr7+4qLqo3lfkK7J8Oq7tcH9sqn/H1NAjnxs4NLhretJ0jJk0sbkoZetutMbuOUzHcC8NuHDRq1hc6SjRsT42MsQwpxCnOPuqOqfIyaoVj24mbjqQuSShpMEDH+o9ABwwHYdTTNUGUjK7azrMyJGniEYj0irJVsXjyYuEGOXsJs46jrCRDaShdL7L+YETgP1LPTGTHDmGgssTinhG3G9F4oWeNZV91xrd2x00zjMAACAASURBVE77/scoikYwXrpFpE9B+FkLHD30spFd9DHj3PpVBjmu28txCSW5oDHn1mlkq8kTCodQatVXl5EZQvt20TvQzQakgGPW88Yp9cSYedadM6xjFz766DIUllNtMR3AfI5LKCDlMbLJxMlFqy4RMTpA996d+GQqcG4pCDP+nDs1+RyinqfoIO7MsiMGSEJZBkeUNhepMbmxcFXjdD2HOdK5n1q0lOLINYVhphd8cIxGdhJi+jhJJ/eUq1ZndQFLQhFpFan0r2j8xLaJHnySzqGjbETWleSkwsklZi7FqOAxvIzQm6GQnOwU0wHMJQlFpM1MhX9Me63A0s9MiM4wsXcno+GQdHvmskB4GdPBNQXsoYou2jMQkpM56vNSEopIm+n1+ctebzM5zsDeXZDcx13ksPwZ8pb5VA+dbGAPHWhnrcfIIEdtp+2ohNKi2gpJ8YpqYc50Tf6yiv0NHaXzUBul2pY9MQT4oiuc5TlCI48xwPzZYblBEsoiXL3/iXi2mZqlLzS7DnCk5zANyJRgkWRpAt7oIgPzxzPNOh5jnCg5VScPh31mOi2hrGkBnHCWSIV/0Rlenfs4MtIvq97FcxVMrWIhY5QqHmOGGXJpA7sC1eqcrRokoYi0iRb7FhyQ79jLkdFBSSbi+AonV9hCmRWjjMewmWI0xSE5mWO6vSShiLSJBzzH7Qtv30P72JAkE7Gw/Ok1DLLbFPMEXiYZTmFITiYJZQGSULJEtNg7gaWeNS6iNfrI07SPD8se72Jxvuga1yDZFPEkAUIMpigkJ3PMOIrTEopj+gLF2sxU5T1rynAymXSERiSZiKV515pQADQBdlNAOOs37XLM56bTEkqF6QBEakzX5B+rt6Q1+shTdE6MSjIRy+ONpWivG00BT+JlOqurFTummK7TEoqsQckSsaD32KZaR56mYyKxRa8Qy+KNp3DzNJsgTxAjkrVTiiWhLKDAdAAiNeIFHg3QfYh2aZmIlfLEU7z5X5wyniBMbJWzx5zNMQuCnZZQlltyQThcrNCrho7SOdwrLROxcp54Gj4LolTyBGPYLKuCg4sUmw5glmMSSotq8yPVZbPG6Lia7jlMLfKailVQdpouLmeoYTd9aTm2OYWq1Rl/Z45JKCD7XmSLGfyjh0cLCyCF/eAip1jgV+kq+DhBPYc4kpZjm2HhkOECSSgipeJY04c4QcctK7V94CLneKNpLPbYxwYG6E7b8TPPEQPzTkooMn7ichr0IU4YjuMt05a0TsSa6TQeW3GQSiazZo3KsvcdSicnJRRpobhcF/XtM+TXAmjLUe8t4U7pHRfQ5LEblSUzv9KZfJfNSX/0TopFrNA4waNjlBybHiwtFOEKcUppYxjtjA9kt3PSh7i99FOEE8XwhDtpCIJyxEwTkR10pt5NU9TSTkeGzpYujvj8dFJCydUtPF3vMJtGNNazFlcpW15PsWaZu0A5Sr3LC0k6ooXlpITiiAwrVqafqvYZ8p9TPlsSikiBTLZ4PezB4+JFj5JQ5pEPIJeZJm+kn+rjls5WtlwgiLXJWJfXrBhl7OVohs+aKpJQ5pEPIBexUbHDbLJBHXcveCsur6dYs8yPyY3SyKAr16c44u9NEopYlS7qu+N4F9xuwJIWilg7M5M8DlBGNGsrE6eVkxJKZOmnCCeYpGBgnOJFiz6quDOa4MK9tGUooWgK2Oe6AXpHJEAnJZTJpZ8iTNOgO2lgqSnCliQUsQYaorbFcbtTM2KcBkZdVURywnQA4KCEsl03TSPdXo43QFVHDF/VUs+ThCLWwraMr15X7MeHO2YrhnWzM+J0TEJJckSzTRxfDM/UAFXVy3muFUt3NCKbxT3GEwrEKKeDLtNhLIMjWifgvISSzfs+u14X9f0aa1lF6PxhZ+zPINwp5sUZlyRHWe+C/ejHTAcwy2kJZdx0AOL4wgQGJiha9u6LeRP40xmPyG5RpyQU8LPX8Z9Lw6YDmCUJRSxJg+6gUa+kVlfehFSPFqsX9TloPDVMHSP0mg5jEY4pwe+0hDJqOgDxXINUdsbwLWvsZJY/TFAquIrVivod9t455Ojq2UOmA5jltIQyYDoA8Wwa4gNUla70+ywbr4rLVHCxOhG/wz6bIlTR59gV9JJQFuCmed85YZDKbhtP8Wq+1xuRWXtidRyXUADaKUA7qCvuGZ2mA5jltH2/+00HIJ6RbJ2UrPb7fdPMRAtSGZF7veJiqi+6gNpNjZQWB8nzeLCGRwjvfIK+79zMwaER11a5TYupfAduCR6njF46WU+D6VDmcUxCcdpVgLRQHGSIih4bz6oTin/SGYutnODqV7Dp3OdTv66aooIAvjw/nvU1BK+4lM0/+E9eXFrsuIs7oyYLWfX7Lq06CaId9b4e1s3O6Vp2WkIZAsdMF8xpGux+qouWfubC8iYd9/4yJhbDvvcBjnzgn7n/kr/jno98mgdGxhKL9yrKKXj9q1n2lOxsF7eYsD0OnXYep5SjjhpLcUzrBByWULbrJhsHDTDlsmHKe2w8ZWs5Rv64Qz8UDPj4v7HzU1+ibecTjE3PYD+8k9Hf/JFDs4/X11JoMj4nifgdvpCwmzVdaKWYo7YudlRCSXLyfO+coEH3U73mD7jCIcpl6nBCaOK53SR+3zNTUQcGmcpsRM41FXD4eFKMcoYd8zklLZQlOCrj5qIRyrrjeNfUOgHwxPF7Is5ZdOUktTXkvayZjQCRCPE77nFFzaiMmHRDW63TMeMoklCWcNh0ALlugKqUDRAHxp1TuM4pGuvI/6/Pc25xkDzbhv/6Ho91dDugGKJDTBQaLFu/XGFqCTviYslRF+CSUMSzTJM3EsW/LlXHK3TbNkVptuUkilq+yPnrqimKx9Ff/z677vyNa/cxT4vJQkeNUSxE0W68VNRR3Ww8hmdxYkLpQPZFMWaAqpRWLg0OuOLDISOefyYlN/4r55WVEohEiH/ha+z42a8cNWPIOA2RmTyXvGdGqSVmtGXZZvDcx+W4hLJdN0VA/shM0BAfp3hFNbuWkj9OGbZs73zh+VR88V84t6gQ/+QkkU98nod+e58s5J0v6mMc5ZqtD3x0G10757iE4tTFVIfBcatRs94IZUc1Vn0qj6lA+cMMR4pIWTeaG133Ok7Oz0v8vRUW4v/KDVww9/F9hxh62wd5yEx0zjFR5LJyPQMUssHY2R2XUBzXQkmScRQDBqlMS0XVghEZcBbLM1LmmtZJQpRKJo3sRzKgm53XwnVqC2WP6QByTQTfeCSFg/FzBQfwjeZ4e1NaH8szUsaKK1sb1804J1Oe4bM6rnUCzm2h7AOHL27KMv1UD69kA62VCPZT6bD6R8KB4hahmTyCpuNYsREqDSzglYSyXMmB+f2m48gl4xSveSHjQjwx8vImnNc8F84yWeDSDfZsigzs6Lg7w+dbFkcmlCRH/sKy0RT5w2upKrwcpT3S4hSLGy11cZmeoxl9f/fqZmfOhJWEIhihLO2Lo8o6pa6XWNxIuUvWnxxPiBrsjHXr/iVD51kxJyeUp5EFjhkRIpj2bbB80xR5p5F18+K4bMX0RCFp63ZNO00eYxl7fz+YofOsmGMTynbdFIZnynuL9IjhCUfxVWXiXCW9LltjIDJmOp8RFy1oPL6BjEyPH9DN7MvAeVbFsQklaafpALLdKKWD6ZrdNV9ZB6vam15kv5EyZkzHsGZjGZmh5tjuLnB+Qvmb6QCy3SilGXsPBEKUSTl7cTy9NS5cfzJfjHKm0745mGO7u8D5CWUfkNJiheIZNio2TX5Ka3ctpWjAWdVRhXlRL8PTgSxIKACDab1gGsLhi74dnVC26yYN7DAdR7aaoGgAVEa36a08LFvdimcbLnf4lr8rMZTW6iN/0c3Oninp6ISSJN1eaTJOccb7rQtGqfROMZDp8wrn6q3JoouMcFpXzbem6bgp44aEsgspw5IWYQryTJy38rDsny4S4hahiSCVpuNIIX+aikXud/LsrlmOTyjbddM08ITpOLKNBh3Bb2Tef8UR1qu4JBUBo6VGKvWm1yiTaTjqPWk4Zso5PqEk3W86gGwzQ94oqHwT57ZsfMV9RjcmEg7RV42RVnJajaV8PU0I+HOKj5kWbkkoD0IWzFN3kAmKjA6E1uylVEqx5DZbMTVaRkYW1WZUOOUlZP5XN7tj11NXJJRkt9dfTceRTSYoMvphnjdJqX8y4xVahYOMBxnQirRs6mZUjNIU7jWvgd+k6Fhp54qEknSf6QCyyTT5xgvxVe+XWm25rLs+C7u7EhTjKVuPslM3czRFx0o7NyWUXSCrrFPBRkVjeI0vJCvtZr0Vy6I1CGLZYh5GR0upMR1H2oylrIv+1yk6Tka4JqFs1002LhmYcrowBSOgjHc1KLDK2xkyHYfIvP6qLK+AEU7JZ2s78EgKjpMxrkkoSfeaDiAbTJOfiaqoy1KzlzoVY8J0HCJzNNjddVSYjiOtpknFDMpbnb4yfr50lglIue266VCLatsDnGo6FjebIc8xYxeWja/qED39J7t4cyWxIuECjkbyqFvN99YH8X/5Qk56Xg1lm8so9nkSF8X/+gBtn7qfIykNdC2ia648fAh4KBWhZJLbWigAd5kOwO0i+B31ulftp96KSdHIXNHZsPrPnRPLyL92K5u2VFI6m0wcSRMguqbFu65rnYA7E8pfIAtX12ZQBH9GC0IuxdJ4qvcxajoOkX4xD6ND5axb7fcPhone0sah9/+enT/fQ3sqY0u58Kq7cvfrZh5OaSwZ4rqEsl03xXDRvGwniuNxXDG+ykPUy14p2a+vhtG17My4e5Cp6+7iqW88Ss9A2OGLnSdXvRblxymNI4Ncl1CSfgvETAfhRhriNpbjxisUWDV7ZHA+m2mIdNVl8VTh+cLEV/Fde3Qzj6Y8lgxxZULZrptGkfpeqxLBH8rUlr8rVd5BvWdGphFnq6EKemI+AqbjyJjIqj5fb055HBnkyoSSdKfpANxohjzHVvlVoGp3p6xkhXAQDdFDm7KwbtdioisuK/OAbnZ3ZXXXJpTtuukQspvjis2Q5+i9ZUp7qMsbp9t0HCK1hss4GvVn0UZayxFb0bKMKeC76QolU1ybUJJuMx2A20TxOWYNykI27qAY2x3VVcXSNMQPn4CRvXeMiq+oVtmPdbP7Z6+6OqFs1037wb0DWCbEXVDc1T9FsOqgewriicWNltI1k7fmhX4AWArqgvjrgvgD3mfezIV+PLP3p+I8KWEve7X8YbJkfZ2rVsov4DbgbNNBuEUcjyMH5Oer2UvjaD390QDVpmMRq6chfmgTKStEuqWCQNs7uXj+/R8+hy0fPoctAOoL3J2q862JJh+bONaiV3Ea+KZuzo7K265uoQBs1017SVQiFssQx+P8JgqJAfoNO/CiVzX1UjjEeDHd0wFKTMdhzNKr5f+gm9mTkVgyIBtaKJBopWwzHYQb2FiuaKEABMYpL+2ifbSBDaZjESunQR88ITVdXbN2DzLlmBbIctiLrpcbB36UoUgywvUtFIDtuulp4G+m43ADjXLVa173JHWygt6dxorpnCrIwcH4uRavxvVfujm79gNy1YfLEn4A0j2yFLclFMvG27CLGdl/3l1sxcy+k7O8RP1y6AXHRu5xa72uxbjqw2Ux23VTN/A703E4nXbAxlorFRxgXXEvHabjEMt3dH0Orjs5nuNfCLUD3890KJmQNQkl6cfApOkgnEw7tOzKUhp2Uu+dYsB0HGJpMQ8j7Y00mI7DEZ6bUCLAv+vm7FxnlVUJZbtuGkcWOy5KoV3ZdWRpPCc+RB62lGZxugMnMqUXnyqbO+znJJTv62aHl91fg6xKKEl3A52mg3AqhXbtOJM/THH941I80skmC+geqqTWdBwOMncM5a+6mXuMRZIBWZdQtuumOPDfpuNwKoV29QKqsm7qSrodtNWrOEZDfO/JMm6ygEHgv0wHkW5Zl1AAtuumJ4A/mI7DiSxsV3Z5zdWwi0b/hJRmcZrBSjqnClK3Kj4rJLr+IsDnsm2K8PFkZUJJ+j7I+oX53NzlNUuBdeKDlMo+9M4Rt5g4eIJ0dT2HBw9wo27mgOlQMiFrE8p23TQJfNt0HE5jsoVSVo//bbey9VNPccE3Ilz+Lc2V39JcedVn2bjSY3mjBDb9lQgaR5fjzxX7TiIU9zqoMKNTxLhbN/OA6TAyJWsTCsB23fQg8FfTcTiJyVlelSeS/4Jr2bR+C6Ue39rfewWjVDbsol/qfZk1XEb7cAXrTcfhOB108qbsqCK8XFmdUJK+haxNOcZkC2VikOjDt3Dop+9n586fp2bqZGkPdet30yMr6c2IeRjde7J0dT3HCH18l2pCuTXNPesTynbdNEwW7ISWKpbBKtlHdzP1o+t4qvUb9IQGmEnVcSuP0FB1QFbSZ5oGe8+pRGwPPtOxOEqYEVooJk5E59iFTtYnFIDtuumPwJ9Nx+EEfiKuXCm/lHV72VDWIdOJM2mgis6xEtmv5lmmGecbeAkTACZMh5NpKy5f/+ijj1Z7vd7vAU24KCFdsAsVHaMcO7dX8GqrLx63Bxf8HWhb6fEuf+gPH294fLI3z1XlIeqfYGPcT/v4Oil3n24RH4MHTqTedByOMkOIbwCjx0r2j5kMx4QVJxSv1/u9devWbamqqhqxLMtVzblY2B6f6IzWa8jKq/Rl8VixSNy34OuutU2ocqjo0i92nnnnWzbvyGRoqdD4CI2HzqMzXC61pNJFQ+ypLSgprzJHhAlaiDP8rHU4fcbiMWQ1LYymqqqqcbclEwBvgTWTV+4ZNh2HUba96IeAUhbBvIpYcX0kpRsjZYoCdcJD1OaF6DEdS7bqrqV7skhK0x8TJcy3iDL4nEWdvUbiMWg1CcVyYzKZlV/pGfEG1FLbcmYvjVJq8fIrSlkoS7u2Fac0ns33U5U/RrfpWLJNqIjO9o3SpXhMjCm+zRR9x91ITBJKtikoKHjW1sBKKQrX+3otz6Jbc6bUkc7D1ouueJ5jrviVoaleyoLSOvyldfj9gWe6S/yFeGbvT9W5LBvf5vtZXzQgs79SJeJjqG0r60zH4RgRJvhvwvQs2FrLuS6vbNlTfkUsn4oX1vqOTnRF67XOvfEUy9K2Hc/8j71uC4FPtXHx/Psv+TBbLvkwWwCuV6nbL1yBtelhGjvP5Mhow8pX44tn2IqpJ5vwyhThpDAjfAMvo4t2/UkLJRfs3r0778KXv7TxgqvPDrz89c1Few48bQEcPHLAuvjvzi8694ptwc989ZP59dvKS2a/58Zvfzmv+TUvKjrvyrOC/3bjp/Mh0fI457LTg+/7p3cFXnj5mcGr33JZ4dRUGICdT+zwnH/V2cHzrzo7+J1bvumokhTu3GJr9RoeZ2P1Ptpl8ePqaLD3nMLodICSpZ+dA0bp5z/InzOb63hiJCoM55ScTCjveMc7Nnzzm9/saHuqre1zn/5C/z9+5v0BgI9/7sOBd123feahX+8K1dbUHesW+sOff+s91H7Quu8Xf5l44Fc7Qo8/tctz/8OtHoDDnYesd7zp+sjD9zweKg6W6Dt++wsfwPs+8e6CL37yq+EH73rUcRVGTZVfObqbqesVdy92S9e5a/axoe4JutGZ6+rMFt21dI6US2kVAHrp5kbKkutMFjOQa4saIQe7vMbGxqxdu3YVvfa1rz1x9r7YTKIU1KNP7PDc9q1fRAH+/lVviHzmq/8cALjvgf/1/umhe30vftU5XoDJ8AQHjxzwNNRuiDXUNtrP27otDnDm1m3xjq4j1ujYiBoPjakXv7A5DvD6q98UufeBPzinq0DbFjk447O8k3rvDL3tz6cMizzT8bjBeFAG4Y85QAc/pB69rAvxnNxeIecSSjweJxgMxvbs2fPU7H12TFuhjuiC6xa01nzgHR+Zfscb3/OshX5HOg9bfv8zn0sey8N0fNr5HUoxnXvZJKm4n3UnPsjQ4XOJ2N5FuyxyXsTH4G4ZhAeNzQN08JsVjcMdTlc4TpZzXV7l5eV2fX195Ac/+EEZgG3bPLzjr3lFdd6es04/O3bHbxJdVj+76yfHxj0uevGlsVvvuMk/MZnoveo+2qX6B/sWTBylJWW6OFiiH/zbnz0At//yVkeNoaC1ZXncvy/KahWMUXHKvXhkrcrCYhbjj59Bvm3l+CB8lDA30b/CZAKwLx3hOF3Wt1Cmp6etmpqaM2b/f/311/fddttth975zndu+NKXvrQ+FoupV7/61cPnnnvu0f+48auH3vLWt26+8dtfzr/wgkuiwaJiDXDpSy6L7TuwJ3Lp614SBCgsKNTf/vcfhT2ehS/0v/H5b4ff/8/vKVBK8dLzLnLcnh2WpeN2XOVsS8UboeCkPxHoaeLI8AYaUbl3cbWQuMXk42diR/IoNh2LUaP08x0CjK6qlZaTCUXpFY7PPv7440fOPPPMrJy9EAqFLL8O5E31xmt/+svb/P/z69v9P/n2HdlZ+t7vjUQingVbTod7dvv/30Vb/5jJkEwJVdHbfjZF2kuR6VhMsxXTT5zOZM6vhN9HOzdTT3xVg43DWvMPKY/JBbK+hbISDz74YMEHP/jBRrSySovKvd/4/HfCpmNKG9tWuTgwfzzBAdadei/hg+dxNFKUu7OZNESeOo3xyaIcriAcJ8Lv6eX+NU1E2J+yeFxGEsocl1122cTevXufApgejhdPDcSy9w8rbntAk8t1MufyRig4uZVAz+m0DzfSiMqtX4yG+J5TGBoryd2Eygh9/JA8Bmlc45FysrsLJKEsKL/cM65tbU0PxStNx5IWGsvyELdX16TPSgpU3ZNsCPbR23kWBbY3N8YQNNgHT+TocEWOlqO3ifEXuriHDaTmCitnE4oMRC4iUOkdDVR6snK8CBID86ZjcKLiftad+gfyS3o4kgv71bdvoKuvJkeTSYhBWhjnHjaSmmSikS4vsZD8Cu8oCj01EK8yHUuqJWpEyjXF8Xji+Bt3sjFcymD72ehYgKx7/TXojgY6uutycOGiJs6jdPJLGlY58L6Qw1qTnRN5lkESyjLkl3vHQOlsG1NRcdsr4yiLKxil8tQ/ovtPpqN/MzXZssJeQ/zgCRzty8XdLfvo4TYC9KelYOgjaTima7j28vTmm28uVUqdvWvXrvxUHfOaa67Z+MMf/vB4+xqQX+4ZL6j29qfqXE6gbW15vFLbaikKVM0+Gk+9l2hg1P17rGiI7DmF/r51OdbNNcUoP6Wbr1FL/3H3L0kF1+1ymkprbqHcedHhzakIZNbV9246sJzn/eQnPyk/66yzJm666abybdu2ZWTFc16ZZxyFPdUfq8mWsveWZcu4/DL5pina/ABFo7V0d59Ooe17zg59jmcrpnafRmg8l2Zz2UR5mG7uoZ54Wl+zcWBvGo/veK5soYyNjVk7duwo+uEPf3jkjjvuKF/oeTfccEPNSSedtPWkk07a+tnPfrYaYO/evf4TTjhh6+tf//oNmzdv3nr++eefNDEx8azk8Ktf/Sp4ySWXHCseeccddxRfeumlJwLklXomCmt9PaY2qUo1y7Zd+R4wqbSHutN+T/G6p+i0ooyZjme54hYTj5/B1HhJjqwz0dgcooOvMM1dbCSe9i7+R3OxwvBcrvwwufXWW0ubm5vHzjjjjJmysrLY/fffXzD/Offff3/BrbfeWvHoo48+/cgjjzx90003VT344IMBgI6OjvwPfOAD/QcOHNhdUlISv+mmm57V/L3yyitDBw8ezO/p6fEC/OAHP6h461vfemy2l6/Imipq8HVZWdBdpGO2V8lsrxVTGqvqEA1bfk9RzR46rBjjpmNaTMzD6K7nYYcLWfACLGtobA7TyX8yzvdoXGLfklTK6e4ucGlCuf3228uvvfbaEYBrrrlm+Oabb37OH0lra2vR5ZdfPlpcXGyXlJTYV1xxxch9990XBKirq5s577zzpgC2bdsWPnLkyLMGWi3L4nWve93Qd7/73fLBwUHPzp07i1772tc+60rUm29Fgo3+To9fzaTvJ80MTw4XilwrS+OpPkDjlt9RWL2XDiuG4/a/ifgY3LkN/0x+lq+rmU0kX2OM79LAQEa7JOPAzgyez5FcN8urr6/P89e//jW4d+/ewPve9z7i8bhSSmnbtrssa3n50e/3H2uWejwePTU19ZxvvP7664euuOKKzfn5+fqqq64a8fmeW3TV8ql4sNHXNdEdXR+b0s9pJbmFTB9eO0vjqdlPY9VBYv2baR88gQon1AYbC9L51FbWZXXVYE2cdnq4kyL6WXAbijR7OpenC89y3afIzTffXPbqV796uKen58nu7u4ne3t7n6ivr4/87ne/e9Yf74UXXjhxzz33lIZCIWt8fNy65557yi688MJlXz1u3LgxWlNTE/3qV7+6/l3veteCixuVR+miBl9PXolndC0/l1GxuA9lZhfHbGPZeNftY8Npvyd/fRudvjB9JuLQEO+qo73tdBqyNplEmeQR2vkSU3yHhjTO3FqOvxo8t2O4LqH87Gc/K3/Na14zMve+V73qVSO33HLLs7q9LrjggvAb3vCGobPOOmvL2WefveW6664bOP/886dWcq7Xv/71Q+vXr4+cddZZ04s9TylFwTrvYME6b69SLhys1yivTzuuxL6bWTbeyiM0nHovNZv/xEjxUdqVzaLvo1SxFeGntjDQviFL15iM0M8v6eSz5PM/bGDceEswBrQajsERpHz9It785jc3btu2LfyhD31o2T9vbNr2T/bE1tlR7axNtZbitaKR2DP9erlUvj5TbIvocCO9gyeQFy1Iz0yrGT8DT55O/kxelu1GGWeaQ/TzBwrowmn19R7Sms+bDsIJXDeGkilbt27dEggE7G9/+9udK/k+b74VCW7wdYWPxqqjk7bpK6fli9k+y5Pbm26lm2XjqzxCQ+URmCpmuP9kQqHK1I21jJbQ8dQWarWVJX/XNjF66OVh4DHWEV9zFeB0+V/TAThFrLOmGQAAHQBJREFUdrzx0mD37t1Pr/Z7LY+yC+u8vdND8dKZoXiFdkltE6/HjkXii2xDKVImME75hkco16DDZQyMNDAZqiYYy1/5xlYaYh0NdHc1ZEEXl02MPvrYgWYn1UQcv5p/BHjUdBBOIQklTZRSBCq9o74Ca2qyN7bOjmrnD4zG4t7EsJor8l9WUKAKR6gqHEkUn4wECI3UMzxWi2+miCrU4gPqES9DT52GmixycTKZZITDjPMkfvZSQYQ60yGtwH06BypSL5cklDTzFlgzxRt8HeH+WFVk3Hb2OgBbezw+HY1HlfOTX5byTxGs2U+wZj/EPUTG19E9VktsqoTCWB7lqMREGg16sJKO/Zup15bLaudEmaSbEXZj00Y5Y5SB0RlaayHdXXNIQskA5VG6cL2v31cUn5jqi1Xb6S8BsWoebB133+S/rOSJ4y/rpq4sWY4y7iEyWcFwfw2hnadgD29gPU5PJjGmGGaULmY4jJdDFDNCMVBoOrQU2Ks1KxpjzXaO/WDLRv6gJ+wNWB3hvlhVdMJ25iycaNynLI/7pj7nACuOb7CfmdZ+NsaexMfPgQKmaGCMWmaoQVOBlxICBAjiITMzDTU2M0wwQZgRIgyi6cEzJ3kEMhJH5v3GdABO48qE0tHR4X3ve9/b+PjjjxcUFxfHKysro1//+tc7zzjjjDWVQbnmmms2XnnllWNvfetbR5Z+9upYXmUX1fn6IqF4aGogXuXAsRXl9dqyJsVhpmHkDxDpZt5YSZgAewkct8ZtEZPUMEEpUYqwKUJTiKYAiwI85OPBf6yFo447dBYlzgwxprCZwiYMTAKTKIbxMUABwxRhUwxZXtrl2QaAP5kOwmnWnFAuuoiUlq+/914WLV9v2zavfOUrN7/hDW8Yuvvuuw8BPPTQQ4Genh7fWhNKJvmDnrCv0OqYHoyXzYzGy5xUDl9FY17I7aqpTqEhvh+6WqHOXunf6wSFTGRF15IT3am1+4vDpprrOsvvvvvuoNfr1R/96EcHZu8799xzpy677LKJ+c9NR/n6VFKW0oFq73Bwg6/DG1ArWsWfVhrL8tgyc8WwQej+GYzfCxtWnExEOo0DvzMdhBO5LqE88cQTgTPPPDO81PPSWb4+1Tx5VjTY6O8uqPH2OaUkvmVrD0g5FhMmYODX0PtzqBt27+ynbHaX1rimNySTXJdQlivd5evTIa/UEyre5G/Pr/AMGd/AS2sVJJSRnTBFwgyM/gm6boGqTlhnOh5xXNPA3aaDcCrXNaNPP/30qTvvvHNNV22pKl+fDspSOlDpHckr9YxND8XLImPxUlPjK+s5Wh4iGAcpx5JOMQg/AQOPQL2N+7YVzjG/1ZrndK+LBNe1UK666qpQJBJRX/nKV44ViHv44YcDv/3tb42Ur08Xy6vsghrvUHCjv90ftIzsBugnGixkstvEuXOBDdF90H4TWH9LjJNI4na2GHCn6SCczHUJxbIsfvWrXx289957ixsaGpo2b9689WMf+1hdXV3ds/r7M1m+Pp08fhUrrPX1F2/0tfuD1rhSmZ19VUtPMWhZl5JCGuxu6LgVpu+FDRHINx2TWJa7tGbIdBBOJuXrF7Ga8vXpFo9q78xQrDQybhdrnb4LgoM9e/wPX+T5I0A7jR0hip1a6dU14jB9CHr/BhUhsqy8fPYbA94tuzIuznVjKJmy2vL16ebxqVjBOt9gfqUenhmOl86MxUu0nd6ukjq6q/dSNKWxsnXFc1pNwfCTMPEErI/BRtPxiFW5VZLJ0iShLGAt5eszwfIqO1DtHc6v8IzMjNnByHi8JD6j85b+zpXzEs+vYqCjnxpppSyTBj0EPTvA056YsVW+5DcJp2oHfms6CDeQhOJyyqN0frlnPL/cMx4L23kzo/GS6IRdlOrusCoGGoaoGIrjXfF+HbkkDtNHoO9hKB3HVWXYxcK+p7ULt/Y2QBJKFvEWWDPeAqvfjuvByFg8GBmzi+OR1LRaFKh6uqLt0mNzXGEY2g0Tjye6tdy7N4mYb4fWPGY6CLeQhJKFLI+y88u9Y/nljMWmbX903C6KTNhFa93nPsjEugDhzikKGlIVq1tp0JMweAgmd0PpGFTAyndbFI4WA75vOgg3kYSS5bz5VsSbbw0HqhmOTdn+yLgdjE7YRXZsdVWOG+gs3cfJUci9Tbg06BD07YeZp6F8AqpI3ER2+qXWyDqsFXBlQvF4PGefdNJJU1prPB6P/trXvtZx6aWXrnkGRibK15vkDVgRb8AaooahWNjOi07aBbGwXRib1nksc99fP9FgOf+/vbsPaurM9wD+PSG8REVEqVgTXEAISRAQ6LS+dRQq3dZBXO04i951b7XdnUrddutVXPF1t3aXMmzZ4rZe6+3KAHWtaEXXa2HU4pR6KZerKAgK+BJ1eVF5kYDGQHKe+0cSNiAvQQPJgd9n5gxMOJ78gsAvz3PO+T7N6mZM8h3aah0DAwwPjE1EfwXw0lIkymhxB8BX9i5CaJ49vv6ijePrZ/YfXw8Arq6u/NWrVysB4MiRI+OTkpJkMTExva0IQfpgOt+iA9DCG5hI385LOh/yY/Vafgyv7//n4nnU+2gw/r4eziPy3XkH0NYEPLgBoAp4rgOYau+ayLAyAEhjDBSOOkiCu1O+p9bWVicPD49eE3odPb7eUYicON7Fw+nh2KnO9zymu6rH+zrfchqLNhgjutXosTYKBzj5Qi0eCWnEDGBaoPk2cKsQuPMV0PY3wP0Y4FMO+NBd7KPSYcZQY+8ihEiQU146nU6kUChUOp2Oa2xsdD558mR1z30s4+sZY4iMjFS+8sorbV5eXobbt2+7ZWdn35gzZ86tRYsW+WdmZnomJCQ0m/9tbGxs2/vvvz+trq5OPHXqVP1Qx9c7GidXUafIFdp32Yy/AsBn3GUJADmAINPm6wbdc5PQdKsJXr52LHXQOoDWFqCtATDUAq4NgGeH8R4Ruk+EAMBNAAftXYRQCbKhWE55nT59euzq1av9qqurK0Sifw24LOPrAcAcX798+fIHg4mvf/fdd5suXLgw7ptvvrk5jC/RobzLZmgBXDJtAIxNxht3ZWcx6Weu4KZNAJzdATdXYLwIsNsJewboO4B2LaBtAzpbAf4B4NQCuDQC43WAB4wbIT3pYZzqcog1iYRIkA3F0sKFCx+2tLSI6+vrxVKp1KofBEeOrxcKU5OpeY/DfgC7AZjTntk4oM0DeCQB9BLAIAGYBGBuAOcKiFwBkQsgFgPOYsDFCXA1NyEGGHhAzwCD6XMDD/AM4A0Az//rI3sEGFoBvgVwegC4tQKSh8BYGCPgKQaeDNZBxjBq3zjaguAbSmlpqRvP8/D29u7WTKKiotrXrFnj++GHHzYwxnDy5EnPjIyMG9Ye1zK+Pi8v74kpNWLEGBo5DrsBbDY9xLUD7u2DDD/kjA1EBGOEO8W4k+F2BcBhexchdIJsKOZzKADAGMOePXvUYnH3l2IZXw8A5vj6qqoqq2/ui4+Pb/rss8/E9oyvFwLG8D8ch3wAP33qY1ATIfbTCuBjxmCwdyFCR/H1/XDE+PrhcunSJa+wsDBfa/fnODgD+BOMJ+0JEQoewDbGUGbvQkYCwV82PFSCg4OVlZWVknfeeYcW1LGC6Zr9PwK0ABERlCxqJrYjyCmv4eDo8fWOiDE0cxw+ApAM4JlywwgZBt8zRudNbIlGKMSmTDeEfWrvOggZwHXQz6nNUUMhNscYvgdwyN51ENKHBwB2MYYOexcy0lBDIUMlG0CxvYsgpActgD8whlF3oc1woIZChgRjYABSgYHDPgkZJh0APqScrqEj2IaSlZU1geO4yNLS0j7D++rr68UvvfSSXC6Xq0JCQpStra19vt7bt2+LY2Nj/X18fGYEBwcr58+fH1BWVmbVaodSqTSkvr5+yC9wePHFF4O+//77MUP9PLbCGB4D2A5jwCRxQDIZXA4cQHBlJeZ1dGARY4hlDLF/+MOIW5rTACCFMZTbu5CR7Jn/CKZF2za+/oPvrHtHe/DgwYkRERHtmZmZE8PDw+t62+eTTz55bs6cOe1paWl1arXa2dXVtdebbnieR1xcXMDKlSubTpw4cQMAioqKJHV1dc6hoaG6p381A+vs7MRIjnVhDG0ch20wXvlFa6w7mOnT4bZiBfzsXccQYwA+ZYymYIeaIEcora2topKSknH79+9XHz16tM+UWBcXF1ZbW+sMGKNU3Nzcem0oJ06ccBeLxSwxMfG++bHZs2drX3vttXbL/TQajWjBggUBQUFBqsDAwOB9+/Z5mr+WkpIyWaVSKeVyuco8aiooKBgzc+ZMhVKpVIWHhysuXbrkCgDp6emToqOjA2bNmiWfM2dOkEajES1fvtw3JCREqVQqVdnZ2RMAoL29nYuNjfX39/cPjomJmf748WOrFsFyNIzhAYAtABrsXQvprrERndnZuPGb3+DC4cO4Ze96hsg+xlBg7yJGA0E2lAMHDkxYsGBBa2hoqM7T01NfWFjY6zRQQECALi8vzzMlJaXfhaDKysokYWFhjwZ63m+++Wb8lClTOquqqipramoqli1bpjF/zcvLS19ZWXllzZo195OTk70BICws7HFJScnVK1euVO7YsaM2MTFRZt6/oqJizLFjx66XlJRUJSUlPR8VFaUpLy+/UlhYWLV161aZRqMRpaamTpZIJPyNGzcqdu3aVVdZWTnW+u+SY2EMTTA2FToZ6kAqKqBdtQqVf/0r6u7fx5COxu3kAGP4h72LGC0E2VAOHTo0ccWKFS0A8MYbbzRnZWU9MUq5efOmc2pq6pTq6uryzMxMr4yMjAkAIJfLVU1NTU+VGxUREaEtLCwcv3btWmleXt64SZMmdWX/rFy5sgUAXnzxxUd37txxBYDm5manRYsWTQ8MDAxOTEz0qa6u7jrf8/LLL2u8vb0NAHD27NnxaWlpzysUCtW8efOCdDodd+3aNZcffvhh3KpVq5oA4KWXXtLK5fIBm54jYwz3YGwqzQPtS4gNHGIMf7d3EaOJ4O6Uv3v3rtOPP/7oXlVVJVm3bh0MBgPHcRzjef6fluuhnDlzZpxCodBOmTLF8O2339ZER0cHNTQ0OMtksg7LRgAAISEh2tzcXM8nnqyH0NBQ3YULFyqPHDnisW3bNunp06c1qamp9QBgnk4Ti8VMr9dzALBp0ybp/Pnz206dOnW9qqrKJTo6uivnasyYMbz5c8YYDh8+fC0sLGwkvkPshjHUcRy2AtgFWtSKDA0G4G+MIdfehYw2ghuhZGVleS5durS5rq6uvLa2tryhoaFMJpN15Ofnj7PcLzIyUltUVOSuVqudfXx89CkpKXc2b948LT4+/omsqcWLF7d1dHRwqampXubHiouLJXl5ed2OqVarnd3d3fmEhITm9evXN1y8eLHfK640Go2TTCbrAIC9e/d69bVfVFSU5s9//rM3zxt7zLlz5yQAMG/evPavvvpqIgCUlJS4VVdXC+YKr/4whjsANgL4p71rISOOAcBfqJnYh+AaSk5OzsRly5a1WD62ZMmSluzs7G7vdsPDwx9v3bq19tVXXw1UqVTKtLQ07y+++OLG73//e1nPy4FFIhGOHz9+/bvvvhvv4+MzIyAgIHjTpk1SqVTabc308+fPS2bOnKlUKBSqjz76aOr27dvr+6t106ZNDTt37pQplUqVXt/32l/Jycl1er2eUygUqoCAgOCtW7dKAWDDhg33Hj586OTv7x+8ZcsWqUqlemjlt8nhmaa/EmFch4IQW+gA8BFj+M7ehYxWFF9PejXY+PqnxXFwgXG0Mmuon4v07/PPIV+7FnIA+PBDXN6+XVD3Dz2E8abFCnsXMpoJboRCRhZTntIfAZy0dy2jkUgESKVwkUrhIpH8a5GzsWPhZH7cnvVZqQXA76iZ2J/gTsqTkccU07KH49AI4Jf2rmc0USohuXwZr/R8fP16KNevhxIAOA4nhr8yq9UA+BNjuD/gnmTIUUMhDoMx5HAc6gG8B0Bi73qIwzsFYI9pcTfiAKihEIfCGH7gONwE8DtgxOVJOZyKCmgdfATSm04AexlDvr0LId3RORTicBhDLYD/gPEdKCGWGmE8X0LNxAFRQyEOiTF0MIZ0AH8BRmQkCBm8MgC/ZQzV9i6E9E6wDcXW8fVOTk6RCoVCFRQUpFKpVMpTp05ZnZtF8fVDhzGcgXG0UmvvWojd6AH8HcA2xtBq72JI3549vv4rG8fX/9vwx9cDgKurK3/16tVKADhy5Mj4pKQkWUxMTNXTvQrrjfT4eltgDLc4Dr8F8BaAnwIQZOoyeSpqAGmM4Ya9CyEDE+QIxdbx9b0c38nDw+OJW9spvt5+GMNjxvAZjOGS/SYUkBHBAOAggA+omQiHIK/y6i2+/uWXX34iiTcgIEC3e/fuKSkpKY8s1zrpjU6nEykUCpVOp+MaGxudT548+cQ8rTm+/uzZs9cAwDK12Bxfn5yc/FxycrL3119/fcscX+/s7Izc3Fz3xMREWX5+/nXAGF9fVlZW4e3tbVi3bp00KipKk5OTo25sbHR64YUXlHFxcZpPPvnkOXN8fXFxsWTu3LmqZ//uCRtjKOc4rAOwEsBSCPRNEemXGjQqESRB/jIORXy9ecrr5s2bFUePHq1ZvXq1nzms0Yzi6x2D6YR9BoD1AP3RGUFoVCJwghuhDEV8fU8LFy582NLSIq6vrxdLpdKuqS+Kr3csjOE6x2E9jCOVFYAgYkJI784D+NKURE0ESnAjlKGIr++ptLTUjed5eHt7dzuPQvH1jocxGBjDYQDvADgD41oYRDjUALYzhp3UTIRPcCOUnJyciRs3buy2Nrk5vv7111/vWgPeMr5eLBYzLy8v/RdffHFj586dslmzZj0KDQ3tNhown0MBjCOGPXv2qMXi7t+e8+fPSzZv3iwTiUQQi8Xs888/73cN7k2bNjW8/fbbfh9//PHUmJiYB33tl5ycXPfrX/96mkKhUPE8z/n4+OgKCgqubdiw4V58fLyfv79/cEBAwOORFF9va6Ysp79wHHIB/DuAF+xcEunfAwDZAE4xBn6gnYkwUHw96dVwxdcPFY7DDABvAggaYFcyvDoA5ALIYQyP7V0MsS3BjVAIsQZjuAxgA8dhLoBVAKR2Lmm0ewwgH0AuY6A3pCMUNRQyojGGcxyHIgCzAfwMgMLOJY02rQD+AeC/GUP7QDsTYaOGQkY80xz9OQDnOA5BMDaWORDgRSkC0gDgKIDTpkXUyChADYWMKoyhCsDHHIfJABYDeBUAXT1nO9UwniM5RyfbRx9qKGRUYgz3AHzJcTgAYKFp87dvVYLVDKAAwBm69Hd0o4ZCRjXGoIVxjv8fHAdfANEA5gPoMyOOADBerVUM470/pTQaIYBA55CtjZofTHz97du3xbGxsf4+Pj4zgoODlfPnzw8oKytztaYeiq8fGRiDmjH8DcbLjZMAfAtQXLoFHkAFgM8A/JIxpDCG89RMiNkz/xGMtnF8/XdWxNdbGzVvbXw9z/OIi4sLWLlyZdOJEyduAEBRUZGkrq7OuecNkLZG8fWOhzEwAOUAyjkO/wlgBoBIADMB+GF0xedrAVwA8L8A/o8xaOxcD3Fggp/y6itqHjDG19+6dcsFMMbX93WMEydOuIvFYmaZSDx79mxtz/00Go0oLi7Ov76+3oXneS4xMbHuV7/6VQtgjK/Pz8/30Ov13Ndff30jPDz8cUFBwZgPPvhgmk6nE7m5ufEZGRk3w8LCdOnp6ZNyc3M9Hz16JDIYDNyZM2dq3nrrrWlXr16V6PV6bsuWLXW/+MUvHrS3t3Px8fF+lZWVkunTpz8ezfH19mJ6911m2sBx8AAQBmNzCQfQZ6SOQDEANQBKAVwEcJUx9Pr7RUhPgmwo1kTNA9bH15eVlUnCwsIGTPKl+HpiWjHwe9MGjoMUxsYih3H04gPgiTRrB9YIYwPp2hgDRfyQpyLIhmI55XX69Omxq1ev9quurq6wTBu2jK9fuHChfPLkyZ1vvvnmA7lcrioqKqoaKHG4NxEREdotW7b4rF27VrpkyZLW1157retGLcv4+uPHj3sCxvj6n//8535qtdqN4zjW2dnZNcLoGV+fn58/IT09fQoAWMbXv/fee/cAiq93VIyhFhbLE3McnAFMg/GKMT/TR18AVi8pPUT0MDaPOzA2jmsAqmlJXWJLgmwolvqKmh9MfH1ISIg2NzfX88mjd0fx9WQgjKETwHXT1oXjMBHG6TEvAJNMm+Xnk/B08fs8jLEmjwE8grFp3LPY7po+NpnODREyZATfUPqKmo+MjNRu375dplarnX19fTtTUlLuLFu2LHDv3r1PLNyzePHitm3btnGpqaleGzZsaASA4uJiSUtLi5PlKEStVjtPnjxZn5CQ0Ozp6Wn48ssv+50/H2x8fUZGxm2RSIRz585J5s6dqzXH18fFxbVRfL2wMYZmGO/X6HV6FgA4DhyMTcUFgHOPjy4wnt8wNw8tAC3dhU4ciSAbijVR84OJrxeJRDh+/Pj1hIQEn08//XSKq6srk8lkut27d3e7SYvi68lQMo0gdKaNEMGh+HrSK6HH1xNChp8gb2wkhBDieKihEEIIsQlqKIQQQmyCGgohhBCboIZCCCHEJqihEEIIsQnBNpSsrKwJHMdFlpaWuvW1z2Di6ykSnxBCns0z/8F6L8m28fXpfxw4vh4ADh48ODEiIqI9MzNzYnh4eF1v+1gbXw9QJD4hhDwrQY5QWltbRSUlJeP279+vPnr0aJ8r67m4uLDa2lpnwBhfb87bsuL4/UbiW3PMviLxLaNcAGMk/oIFCwKCgoJUgYGBwfv27evKFEtJSZmsUqmUcrlcZR6JFRQUjJk5c6ZCqVSqwsPDFZcuXXIFgPT09EnR0dEBs2bNks+ZMydIo9GIli9f7hsSEqJUKpWq7OzsCQDQ3t7OxcbG+vv7+wfHxMRMp0h8QoitCLKhHDhwYMKCBQtaQ0NDdZ6envrCwsJep2wCAgJ0eXl5nikpKc8NdExznIufn1/w+++//5MdO3bUP8sxBxuJX1VVVVlTU1OxbNmyrgWMzJH4a9asuZ+cnOwNAOZI/CtXrlTu2LGjNjExUWbev6KiYsyxY8eul5SUVCUlJT0fFRWlKS8vv1JYWFi1detWmUajEaWmpk42R+Lv2rWrrrKy0t4puISQEUKQDeXQoUMTV6xY0QIAb7zxRnNWVtYToxTL+PrMzEyvjIyMCQAgl8tVluuYmJmnvG7evFlx9OjRmtWrV/vxPP9Mx7RGRESEtrCwcPzatWuleXl54yyTkC0j8e/cueMKGCPxFy1aND0wMDA4MTHRp7q6uuscUs9I/LS0tOcVCoVq3rx5QZaR+KtWrWoCKBKfEGJbgguHvHv3rtOPP/7oXlVVJVm3bh0MBgPHcRzjef6fluuhDCa+vieKxCeEkMET3AglKyvLc+nSpc11dXXltbW15Q0NDWUymawjPz9/nOV+kZGR2qKiIne1Wu3s4+OjT0lJubN58+Zp8fHxTQM9R3+R+NYec/HixW0dHR1campqV2x9cXGxJC8vr1udarXa2d3dnU9ISGhev359w8WLF/u94mqwkfjmUda5c+ckAGCOxAcAisQnhNiS4EYoOTk5Ezdu3Nhg+diSJUtasrOzJ77++utdJ7wHE18PUCQ+IYQ8K4qvJ72i+HpCyGAJbsqLEEKIY6KGQgghxCaooRBCCLGJp2koPM/zdHf1CGb6/+UH3JEQQiw8TUO5fP/+fQ9qKiMTz/Pc/fv3PQBctncthBBhGfRlw3q9/u2Ghob/amhomAGaMhuJeACX9Xr92/YuhBAiLIO+bJgQQgjpDY0wCCGE2AQ1FEIIITZBDYUQQohNUEMhhBBiE9RQCCGE2AQ1FEIIITZBDYUQQohNUEMhhBBiE9RQCCGE2AQ1FEIIITbx/y9WBqQWAjasAAAAAElFTkSuQmCC\n", 979 | "text/plain": [ 980 | "
" 981 | ] 982 | }, 983 | "metadata": { 984 | "tags": [] 985 | } 986 | } 987 | ] 988 | }, 989 | { 990 | "cell_type": "markdown", 991 | "metadata": { 992 | "id": "hrKHhSqWNWI1" 993 | }, 994 | "source": [ 995 | "## Customize the legend contents" 996 | ] 997 | }, 998 | { 999 | "cell_type": "code", 1000 | "metadata": { 1001 | "colab": { 1002 | "base_uri": "https://localhost:8080/", 1003 | "height": 408 1004 | }, 1005 | "id": "gpE1_2oG-8zE", 1006 | "outputId": "3c56b033-478d-40cd-ece5-dabbf236de12" 1007 | }, 1008 | "source": [ 1009 | "plt.figure(figsize=(7,7))\r\n", 1010 | "ax = plt.gca()\r\n", 1011 | "v = venn3(subsets=sets, set_labels=('','',''), ax=ax,set_colors=('darkviolet','deepskyblue','blue'),alpha=0.7)\r\n", 1012 | "for text in v.subset_labels:\r\n", 1013 | " text.set_color('white')\r\n", 1014 | " text.set_fontsize(16)\r\n", 1015 | " text.set_fontweight('bold')\r\n", 1016 | "\r\n", 1017 | "ax.legend(handles=h[0:3], labels=l[0:3], title=\"Legend\",loc='lower left') #create tailored legend from handles and labels \r\n", 1018 | "plt.title('Membership across Three Groups')\r\n", 1019 | "plt.show()" 1020 | ], 1021 | "execution_count": 12, 1022 | "outputs": [ 1023 | { 1024 | "output_type": "display_data", 1025 | "data": { 1026 | "image/png": "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\n", 1027 | "text/plain": [ 1028 | "
" 1029 | ] 1030 | }, 1031 | "metadata": { 1032 | "tags": [] 1033 | } 1034 | } 1035 | ] 1036 | }, 1037 | { 1038 | "cell_type": "markdown", 1039 | "metadata": { 1040 | "id": "6KepmYEvAV8X" 1041 | }, 1042 | "source": [ 1043 | "# Two-Way Venn Diagram " 1044 | ] 1045 | }, 1046 | { 1047 | "cell_type": "code", 1048 | "metadata": { 1049 | "colab": { 1050 | "base_uri": "https://localhost:8080/", 1051 | "height": 260 1052 | }, 1053 | "id": "V9WKdqteBn9G", 1054 | "outputId": "e53d79ee-08ff-433a-debb-1b78b19ea41e" 1055 | }, 1056 | "source": [ 1057 | "multi_table([dfA,dfB])" 1058 | ], 1059 | "execution_count": 13, 1060 | "outputs": [ 1061 | { 1062 | "output_type": "execute_result", 1063 | "data": { 1064 | "text/html": [ 1065 | "
\n", 1066 | "\n", 1079 | "\n", 1080 | " \n", 1081 | " \n", 1082 | " \n", 1083 | " \n", 1084 | " \n", 1085 | " \n", 1086 | " \n", 1087 | " \n", 1088 | " \n", 1089 | " \n", 1090 | " \n", 1091 | " \n", 1092 | " \n", 1093 | " \n", 1094 | " \n", 1095 | " \n", 1096 | " \n", 1097 | " \n", 1098 | " \n", 1099 | " \n", 1100 | " \n", 1101 | " \n", 1102 | " \n", 1103 | " \n", 1104 | " \n", 1105 | " \n", 1106 | " \n", 1107 | " \n", 1108 | " \n", 1109 | " \n", 1110 | " \n", 1111 | " \n", 1112 | " \n", 1113 | " \n", 1114 | " \n", 1115 | " \n", 1116 | "
ANames
0angela
1nick
2harry
3nicole
4britney
5haseem
6anna
\n", 1117 | "
\n", 1118 | "\n", 1131 | "\n", 1132 | " \n", 1133 | " \n", 1134 | " \n", 1135 | " \n", 1136 | " \n", 1137 | " \n", 1138 | " \n", 1139 | " \n", 1140 | " \n", 1141 | " \n", 1142 | " \n", 1143 | " \n", 1144 | " \n", 1145 | " \n", 1146 | " \n", 1147 | " \n", 1148 | " \n", 1149 | " \n", 1150 | " \n", 1151 | " \n", 1152 | " \n", 1153 | " \n", 1154 | " \n", 1155 | " \n", 1156 | " \n", 1157 | " \n", 1158 | " \n", 1159 | " \n", 1160 | "
BNames
0angela
1nick
2harry
3sarah
4taylor
\n", 1161 | "
" 1162 | ], 1163 | "text/plain": [ 1164 | "" 1165 | ] 1166 | }, 1167 | "metadata": { 1168 | "tags": [] 1169 | }, 1170 | "execution_count": 13 1171 | } 1172 | ] 1173 | }, 1174 | { 1175 | "cell_type": "code", 1176 | "metadata": { 1177 | "colab": { 1178 | "base_uri": "https://localhost:8080/", 1179 | "height": 362 1180 | }, 1181 | "id": "zGQxYula_xUb", 1182 | "outputId": "2f4972c7-110c-4338-bf92-10cfbae3ca05" 1183 | }, 1184 | "source": [ 1185 | "sets = Counter() #set order A, B \r\n", 1186 | "sets['10'] = len(A-AB_overlap) #10 denotes A on, B off\r\n", 1187 | "sets['01'] = len(B-AB_overlap) #01 denotes A off, B on\r\n", 1188 | "sets['11'] = len(AB_overlap) #11 denotes A on, B on\r\n", 1189 | "labels = ('Group A', 'Group B')\r\n", 1190 | "\r\n", 1191 | "plt.figure(figsize=(7,7))\r\n", 1192 | "ax = plt.gca()\r\n", 1193 | "v= venn2(subsets=sets, set_labels=labels, ax=ax,set_colors=('darkviolet','deepskyblue'),alpha=0.7)\r\n", 1194 | "plt.title('Membership across Two Groups')\r\n", 1195 | "plt.show()" 1196 | ], 1197 | "execution_count": 14, 1198 | "outputs": [ 1199 | { 1200 | "output_type": "display_data", 1201 | "data": { 1202 | "image/png": "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\n", 1203 | "text/plain": [ 1204 | "
" 1205 | ] 1206 | }, 1207 | "metadata": { 1208 | "tags": [] 1209 | } 1210 | } 1211 | ] 1212 | } 1213 | ] 1214 | } 1215 | -------------------------------------------------------------------------------- /210630_Medium_ColabwithR.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "nbformat": 4, 3 | "nbformat_minor": 0, 4 | "metadata": { 5 | "colab": { 6 | "name": "Medium_ColabwithR.ipynb", 7 | "provenance": [], 8 | "collapsed_sections": [], 9 | "authorship_tag": "ABX9TyMqsBhxGjsK57FPugbyamcU" 10 | }, 11 | "kernelspec": { 12 | "name": "ir", 13 | "display_name": "R" 14 | } 15 | }, 16 | "cells": [ 17 | { 18 | "cell_type": "markdown", 19 | "metadata": { 20 | "id": "3VcL-Nj-MBVy" 21 | }, 22 | "source": [ 23 | "# I. Initialization" 24 | ] 25 | }, 26 | { 27 | "cell_type": "code", 28 | "metadata": { 29 | "colab": { 30 | "base_uri": "https://localhost:8080/", 31 | "height": 34 32 | }, 33 | "id": "sGEHnVLpgFdV", 34 | "outputId": "d108dabf-f15a-4b47-a1dc-560a626286c4" 35 | }, 36 | "source": [ 37 | "R.version.string" 38 | ], 39 | "execution_count": null, 40 | "outputs": [ 41 | { 42 | "output_type": "display_data", 43 | "data": { 44 | "text/plain": [ 45 | "[1] \"R version 4.1.0 (2021-05-18)\"" 46 | ], 47 | "text/latex": "'R version 4.1.0 (2021-05-18)'", 48 | "text/markdown": "'R version 4.1.0 (2021-05-18)'", 49 | "text/html": [ 50 | "'R version 4.1.0 (2021-05-18)'" 51 | ] 52 | }, 53 | "metadata": { 54 | "tags": [] 55 | } 56 | } 57 | ] 58 | }, 59 | { 60 | "cell_type": "code", 61 | "metadata": { 62 | "id": "VNMyewZ4vRko" 63 | }, 64 | "source": [ 65 | "#https://towardsdatascience.com/how-to-use-r-in-google-colab-b6e02d736497 method 2, runtime is R\n", 66 | "#This should work, but it did not for me. More info at the link below. Did not work in full but got close. \n", 67 | "#https://towardsdatascience.com/how-to-use-r-in-google-colab-b6e02d736497\n", 68 | "#install.packages(\"googledrive\")\n", 69 | "#library(\"googledrive\")\n", 70 | "#drive_auth(\n", 71 | "# email = gargle::gargle_oauth_email(),\n", 72 | "# path = NULL,\n", 73 | "# scopes = \"https://www.googleapis.com/auth/drive\",\n", 74 | "# cache = gargle::gargle_oauth_cache(),\n", 75 | "# use_oob = gargle::gargle_oob_default(),\n", 76 | "# token = NULL\n", 77 | "#)" 78 | ], 79 | "execution_count": null, 80 | "outputs": [] 81 | }, 82 | { 83 | "cell_type": "code", 84 | "metadata": { 85 | "colab": { 86 | "base_uri": "https://localhost:8080/" 87 | }, 88 | "id": "y99Ep9_hgx2k", 89 | "outputId": "277d1cc2-65c7-4fcb-a2ef-5773b30610c2" 90 | }, 91 | "source": [ 92 | "install.packages(\"googledrive\") #only need to install occasionally\n", 93 | "install.packages(\"httpuv\")\n", 94 | "library(\"googledrive\")\n", 95 | "library(\"httpuv\")" 96 | ], 97 | "execution_count": null, 98 | "outputs": [ 99 | { 100 | "output_type": "stream", 101 | "text": [ 102 | "Installing package into ‘/usr/local/lib/R/site-library’\n", 103 | "(as ‘lib’ is unspecified)\n", 104 | "\n", 105 | "Installing package into ‘/usr/local/lib/R/site-library’\n", 106 | "(as ‘lib’ is unspecified)\n", 107 | "\n" 108 | ], 109 | "name": "stderr" 110 | } 111 | ] 112 | }, 113 | { 114 | "cell_type": "code", 115 | "metadata": { 116 | "id": "628_cnx5NZe2", 117 | "colab": { 118 | "base_uri": "https://localhost:8080/" 119 | }, 120 | "outputId": "619c7bd9-f465-485b-e34e-ab0e52e3bd2a" 121 | }, 122 | "source": [ 123 | "if (file.exists(\"/usr/local/lib/python3.7/dist-packages/google/colab/_ipython.py\")) { #may need to update python version occasionally\n", 124 | " install.packages(\"R.utils\")\n", 125 | " library(\"R.utils\")\n", 126 | " library(\"httr\")\n", 127 | " my_check <- function() {return(TRUE)}\n", 128 | " reassignInPackage(\"is_interactive\", pkgName = \"httr\", my_check) \n", 129 | " options(rlang_interactive=TRUE)\n", 130 | "}" 131 | ], 132 | "execution_count": null, 133 | "outputs": [ 134 | { 135 | "output_type": "stream", 136 | "text": [ 137 | "Installing package into ‘/usr/local/lib/R/site-library’\n", 138 | "(as ‘lib’ is unspecified)\n", 139 | "\n", 140 | "Loading required package: R.oo\n", 141 | "\n", 142 | "Loading required package: R.methodsS3\n", 143 | "\n", 144 | "R.methodsS3 v1.8.1 (2020-08-26 16:20:06 UTC) successfully loaded. See ?R.methodsS3 for help.\n", 145 | "\n", 146 | "R.oo v1.24.0 (2020-08-26 16:11:58 UTC) successfully loaded. See ?R.oo for help.\n", 147 | "\n", 148 | "\n", 149 | "Attaching package: ‘R.oo’\n", 150 | "\n", 151 | "\n", 152 | "The following object is masked from ‘package:R.methodsS3’:\n", 153 | "\n", 154 | " throw\n", 155 | "\n", 156 | "\n", 157 | "The following objects are masked from ‘package:methods’:\n", 158 | "\n", 159 | " getClasses, getMethods\n", 160 | "\n", 161 | "\n", 162 | "The following objects are masked from ‘package:base’:\n", 163 | "\n", 164 | " attach, detach, load, save\n", 165 | "\n", 166 | "\n", 167 | "R.utils v2.10.1 (2020-08-26 22:50:31 UTC) successfully loaded. See ?R.utils for help.\n", 168 | "\n", 169 | "\n", 170 | "Attaching package: ‘R.utils’\n", 171 | "\n", 172 | "\n", 173 | "The following object is masked from ‘package:utils’:\n", 174 | "\n", 175 | " timestamp\n", 176 | "\n", 177 | "\n", 178 | "The following objects are masked from ‘package:base’:\n", 179 | "\n", 180 | " cat, commandArgs, getOption, inherits, isOpen, nullfile, parse,\n", 181 | " warnings\n", 182 | "\n", 183 | "\n" 184 | ], 185 | "name": "stderr" 186 | } 187 | ] 188 | }, 189 | { 190 | "cell_type": "code", 191 | "metadata": { 192 | "id": "aKSqnB81a5nH" 193 | }, 194 | "source": [ 195 | "drive_auth(use_oob = TRUE, cache = FALSE)" 196 | ], 197 | "execution_count": null, 198 | "outputs": [] 199 | }, 200 | { 201 | "cell_type": "markdown", 202 | "metadata": { 203 | "id": "5RO6C0OKLTbC" 204 | }, 205 | "source": [ 206 | "# II. Method to Download Direct from Web to Colab Session" 207 | ] 208 | }, 209 | { 210 | "cell_type": "code", 211 | "metadata": { 212 | "colab": { 213 | "base_uri": "https://localhost:8080/", 214 | "height": 34 215 | }, 216 | "id": "tGGCu4Mp56nq", 217 | "outputId": "9d4ce75a-09cf-42d2-fba8-bbdb3a29c4f7" 218 | }, 219 | "source": [ 220 | "getwd()" 221 | ], 222 | "execution_count": null, 223 | "outputs": [ 224 | { 225 | "output_type": "display_data", 226 | "data": { 227 | "text/plain": [ 228 | "[1] \"/content\"" 229 | ], 230 | "text/latex": "'/content'", 231 | "text/markdown": "'/content'", 232 | "text/html": [ 233 | "'/content'" 234 | ] 235 | }, 236 | "metadata": { 237 | "tags": [] 238 | } 239 | } 240 | ] 241 | }, 242 | { 243 | "cell_type": "markdown", 244 | "metadata": { 245 | "id": "RQe3jHzYmMdT" 246 | }, 247 | "source": [ 248 | "That only gets you part of the way to the problem. Next step is to load your file. Create a session download into your temporary 'content' folder, and proceed from there." 249 | ] 250 | }, 251 | { 252 | "cell_type": "code", 253 | "metadata": { 254 | "id": "-45f7m5S3PxM", 255 | "colab": { 256 | "base_uri": "https://localhost:8080/" 257 | }, 258 | "outputId": "a5e07d11-e020-4e93-f6af-8bd87ce930c5" 259 | }, 260 | "source": [ 261 | "download.file('https://data.cdc.gov/api/views/vba9-s8jp/rows.csv?accessType=DOWNLOAD','/content/dnld_direct_from_web.csv')\n", 262 | "unzip(zipfile=\"/content/downloaded.zip\", exdir=\".\") " 263 | ], 264 | "execution_count": null, 265 | "outputs": [ 266 | { 267 | "output_type": "stream", 268 | "text": [ 269 | "Warning message in unzip(zipfile = \"/content/downloaded.zip\", exdir = \".\"):\n", 270 | "“error 1 in extracting from zip file”\n" 271 | ], 272 | "name": "stderr" 273 | } 274 | ] 275 | }, 276 | { 277 | "cell_type": "code", 278 | "metadata": { 279 | "colab": { 280 | "base_uri": "https://localhost:8080/", 281 | "height": 881 282 | }, 283 | "id": "ARXril-X6fXa", 284 | "outputId": "b9969961-d823-40ce-ea31-b2dafc5d10f2" 285 | }, 286 | "source": [ 287 | "library(readr)\n", 288 | "a <- read.csv('/content/dnld_direct_from_web.csv')\n", 289 | "head(a)" 290 | ], 291 | "execution_count": null, 292 | "outputs": [ 293 | { 294 | "output_type": "display_data", 295 | "data": { 296 | "text/plain": [ 297 | " YearStart YearEnd LocationAbbr LocationDesc \n", 298 | "1 2019 2019 AL Alabama \n", 299 | "2 2019 2019 ID Idaho \n", 300 | "3 2019 2019 IA Iowa \n", 301 | "4 2019 2019 LA Louisiana \n", 302 | "5 2019 2019 ME Maine \n", 303 | "6 2019 2019 MA Massachusetts\n", 304 | " Datasource Class \n", 305 | "1 Youth Risk Behavior Surveillance System Sugar Drinks \n", 306 | "2 Youth Risk Behavior Surveillance System Sugar Drinks \n", 307 | "3 Youth Risk Behavior Surveillance System Obesity / Weight Status\n", 308 | "4 Youth Risk Behavior Surveillance System Obesity / Weight Status\n", 309 | "5 Youth Risk Behavior Surveillance System Obesity / Weight Status\n", 310 | "6 Youth Risk Behavior Surveillance System Obesity / Weight Status\n", 311 | " Topic \n", 312 | "1 Sugar Drinks - Behavior\n", 313 | "2 Sugar Drinks - Behavior\n", 314 | "3 Obesity / Weight Status\n", 315 | "4 Obesity / Weight Status\n", 316 | "5 Obesity / Weight Status\n", 317 | "6 Obesity / Weight Status\n", 318 | " Question \n", 319 | "1 Percent of students in grades 9-12 who drank regular soda/pop at least one time per day\n", 320 | "2 Percent of students in grades 9-12 who drank regular soda/pop at least one time per day\n", 321 | "3 Percent of students in grades 9-12 who have obesity \n", 322 | "4 Percent of students in grades 9-12 who have obesity \n", 323 | "5 Percent of students in grades 9-12 who have an overweight classification \n", 324 | "6 Percent of students in grades 9-12 who have an overweight classification \n", 325 | " Data_Value_Unit Data_Value_Type ⋯ GeoLocation ClassID\n", 326 | "1 NA Value ⋯ (32.840571122, -86.631860762) SD \n", 327 | "2 NA Value ⋯ (43.682630005, -114.363730042) SD \n", 328 | "3 NA Value ⋯ (42.469400913, -93.816490556) OWS \n", 329 | "4 NA Value ⋯ (31.312660644, -92.445680071) OWS \n", 330 | "5 NA Value ⋯ (45.254228894001, -68.985031336) OWS \n", 331 | "6 NA Value ⋯ (42.27687047, -72.082690675) OWS \n", 332 | " TopicID QuestionID DataValueTypeID LocationID StratificationCategory1\n", 333 | "1 SD1 Q058 VALUE 1 Race/Ethnicity \n", 334 | "2 SD1 Q058 VALUE 16 Race/Ethnicity \n", 335 | "3 OWS1 Q038 VALUE 19 Grade \n", 336 | "4 OWS1 Q038 VALUE 22 Gender \n", 337 | "5 OWS1 Q039 VALUE 23 Race/Ethnicity \n", 338 | "6 OWS1 Q039 VALUE 25 Total \n", 339 | " Stratification1 StratificationCategoryId1 StratificationID1\n", 340 | "1 Hispanic RACE RACEHIS \n", 341 | "2 Hispanic RACE RACEHIS \n", 342 | "3 11th GRADE GRADE11 \n", 343 | "4 Female GEN FEMALE \n", 344 | "5 Hispanic RACE RACEHIS \n", 345 | "6 Total OVR OVERALL " 346 | ], 347 | "text/latex": "A data.frame: 6 × 31\n\\begin{tabular}{r|lllllllllllllllllllll}\n & YearStart & YearEnd & LocationAbbr & LocationDesc & Datasource & Class & Topic & Question & Data\\_Value\\_Unit & Data\\_Value\\_Type & ⋯ & GeoLocation & ClassID & TopicID & QuestionID & DataValueTypeID & LocationID & StratificationCategory1 & Stratification1 & StratificationCategoryId1 & StratificationID1\\\\\n & & & & & & & & & & & ⋯ & & & & & & & & & & \\\\\n\\hline\n\t1 & 2019 & 2019 & AL & Alabama & Youth Risk Behavior Surveillance System & Sugar Drinks & Sugar Drinks - Behavior & Percent of students in grades 9-12 who drank regular soda/pop at least one time per day & NA & Value & ⋯ & (32.840571122, -86.631860762) & SD & SD1 & Q058 & VALUE & 1 & Race/Ethnicity & Hispanic & RACE & RACEHIS\\\\\n\t2 & 2019 & 2019 & ID & Idaho & Youth Risk Behavior Surveillance System & Sugar Drinks & Sugar Drinks - Behavior & Percent of students in grades 9-12 who drank regular soda/pop at least one time per day & NA & Value & ⋯ & (43.682630005, -114.363730042) & SD & SD1 & Q058 & VALUE & 16 & Race/Ethnicity & Hispanic & RACE & RACEHIS\\\\\n\t3 & 2019 & 2019 & IA & Iowa & Youth Risk Behavior Surveillance System & Obesity / Weight Status & Obesity / Weight Status & Percent of students in grades 9-12 who have obesity & NA & Value & ⋯ & (42.469400913, -93.816490556) & OWS & OWS1 & Q038 & VALUE & 19 & Grade & 11th & GRADE & GRADE11\\\\\n\t4 & 2019 & 2019 & LA & Louisiana & Youth Risk Behavior Surveillance System & Obesity / Weight Status & Obesity / Weight Status & Percent of students in grades 9-12 who have obesity & NA & Value & ⋯ & (31.312660644, -92.445680071) & OWS & OWS1 & Q038 & VALUE & 22 & Gender & Female & GEN & FEMALE \\\\\n\t5 & 2019 & 2019 & ME & Maine & Youth Risk Behavior Surveillance System & Obesity / Weight Status & Obesity / Weight Status & Percent of students in grades 9-12 who have an overweight classification & NA & Value & ⋯ & (45.254228894001, -68.985031336) & OWS & OWS1 & Q039 & VALUE & 23 & Race/Ethnicity & Hispanic & RACE & RACEHIS\\\\\n\t6 & 2019 & 2019 & MA & Massachusetts & Youth Risk Behavior Surveillance System & Obesity / Weight Status & Obesity / Weight Status & Percent of students in grades 9-12 who have an overweight classification & NA & Value & ⋯ & (42.27687047, -72.082690675) & OWS & OWS1 & Q039 & VALUE & 25 & Total & Total & OVR & OVERALL\\\\\n\\end{tabular}\n", 348 | "text/markdown": "\nA data.frame: 6 × 31\n\n| | YearStart <int> | YearEnd <int> | LocationAbbr <chr> | LocationDesc <chr> | Datasource <chr> | Class <chr> | Topic <chr> | Question <chr> | Data_Value_Unit <lgl> | Data_Value_Type <chr> | ⋯ ⋯ | GeoLocation <chr> | ClassID <chr> | TopicID <chr> | QuestionID <chr> | DataValueTypeID <chr> | LocationID <int> | StratificationCategory1 <chr> | Stratification1 <chr> | StratificationCategoryId1 <chr> | StratificationID1 <chr> |\n|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|\n| 1 | 2019 | 2019 | AL | Alabama | Youth Risk Behavior Surveillance System | Sugar Drinks | Sugar Drinks - Behavior | Percent of students in grades 9-12 who drank regular soda/pop at least one time per day | NA | Value | ⋯ | (32.840571122, -86.631860762) | SD | SD1 | Q058 | VALUE | 1 | Race/Ethnicity | Hispanic | RACE | RACEHIS |\n| 2 | 2019 | 2019 | ID | Idaho | Youth Risk Behavior Surveillance System | Sugar Drinks | Sugar Drinks - Behavior | Percent of students in grades 9-12 who drank regular soda/pop at least one time per day | NA | Value | ⋯ | (43.682630005, -114.363730042) | SD | SD1 | Q058 | VALUE | 16 | Race/Ethnicity | Hispanic | RACE | RACEHIS |\n| 3 | 2019 | 2019 | IA | Iowa | Youth Risk Behavior Surveillance System | Obesity / Weight Status | Obesity / Weight Status | Percent of students in grades 9-12 who have obesity | NA | Value | ⋯ | (42.469400913, -93.816490556) | OWS | OWS1 | Q038 | VALUE | 19 | Grade | 11th | GRADE | GRADE11 |\n| 4 | 2019 | 2019 | LA | Louisiana | Youth Risk Behavior Surveillance System | Obesity / Weight Status | Obesity / Weight Status | Percent of students in grades 9-12 who have obesity | NA | Value | ⋯ | (31.312660644, -92.445680071) | OWS | OWS1 | Q038 | VALUE | 22 | Gender | Female | GEN | FEMALE |\n| 5 | 2019 | 2019 | ME | Maine | Youth Risk Behavior Surveillance System | Obesity / Weight Status | Obesity / Weight Status | Percent of students in grades 9-12 who have an overweight classification | NA | Value | ⋯ | (45.254228894001, -68.985031336) | OWS | OWS1 | Q039 | VALUE | 23 | Race/Ethnicity | Hispanic | RACE | RACEHIS |\n| 6 | 2019 | 2019 | MA | Massachusetts | Youth Risk Behavior Surveillance System | Obesity / Weight Status | Obesity / Weight Status | Percent of students in grades 9-12 who have an overweight classification | NA | Value | ⋯ | (42.27687047, -72.082690675) | OWS | OWS1 | Q039 | VALUE | 25 | Total | Total | OVR | OVERALL |\n\n", 349 | "text/html": [ 350 | "\n", 351 | "\n", 352 | "\n", 353 | "\t\n", 354 | "\t\n", 355 | "\n", 356 | "\n", 357 | "\t\n", 358 | "\t\n", 359 | "\t\n", 360 | "\t\n", 361 | "\t\n", 362 | "\t\n", 363 | "\n", 364 | "
A data.frame: 6 × 31
YearStartYearEndLocationAbbrLocationDescDatasourceClassTopicQuestionData_Value_UnitData_Value_TypeGeoLocationClassIDTopicIDQuestionIDDataValueTypeIDLocationIDStratificationCategory1Stratification1StratificationCategoryId1StratificationID1
<int><int><chr><chr><chr><chr><chr><chr><lgl><chr><chr><chr><chr><chr><chr><int><chr><chr><chr><chr>
120192019ALAlabama Youth Risk Behavior Surveillance SystemSugar Drinks Sugar Drinks - BehaviorPercent of students in grades 9-12 who drank regular soda/pop at least one time per dayNAValue(32.840571122, -86.631860762) SD SD1 Q058VALUE 1Race/EthnicityHispanicRACE RACEHIS
220192019IDIdaho Youth Risk Behavior Surveillance SystemSugar Drinks Sugar Drinks - BehaviorPercent of students in grades 9-12 who drank regular soda/pop at least one time per dayNAValue(43.682630005, -114.363730042) SD SD1 Q058VALUE16Race/EthnicityHispanicRACE RACEHIS
320192019IAIowa Youth Risk Behavior Surveillance SystemObesity / Weight StatusObesity / Weight StatusPercent of students in grades 9-12 who have obesity NAValue(42.469400913, -93.816490556) OWSOWS1Q038VALUE19Grade 11th GRADEGRADE11
420192019LALouisiana Youth Risk Behavior Surveillance SystemObesity / Weight StatusObesity / Weight StatusPercent of students in grades 9-12 who have obesity NAValue(31.312660644, -92.445680071) OWSOWS1Q038VALUE22Gender Female GEN FEMALE
520192019MEMaine Youth Risk Behavior Surveillance SystemObesity / Weight StatusObesity / Weight StatusPercent of students in grades 9-12 who have an overweight classification NAValue(45.254228894001, -68.985031336)OWSOWS1Q039VALUE23Race/EthnicityHispanicRACE RACEHIS
620192019MAMassachusettsYouth Risk Behavior Surveillance SystemObesity / Weight StatusObesity / Weight StatusPercent of students in grades 9-12 who have an overweight classification NAValue(42.27687047, -72.082690675) OWSOWS1Q039VALUE25Total Total OVR OVERALL
\n" 365 | ] 366 | }, 367 | "metadata": { 368 | "tags": [] 369 | } 370 | } 371 | ] 372 | }, 373 | { 374 | "cell_type": "markdown", 375 | "metadata": { 376 | "id": "YDcXvN4hLlSF" 377 | }, 378 | "source": [ 379 | "# III. Method to Download from Your Google Drive to Colab Session" 380 | ] 381 | }, 382 | { 383 | "cell_type": "code", 384 | "metadata": { 385 | "colab": { 386 | "base_uri": "https://localhost:8080/", 387 | "height": 966 388 | }, 389 | "id": "qecatv0iqCyv", 390 | "outputId": "c480ad68-4c6d-494d-bf7e-cfa0f2debd7f" 391 | }, 392 | "source": [ 393 | "x <- drive_get(\"~/Folder1/Folder2/Nutrition__Physical_Activity__and_Obesity_-_Youth_Risk_Behavior_Surveillance_System.csv\")\n", 394 | "drive_download(x)\n", 395 | "z <- read.csv(\"/content/Nutrition__Physical_Activity__and_Obesity_-_Youth_Risk_Behavior_Surveillance_System.csv\")\n", 396 | "head(z)" 397 | ], 398 | "execution_count": null, 399 | "outputs": [ 400 | { 401 | "output_type": "stream", 402 | "text": [ 403 | "File downloaded:\n", 404 | " * Nutrition__Physical_Activity__and_Obesity_-_Youth_Risk_Behavior_Surveillance_System.csv\n", 405 | "Saved locally as:\n", 406 | " * Nutrition__Physical_Activity__and_Obesity_-_Youth_Risk_Behavior_Surveillance_System.csv\n", 407 | "\n" 408 | ], 409 | "name": "stderr" 410 | }, 411 | { 412 | "output_type": "display_data", 413 | "data": { 414 | "text/plain": [ 415 | " YearStart YearEnd LocationAbbr LocationDesc \n", 416 | "1 2019 2019 AL Alabama \n", 417 | "2 2019 2019 ID Idaho \n", 418 | "3 2019 2019 IA Iowa \n", 419 | "4 2019 2019 LA Louisiana \n", 420 | "5 2019 2019 ME Maine \n", 421 | "6 2019 2019 MA Massachusetts\n", 422 | " Datasource Class \n", 423 | "1 Youth Risk Behavior Surveillance System Sugar Drinks \n", 424 | "2 Youth Risk Behavior Surveillance System Sugar Drinks \n", 425 | "3 Youth Risk Behavior Surveillance System Obesity / Weight Status\n", 426 | "4 Youth Risk Behavior Surveillance System Obesity / Weight Status\n", 427 | "5 Youth Risk Behavior Surveillance System Obesity / Weight Status\n", 428 | "6 Youth Risk Behavior Surveillance System Obesity / Weight Status\n", 429 | " Topic \n", 430 | "1 Sugar Drinks - Behavior\n", 431 | "2 Sugar Drinks - Behavior\n", 432 | "3 Obesity / Weight Status\n", 433 | "4 Obesity / Weight Status\n", 434 | "5 Obesity / Weight Status\n", 435 | "6 Obesity / Weight Status\n", 436 | " Question \n", 437 | "1 Percent of students in grades 9-12 who drank regular soda/pop at least one time per day\n", 438 | "2 Percent of students in grades 9-12 who drank regular soda/pop at least one time per day\n", 439 | "3 Percent of students in grades 9-12 who have obesity \n", 440 | "4 Percent of students in grades 9-12 who have obesity \n", 441 | "5 Percent of students in grades 9-12 who have an overweight classification \n", 442 | "6 Percent of students in grades 9-12 who have an overweight classification \n", 443 | " Data_Value_Unit Data_Value_Type ⋯ GeoLocation ClassID\n", 444 | "1 NA Value ⋯ (32.840571122, -86.631860762) SD \n", 445 | "2 NA Value ⋯ (43.682630005, -114.363730042) SD \n", 446 | "3 NA Value ⋯ (42.469400913, -93.816490556) OWS \n", 447 | "4 NA Value ⋯ (31.312660644, -92.445680071) OWS \n", 448 | "5 NA Value ⋯ (45.254228894001, -68.985031336) OWS \n", 449 | "6 NA Value ⋯ (42.27687047, -72.082690675) OWS \n", 450 | " TopicID QuestionID DataValueTypeID LocationID StratificationCategory1\n", 451 | "1 SD1 Q058 VALUE 1 Race/Ethnicity \n", 452 | "2 SD1 Q058 VALUE 16 Race/Ethnicity \n", 453 | "3 OWS1 Q038 VALUE 19 Grade \n", 454 | "4 OWS1 Q038 VALUE 22 Gender \n", 455 | "5 OWS1 Q039 VALUE 23 Race/Ethnicity \n", 456 | "6 OWS1 Q039 VALUE 25 Total \n", 457 | " Stratification1 StratificationCategoryId1 StratificationID1\n", 458 | "1 Hispanic RACE RACEHIS \n", 459 | "2 Hispanic RACE RACEHIS \n", 460 | "3 11th GRADE GRADE11 \n", 461 | "4 Female GEN FEMALE \n", 462 | "5 Hispanic RACE RACEHIS \n", 463 | "6 Total OVR OVERALL " 464 | ], 465 | "text/latex": "A data.frame: 6 × 31\n\\begin{tabular}{r|lllllllllllllllllllll}\n & YearStart & YearEnd & LocationAbbr & LocationDesc & Datasource & Class & Topic & Question & Data\\_Value\\_Unit & Data\\_Value\\_Type & ⋯ & GeoLocation & ClassID & TopicID & QuestionID & DataValueTypeID & LocationID & StratificationCategory1 & Stratification1 & StratificationCategoryId1 & StratificationID1\\\\\n & & & & & & & & & & & ⋯ & & & & & & & & & & \\\\\n\\hline\n\t1 & 2019 & 2019 & AL & Alabama & Youth Risk Behavior Surveillance System & Sugar Drinks & Sugar Drinks - Behavior & Percent of students in grades 9-12 who drank regular soda/pop at least one time per day & NA & Value & ⋯ & (32.840571122, -86.631860762) & SD & SD1 & Q058 & VALUE & 1 & Race/Ethnicity & Hispanic & RACE & RACEHIS\\\\\n\t2 & 2019 & 2019 & ID & Idaho & Youth Risk Behavior Surveillance System & Sugar Drinks & Sugar Drinks - Behavior & Percent of students in grades 9-12 who drank regular soda/pop at least one time per day & NA & Value & ⋯ & (43.682630005, -114.363730042) & SD & SD1 & Q058 & VALUE & 16 & Race/Ethnicity & Hispanic & RACE & RACEHIS\\\\\n\t3 & 2019 & 2019 & IA & Iowa & Youth Risk Behavior Surveillance System & Obesity / Weight Status & Obesity / Weight Status & Percent of students in grades 9-12 who have obesity & NA & Value & ⋯ & (42.469400913, -93.816490556) & OWS & OWS1 & Q038 & VALUE & 19 & Grade & 11th & GRADE & GRADE11\\\\\n\t4 & 2019 & 2019 & LA & Louisiana & Youth Risk Behavior Surveillance System & Obesity / Weight Status & Obesity / Weight Status & Percent of students in grades 9-12 who have obesity & NA & Value & ⋯ & (31.312660644, -92.445680071) & OWS & OWS1 & Q038 & VALUE & 22 & Gender & Female & GEN & FEMALE \\\\\n\t5 & 2019 & 2019 & ME & Maine & Youth Risk Behavior Surveillance System & Obesity / Weight Status & Obesity / Weight Status & Percent of students in grades 9-12 who have an overweight classification & NA & Value & ⋯ & (45.254228894001, -68.985031336) & OWS & OWS1 & Q039 & VALUE & 23 & Race/Ethnicity & Hispanic & RACE & RACEHIS\\\\\n\t6 & 2019 & 2019 & MA & Massachusetts & Youth Risk Behavior Surveillance System & Obesity / Weight Status & Obesity / Weight Status & Percent of students in grades 9-12 who have an overweight classification & NA & Value & ⋯ & (42.27687047, -72.082690675) & OWS & OWS1 & Q039 & VALUE & 25 & Total & Total & OVR & OVERALL\\\\\n\\end{tabular}\n", 466 | "text/markdown": "\nA data.frame: 6 × 31\n\n| | YearStart <int> | YearEnd <int> | LocationAbbr <chr> | LocationDesc <chr> | Datasource <chr> | Class <chr> | Topic <chr> | Question <chr> | Data_Value_Unit <lgl> | Data_Value_Type <chr> | ⋯ ⋯ | GeoLocation <chr> | ClassID <chr> | TopicID <chr> | QuestionID <chr> | DataValueTypeID <chr> | LocationID <int> | StratificationCategory1 <chr> | Stratification1 <chr> | StratificationCategoryId1 <chr> | StratificationID1 <chr> |\n|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|\n| 1 | 2019 | 2019 | AL | Alabama | Youth Risk Behavior Surveillance System | Sugar Drinks | Sugar Drinks - Behavior | Percent of students in grades 9-12 who drank regular soda/pop at least one time per day | NA | Value | ⋯ | (32.840571122, -86.631860762) | SD | SD1 | Q058 | VALUE | 1 | Race/Ethnicity | Hispanic | RACE | RACEHIS |\n| 2 | 2019 | 2019 | ID | Idaho | Youth Risk Behavior Surveillance System | Sugar Drinks | Sugar Drinks - Behavior | Percent of students in grades 9-12 who drank regular soda/pop at least one time per day | NA | Value | ⋯ | (43.682630005, -114.363730042) | SD | SD1 | Q058 | VALUE | 16 | Race/Ethnicity | Hispanic | RACE | RACEHIS |\n| 3 | 2019 | 2019 | IA | Iowa | Youth Risk Behavior Surveillance System | Obesity / Weight Status | Obesity / Weight Status | Percent of students in grades 9-12 who have obesity | NA | Value | ⋯ | (42.469400913, -93.816490556) | OWS | OWS1 | Q038 | VALUE | 19 | Grade | 11th | GRADE | GRADE11 |\n| 4 | 2019 | 2019 | LA | Louisiana | Youth Risk Behavior Surveillance System | Obesity / Weight Status | Obesity / Weight Status | Percent of students in grades 9-12 who have obesity | NA | Value | ⋯ | (31.312660644, -92.445680071) | OWS | OWS1 | Q038 | VALUE | 22 | Gender | Female | GEN | FEMALE |\n| 5 | 2019 | 2019 | ME | Maine | Youth Risk Behavior Surveillance System | Obesity / Weight Status | Obesity / Weight Status | Percent of students in grades 9-12 who have an overweight classification | NA | Value | ⋯ | (45.254228894001, -68.985031336) | OWS | OWS1 | Q039 | VALUE | 23 | Race/Ethnicity | Hispanic | RACE | RACEHIS |\n| 6 | 2019 | 2019 | MA | Massachusetts | Youth Risk Behavior Surveillance System | Obesity / Weight Status | Obesity / Weight Status | Percent of students in grades 9-12 who have an overweight classification | NA | Value | ⋯ | (42.27687047, -72.082690675) | OWS | OWS1 | Q039 | VALUE | 25 | Total | Total | OVR | OVERALL |\n\n", 467 | "text/html": [ 468 | "\n", 469 | "\n", 470 | "\n", 471 | "\t\n", 472 | "\t\n", 473 | "\n", 474 | "\n", 475 | "\t\n", 476 | "\t\n", 477 | "\t\n", 478 | "\t\n", 479 | "\t\n", 480 | "\t\n", 481 | "\n", 482 | "
A data.frame: 6 × 31
YearStartYearEndLocationAbbrLocationDescDatasourceClassTopicQuestionData_Value_UnitData_Value_TypeGeoLocationClassIDTopicIDQuestionIDDataValueTypeIDLocationIDStratificationCategory1Stratification1StratificationCategoryId1StratificationID1
<int><int><chr><chr><chr><chr><chr><chr><lgl><chr><chr><chr><chr><chr><chr><int><chr><chr><chr><chr>
120192019ALAlabama Youth Risk Behavior Surveillance SystemSugar Drinks Sugar Drinks - BehaviorPercent of students in grades 9-12 who drank regular soda/pop at least one time per dayNAValue(32.840571122, -86.631860762) SD SD1 Q058VALUE 1Race/EthnicityHispanicRACE RACEHIS
220192019IDIdaho Youth Risk Behavior Surveillance SystemSugar Drinks Sugar Drinks - BehaviorPercent of students in grades 9-12 who drank regular soda/pop at least one time per dayNAValue(43.682630005, -114.363730042) SD SD1 Q058VALUE16Race/EthnicityHispanicRACE RACEHIS
320192019IAIowa Youth Risk Behavior Surveillance SystemObesity / Weight StatusObesity / Weight StatusPercent of students in grades 9-12 who have obesity NAValue(42.469400913, -93.816490556) OWSOWS1Q038VALUE19Grade 11th GRADEGRADE11
420192019LALouisiana Youth Risk Behavior Surveillance SystemObesity / Weight StatusObesity / Weight StatusPercent of students in grades 9-12 who have obesity NAValue(31.312660644, -92.445680071) OWSOWS1Q038VALUE22Gender Female GEN FEMALE
520192019MEMaine Youth Risk Behavior Surveillance SystemObesity / Weight StatusObesity / Weight StatusPercent of students in grades 9-12 who have an overweight classification NAValue(45.254228894001, -68.985031336)OWSOWS1Q039VALUE23Race/EthnicityHispanicRACE RACEHIS
620192019MAMassachusettsYouth Risk Behavior Surveillance SystemObesity / Weight StatusObesity / Weight StatusPercent of students in grades 9-12 who have an overweight classification NAValue(42.27687047, -72.082690675) OWSOWS1Q039VALUE25Total Total OVR OVERALL
\n" 483 | ] 484 | }, 485 | "metadata": { 486 | "tags": [] 487 | } 488 | } 489 | ] 490 | } 491 | ] 492 | } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # medium_tutorials 2 | ## reference files to support posts authored at https://medium.com/@k8wall 3 | --------------------------------------------------------------------------------