From 765192395931a88c971d013a564d82fc0f5c3a8a Mon Sep 17 00:00:00 2001 From: JAnns98 Date: Fri, 5 Apr 2024 17:51:28 +0800 Subject: [PATCH 01/42] Added preliminary code --- nbs/API/effsize_objects.ipynb | 29 +++++++++++++++++++++- nbs/API/plotter.ipynb | 45 +++++++++++++++++++++++++++++++++++ 2 files changed, 73 insertions(+), 1 deletion(-) diff --git a/nbs/API/effsize_objects.ipynb b/nbs/API/effsize_objects.ipynb index fd8496c1..48c15876 100644 --- a/nbs/API/effsize_objects.ipynb +++ b/nbs/API/effsize_objects.ipynb @@ -1178,6 +1178,11 @@ " fontsize_contrastxlabel=12,\n", " fontsize_contrastylabel=12,\n", " fontsize_delta2label=12,\n", + " #### Contrast bars WIP ####\n", + " contrast_bars=True,\n", + " swarm_bars=True,\n", + " contrast_bars_kwargs=None,\n", + " swarm_bars_kwargs=None,\n", " ):\n", " \"\"\"\n", " Creates an estimation plot for the effect size of interest.\n", @@ -1320,6 +1325,18 @@ " Font size for the contrast axes ylabel.\n", " fontsize_delta2label : float, default 12\n", " Font size for the delta-delta axes ylabel.\n", + " \n", + " \n", + " contrast_bars : boolean, default True\n", + " Whether or not to display the contrast bars.\n", + " swarm_bars : boolean, default True\n", + " Whether or not to display the swarm bars.\n", + " contrast_bars_kwargs : dict, default None\n", + " Pass relevant keyword arguments to the contrast bars. If None, the following keywords are passed:\n", + " {\"color\": None, \"alpha\": 0.4}\n", + " swarm_bars_kwargs : dict, default None\n", + " Pass relevant keyword arguments to the swarm bars. If None, the following keywords are passed:\n", + " {\"color\": None, \"alpha\": 0.4}\n", "\n", "\n", " Returns\n", @@ -1921,7 +1938,17 @@ "source": [] } ], - "metadata": {}, + "metadata": { + "kernelspec": { + "display_name": "DABESTDEV", + "language": "python", + "name": "python3" + }, + "language_info": { + "name": "python", + "version": "3.11.8" + } + }, "nbformat": 4, "nbformat_minor": 2 } diff --git a/nbs/API/plotter.ipynb b/nbs/API/plotter.ipynb index 7e054ea4..e22e0a1b 100644 --- a/nbs/API/plotter.ipynb +++ b/nbs/API/plotter.ipynb @@ -59,6 +59,7 @@ "import seaborn as sns\n", "import matplotlib\n", "import matplotlib.pyplot as plt\n", + "import matplotlib.patches as mpatches\n", "import pandas as pd\n", "import warnings\n", "import logging" @@ -1648,6 +1649,46 @@ " contrast_axes.get_xaxis().set_visible(False)\n", "\n", " ####################################################### END GRIDKEY MAIN CODE WIP\n", + " \n", + " ################################################### Contrast Bars WIP\n", + " \n", + " # Swarm Bars WIP\n", + " swarm_bars = plot_kwargs[\"swarm_bars\"]\n", + " default_swarm_bars_kwargs = {\"color\": None, \"alpha\": 0.4}\n", + " if plot_kwargs[\"swarm_bars_kwargs\"] is None:\n", + " swarm_bars_kwargs = default_swarm_bars_kwargs\n", + " else:\n", + " swarm_bars_kwargs = merge_two_dicts(default_swarm_bars_kwargs, plot_kwargs[\"swarm_bars_kwargs\"])\n", + "\n", + " if swarm_bars:\n", + " \n", + " if isinstance(plot_data[xvar].dtype, pd.CategoricalDtype):\n", + " swarm_bars_order = pd.unique(plot_data[xvar]).categories\n", + " else:\n", + " swarm_bars_order = pd.unique(plot_data[xvar])\n", + "\n", + " means = data.groupby(xvar)[yvar].mean().reindex(index=swarm_bars_order)\n", + " for swarm_bars_x,swarm_bars_y in zip(np.arange(0,len(swarm_bars_order)+1,1), means):\n", + " rawdata_axes.add_patch(mpatches.Rectangle((swarm_bars_x,0),0.5, swarm_bars_y) **swarm_bars_kwargs)\n", + " else:\n", + " pass\n", + " \n", + " # Contrast Bars WIP\n", + " contrast_bars = plot_kwargs[\"contrast_bars\"]\n", + " default_contrast_bars_kwargs = {\"color\": None, \"alpha\": 0.4}\n", + " if plot_kwargs[\"swarm_bars_kwargs\"] is None:\n", + " contrast_bars_kwargs = default_contrast_bars_kwargs\n", + " else:\n", + " contrast_bars_kwargs = merge_two_dicts(default_contrast_bars_kwargs, plot_kwargs[\"contrast_bars_kwargs\"])\n", + " if contrast_bars:\n", + " print('Contrast bars are WIP')\n", + " # for contrast_bars_x,contrast_bars_y in zip():\n", + " # contrast_axes.add_patch(mpatches.Rectangle((contrast_bars_x,0),0.5, place_holder_contrast_means[contrast_bars_y]) **contrast_bars_kwargs)\n", + " else:\n", + " pass\n", + " \n", + " \n", + " ################################################### Contrast Bars WIP\n", "\n", " # Make sure no stray ticks appear!\n", " rawdata_axes.xaxis.set_ticks_position(\"bottom\")\n", @@ -1678,6 +1719,10 @@ "display_name": "python3", "language": "python", "name": "python3" + }, + "language_info": { + "name": "python", + "version": "3.11.8" } }, "nbformat": 4, From 7bda513cab7410d1460b6e9431b9e7b16c48c8c9 Mon Sep 17 00:00:00 2001 From: JAnns98 Date: Tue, 9 Apr 2024 16:54:36 +0800 Subject: [PATCH 02/42] Fully functioning summary bars Added functionality for all use cases (as far as I can see). Need more testing. --- dabest/_effsize_objects.py | 19 +++++++++++ dabest/plotter.py | 62 +++++++++++++++++++++++++++++++++++ nbs/API/effsize_objects.ipynb | 10 +++--- nbs/API/plotter.ipynb | 55 +++++++++++++++++++------------ 4 files changed, 121 insertions(+), 25 deletions(-) diff --git a/dabest/_effsize_objects.py b/dabest/_effsize_objects.py index f8bf3846..f159c312 100644 --- a/dabest/_effsize_objects.py +++ b/dabest/_effsize_objects.py @@ -1017,6 +1017,11 @@ def plot( fontsize_contrastxlabel=12, fontsize_contrastylabel=12, fontsize_delta2label=12, + #### Contrast bars WIP #### + contrast_bars=True, + swarm_bars=True, + contrast_bars_kwargs=None, + swarm_bars_kwargs=None, ): """ Creates an estimation plot for the effect size of interest. @@ -1159,6 +1164,20 @@ def plot( Font size for the contrast axes ylabel. fontsize_delta2label : float, default 12 Font size for the delta-delta axes ylabel. + + + contrast_bars : boolean, default True + Whether or not to display the contrast bars. + swarm_bars : boolean, default True + Whether or not to display the swarm bars. + contrast_bars_kwargs : dict, default None + Pass relevant keyword arguments to the contrast bars. Pass any keyword argumentd accepted by + matplotlib.patches.Rectangle here, as a string. If None, the following keywords are passed: + {"color": None, "alpha": 0.1} + swarm_bars_kwargs : dict, default None + Pass relevant keyword arguments to the swarm bars. Pass any keyword argumentd accepted by + matplotlib.patches.Rectangle here, as a string. If None, the following keywords are passed: + {"color": None, "alpha": 0.15} Returns diff --git a/dabest/plotter.py b/dabest/plotter.py index fcd65ee5..f5b244d1 100644 --- a/dabest/plotter.py +++ b/dabest/plotter.py @@ -8,6 +8,7 @@ import seaborn as sns import matplotlib import matplotlib.pyplot as plt +import matplotlib.patches as mpatches import pandas as pd import warnings import logging @@ -1589,6 +1590,67 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): contrast_axes.get_xaxis().set_visible(False) ####################################################### END GRIDKEY MAIN CODE WIP + + ################################################### Contrast Bars WIP + + # Swarm Bars WIP + swarm_bars = plot_kwargs["swarm_bars"] + default_swarm_bars_kwargs = {"color": None, "alpha": 0.1} + if plot_kwargs["swarm_bars_kwargs"] is None: + swarm_bars_kwargs = default_swarm_bars_kwargs + else: + swarm_bars_kwargs = merge_two_dicts(default_swarm_bars_kwargs, plot_kwargs["swarm_bars_kwargs"]) + + if swarm_bars and not proportional: + # if is_paired: + # swarm_bar_xlocs_adjustleft = {'right': -0.2, 'left': -0.2, 'center': -0.2} + # swarm_bar_xlocs_adjustright = {'right': -0.1, 'left': -0.1, 'center': -0.1} + # else: + # swarm_bar_xlocs_adjustleft = {'right': 0, 'left': -0.4, 'center': -0.2} + # swarm_bar_xlocs_adjustright = {'right': -0.1, 'left': -0.1, 'center': -0.1} + + if isinstance(plot_data[xvar].dtype, pd.CategoricalDtype): + swarm_bars_order = pd.unique(plot_data[xvar]).categories + else: + swarm_bars_order = pd.unique(plot_data[xvar]) + + swarm_means = plot_data.groupby(xvar)[yvar].mean().reindex(index=swarm_bars_order) + swarm_bar_colors = [swarm_bars_kwargs.get('color')]*(len(swarm_bars_order)+1) if swarm_bars_kwargs.get('color') is not None else ['black']*(len(swarm_bars_order)+1) if color_col is not None or is_paired else swarm_colors + swarm_bars_kwargs.pop('color') + for swarm_bars_x,swarm_bars_y,c in zip(np.arange(0,len(swarm_bars_order)+1,1), swarm_means, swarm_bar_colors): + rawdata_axes.add_patch(mpatches.Rectangle((swarm_bars_x-0.2,0), + 0.5-0.1, swarm_bars_y, zorder=-1,color=c,**swarm_bars_kwargs)) + + else: + pass + + # Contrast Bars WIP + contrast_bars = plot_kwargs["contrast_bars"] + default_contrast_bars_kwargs = {"color": None, "alpha": 0.15} + if plot_kwargs["contrast_bars_kwargs"] is None: + contrast_bars_kwargs = default_contrast_bars_kwargs + else: + contrast_bars_kwargs = merge_two_dicts(default_contrast_bars_kwargs, plot_kwargs["contrast_bars_kwargs"]) + if contrast_bars and not float_contrast: + contrast_means = [] + for j, tick in enumerate(ticks_to_plot): + contrast_means.append(results.difference[j]) + + contrast_bar_colors = [contrast_bars_kwargs.get('color')]*(len(ticks_to_plot)+1) if contrast_bars_kwargs.get('color') is not None else ['black']*(max(ticks_to_plot)+1) if color_col is not None or (proportional and is_paired) or is_paired else swarm_colors + contrast_bars_kwargs.pop('color') + for contrast_bars_x,contrast_bars_y in zip(ticks_to_plot, contrast_means): + contrast_axes.add_patch(mpatches.Rectangle((contrast_bars_x,0),0.25, contrast_bars_y, zorder=-1, color=contrast_bar_colors[contrast_bars_x], **contrast_bars_kwargs)) + + if show_mini_meta: + contrast_axes.add_patch(mpatches.Rectangle((max(rawdata_axes.get_xticks())+2,0),0.25, mini_meta_delta.difference, zorder=-1, color='black', **contrast_bars_kwargs)) + + if show_delta2: + contrast_axes.add_patch(mpatches.Rectangle((max(rawdata_axes.get_xticks())+2,0),0.25, delta_delta.difference, zorder=-1, color='black', **contrast_bars_kwargs)) + + else: + pass + + ################################################### Contrast Bars WIP # Make sure no stray ticks appear! rawdata_axes.xaxis.set_ticks_position("bottom") diff --git a/nbs/API/effsize_objects.ipynb b/nbs/API/effsize_objects.ipynb index 48c15876..ea1374c3 100644 --- a/nbs/API/effsize_objects.ipynb +++ b/nbs/API/effsize_objects.ipynb @@ -1332,11 +1332,13 @@ " swarm_bars : boolean, default True\n", " Whether or not to display the swarm bars.\n", " contrast_bars_kwargs : dict, default None\n", - " Pass relevant keyword arguments to the contrast bars. If None, the following keywords are passed:\n", - " {\"color\": None, \"alpha\": 0.4}\n", + " Pass relevant keyword arguments to the contrast bars. Pass any keyword argumentd accepted by \n", + " matplotlib.patches.Rectangle here, as a string. If None, the following keywords are passed:\n", + " {\"color\": None, \"alpha\": 0.1}\n", " swarm_bars_kwargs : dict, default None\n", - " Pass relevant keyword arguments to the swarm bars. If None, the following keywords are passed:\n", - " {\"color\": None, \"alpha\": 0.4}\n", + " Pass relevant keyword arguments to the swarm bars. Pass any keyword argumentd accepted by \n", + " matplotlib.patches.Rectangle here, as a string. If None, the following keywords are passed:\n", + " {\"color\": None, \"alpha\": 0.15}\n", "\n", "\n", " Returns\n", diff --git a/nbs/API/plotter.ipynb b/nbs/API/plotter.ipynb index e22e0a1b..0cd8c25a 100644 --- a/nbs/API/plotter.ipynb +++ b/nbs/API/plotter.ipynb @@ -1654,40 +1654,61 @@ " \n", " # Swarm Bars WIP\n", " swarm_bars = plot_kwargs[\"swarm_bars\"]\n", - " default_swarm_bars_kwargs = {\"color\": None, \"alpha\": 0.4}\n", + " default_swarm_bars_kwargs = {\"color\": None, \"alpha\": 0.1}\n", " if plot_kwargs[\"swarm_bars_kwargs\"] is None:\n", " swarm_bars_kwargs = default_swarm_bars_kwargs\n", " else:\n", " swarm_bars_kwargs = merge_two_dicts(default_swarm_bars_kwargs, plot_kwargs[\"swarm_bars_kwargs\"])\n", "\n", - " if swarm_bars:\n", - " \n", + " if swarm_bars and not proportional:\n", + " # if is_paired:\n", + " # swarm_bar_xlocs_adjustleft = {'right': -0.2, 'left': -0.2, 'center': -0.2}\n", + " # swarm_bar_xlocs_adjustright = {'right': -0.1, 'left': -0.1, 'center': -0.1} \n", + " # else:\n", + " # swarm_bar_xlocs_adjustleft = {'right': 0, 'left': -0.4, 'center': -0.2}\n", + " # swarm_bar_xlocs_adjustright = {'right': -0.1, 'left': -0.1, 'center': -0.1}\n", + " \n", " if isinstance(plot_data[xvar].dtype, pd.CategoricalDtype):\n", " swarm_bars_order = pd.unique(plot_data[xvar]).categories\n", " else:\n", " swarm_bars_order = pd.unique(plot_data[xvar])\n", "\n", - " means = data.groupby(xvar)[yvar].mean().reindex(index=swarm_bars_order)\n", - " for swarm_bars_x,swarm_bars_y in zip(np.arange(0,len(swarm_bars_order)+1,1), means):\n", - " rawdata_axes.add_patch(mpatches.Rectangle((swarm_bars_x,0),0.5, swarm_bars_y) **swarm_bars_kwargs)\n", + " swarm_means = plot_data.groupby(xvar)[yvar].mean().reindex(index=swarm_bars_order)\n", + " swarm_bar_colors = [swarm_bars_kwargs.get('color')]*(len(swarm_bars_order)+1) if swarm_bars_kwargs.get('color') is not None else ['black']*(len(swarm_bars_order)+1) if color_col is not None or is_paired else swarm_colors\n", + " swarm_bars_kwargs.pop('color')\n", + " for swarm_bars_x,swarm_bars_y,c in zip(np.arange(0,len(swarm_bars_order)+1,1), swarm_means, swarm_bar_colors):\n", + " rawdata_axes.add_patch(mpatches.Rectangle((swarm_bars_x-0.2,0),\n", + " 0.5-0.1, swarm_bars_y, zorder=-1,color=c,**swarm_bars_kwargs))\n", + "\n", " else:\n", " pass\n", " \n", " # Contrast Bars WIP\n", " contrast_bars = plot_kwargs[\"contrast_bars\"]\n", - " default_contrast_bars_kwargs = {\"color\": None, \"alpha\": 0.4}\n", - " if plot_kwargs[\"swarm_bars_kwargs\"] is None:\n", + " default_contrast_bars_kwargs = {\"color\": None, \"alpha\": 0.15}\n", + " if plot_kwargs[\"contrast_bars_kwargs\"] is None:\n", " contrast_bars_kwargs = default_contrast_bars_kwargs\n", " else:\n", " contrast_bars_kwargs = merge_two_dicts(default_contrast_bars_kwargs, plot_kwargs[\"contrast_bars_kwargs\"])\n", - " if contrast_bars:\n", - " print('Contrast bars are WIP')\n", - " # for contrast_bars_x,contrast_bars_y in zip():\n", - " # contrast_axes.add_patch(mpatches.Rectangle((contrast_bars_x,0),0.5, place_holder_contrast_means[contrast_bars_y]) **contrast_bars_kwargs)\n", + " if contrast_bars and not float_contrast:\n", + " contrast_means = []\n", + " for j, tick in enumerate(ticks_to_plot):\n", + " contrast_means.append(results.difference[j])\n", + "\n", + " contrast_bar_colors = [contrast_bars_kwargs.get('color')]*(len(ticks_to_plot)+1) if contrast_bars_kwargs.get('color') is not None else ['black']*(max(ticks_to_plot)+1) if color_col is not None or (proportional and is_paired) or is_paired else swarm_colors\n", + " contrast_bars_kwargs.pop('color')\n", + " for contrast_bars_x,contrast_bars_y in zip(ticks_to_plot, contrast_means):\n", + " contrast_axes.add_patch(mpatches.Rectangle((contrast_bars_x,0),0.25, contrast_bars_y, zorder=-1, color=contrast_bar_colors[contrast_bars_x], **contrast_bars_kwargs))\n", + "\n", + " if show_mini_meta:\n", + " contrast_axes.add_patch(mpatches.Rectangle((max(rawdata_axes.get_xticks())+2,0),0.25, mini_meta_delta.difference, zorder=-1, color='black', **contrast_bars_kwargs))\n", + "\n", + " if show_delta2:\n", + " contrast_axes.add_patch(mpatches.Rectangle((max(rawdata_axes.get_xticks())+2,0),0.25, delta_delta.difference, zorder=-1, color='black', **contrast_bars_kwargs))\n", + "\n", " else:\n", " pass\n", " \n", - " \n", " ################################################### Contrast Bars WIP\n", "\n", " # Make sure no stray ticks appear!\n", @@ -1704,14 +1725,6 @@ " # Return the figure.\n", " return fig\n" ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "7355251f", - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": { From cb28e6cd986935a6a0346abfc65978e625528dc2 Mon Sep 17 00:00:00 2001 From: JAnns98 Date: Fri, 12 Apr 2024 18:23:13 +0800 Subject: [PATCH 03/42] Added summary bars and edited aesthetic of contrast and swarm bars --- dabest/_effsize_objects.py | 15 ++++++-- dabest/plotter.py | 69 +++++++++++++++++++++++++++-------- nbs/API/effsize_objects.ipynb | 15 ++++++-- nbs/API/plotter.ipynb | 69 +++++++++++++++++++++++++++-------- 4 files changed, 128 insertions(+), 40 deletions(-) diff --git a/dabest/_effsize_objects.py b/dabest/_effsize_objects.py index f159c312..defe3552 100644 --- a/dabest/_effsize_objects.py +++ b/dabest/_effsize_objects.py @@ -1022,6 +1022,8 @@ def plot( swarm_bars=True, contrast_bars_kwargs=None, swarm_bars_kwargs=None, + summary_bars=None, + summary_bars_kwargs=None, ): """ Creates an estimation plot for the effect size of interest. @@ -1171,14 +1173,19 @@ def plot( swarm_bars : boolean, default True Whether or not to display the swarm bars. contrast_bars_kwargs : dict, default None - Pass relevant keyword arguments to the contrast bars. Pass any keyword argumentd accepted by + Pass relevant keyword arguments to the contrast bars. Pass any keyword arguments accepted by matplotlib.patches.Rectangle here, as a string. If None, the following keywords are passed: - {"color": None, "alpha": 0.1} + {"color": None, "alpha": 0.15} swarm_bars_kwargs : dict, default None - Pass relevant keyword arguments to the swarm bars. Pass any keyword argumentd accepted by + Pass relevant keyword arguments to the swarm bars. Pass any keyword arguments accepted by matplotlib.patches.Rectangle here, as a string. If None, the following keywords are passed: - {"color": None, "alpha": 0.15} + {"color": None, "alpha": 0.1} + summary_bars : list, default None + Pass a list of indices of the contrast objects to have summary bars displayed on the plot. + For example, [0,1] will show summary bars for the first two contrast objects. + summary_bars_kwargs: dict, default None + If None, the following keywords are passed: {"color": None, "alpha": 0.15} Returns ------- diff --git a/dabest/plotter.py b/dabest/plotter.py index f5b244d1..8a91bfd2 100644 --- a/dabest/plotter.py +++ b/dabest/plotter.py @@ -53,7 +53,10 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): title=None, fontsize_title=16, fontsize_rawxlabel=12, fontsize_rawylabel=12, fontsize_contrastxlabel=12, fontsize_contrastylabel=12, - fontsize_delta2label=12 + fontsize_delta2label=12, + swarm_bars=True, swarm_bars_kwargs=None, + contrast_bars=True, contrast_bars_kwargs=None, + """ from .misc_tools import merge_two_dicts from .plot_tools import ( @@ -1591,7 +1594,7 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): ####################################################### END GRIDKEY MAIN CODE WIP - ################################################### Contrast Bars WIP + ################################################### Swarm & Contrast Bars WIP # Swarm Bars WIP swarm_bars = plot_kwargs["swarm_bars"] @@ -1615,14 +1618,11 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): swarm_bars_order = pd.unique(plot_data[xvar]) swarm_means = plot_data.groupby(xvar)[yvar].mean().reindex(index=swarm_bars_order) - swarm_bar_colors = [swarm_bars_kwargs.get('color')]*(len(swarm_bars_order)+1) if swarm_bars_kwargs.get('color') is not None else ['black']*(len(swarm_bars_order)+1) if color_col is not None or is_paired else swarm_colors + swarm_bars_colors = [swarm_bars_kwargs.get('color')]*(len(swarm_bars_order)+1) if swarm_bars_kwargs.get('color') is not None else ['black']*(len(swarm_bars_order)+1) if color_col is not None or is_paired else swarm_colors swarm_bars_kwargs.pop('color') - for swarm_bars_x,swarm_bars_y,c in zip(np.arange(0,len(swarm_bars_order)+1,1), swarm_means, swarm_bar_colors): - rawdata_axes.add_patch(mpatches.Rectangle((swarm_bars_x-0.2,0), - 0.5-0.1, swarm_bars_y, zorder=-1,color=c,**swarm_bars_kwargs)) - - else: - pass + for swarm_bars_x,swarm_bars_y,c in zip(np.arange(0,len(swarm_bars_order)+1,1), swarm_means, swarm_bars_colors): + rawdata_axes.add_patch(mpatches.Rectangle((swarm_bars_x-0.25,0), + 0.5, swarm_bars_y, zorder=-1,color=c,**swarm_bars_kwargs)) # Contrast Bars WIP contrast_bars = plot_kwargs["contrast_bars"] @@ -1636,21 +1636,58 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): for j, tick in enumerate(ticks_to_plot): contrast_means.append(results.difference[j]) - contrast_bar_colors = [contrast_bars_kwargs.get('color')]*(len(ticks_to_plot)+1) if contrast_bars_kwargs.get('color') is not None else ['black']*(max(ticks_to_plot)+1) if color_col is not None or (proportional and is_paired) or is_paired else swarm_colors + contrast_bars_colors = [contrast_bars_kwargs.get('color')]*(len(ticks_to_plot)+1) if contrast_bars_kwargs.get('color') is not None else ['black']*(max(ticks_to_plot)+1) if color_col is not None or (proportional and is_paired) or is_paired else swarm_colors contrast_bars_kwargs.pop('color') for contrast_bars_x,contrast_bars_y in zip(ticks_to_plot, contrast_means): - contrast_axes.add_patch(mpatches.Rectangle((contrast_bars_x,0),0.25, contrast_bars_y, zorder=-1, color=contrast_bar_colors[contrast_bars_x], **contrast_bars_kwargs)) + contrast_axes.add_patch(mpatches.Rectangle((contrast_bars_x-0.25,0),0.5, contrast_bars_y, zorder=-1, color=contrast_bars_colors[contrast_bars_x], **contrast_bars_kwargs)) if show_mini_meta: - contrast_axes.add_patch(mpatches.Rectangle((max(rawdata_axes.get_xticks())+2,0),0.25, mini_meta_delta.difference, zorder=-1, color='black', **contrast_bars_kwargs)) + contrast_axes.add_patch(mpatches.Rectangle((max(rawdata_axes.get_xticks())+2-0.25,0),0.5, mini_meta_delta.difference, zorder=-1, color='black', **contrast_bars_kwargs)) if show_delta2: - contrast_axes.add_patch(mpatches.Rectangle((max(rawdata_axes.get_xticks())+2,0),0.25, delta_delta.difference, zorder=-1, color='black', **contrast_bars_kwargs)) + contrast_axes.add_patch(mpatches.Rectangle((max(rawdata_axes.get_xticks())+2-0.25,0),0.5, delta_delta.difference, zorder=-1, color='black', **contrast_bars_kwargs)) + ################################################### Swarm & Contrast Bars WIP + + ################################################### Summary Bars WIP + + summary_bars = plot_kwargs["summary_bars"] + default_summary_bars_kwargs = {"color": None, "alpha": 0.15} + if plot_kwargs["summary_bars_kwargs"] is None: + summary_bars_kwargs = default_summary_bars_kwargs else: - pass - - ################################################### Contrast Bars WIP + summary_bars_kwargs = merge_two_dicts(default_summary_bars_kwargs, plot_kwargs["summary_bars_kwargs"]) + + if summary_bars is not None: + if not isinstance(summary_bars, list): + raise TypeError("summary_bars must be a list of indices (ints).") + if not all(isinstance(i, int) for i in summary_bars): + raise TypeError("summary_bars must be a list of indices (ints).") + if any(i >= len(results) for i in summary_bars): + raise ValueError("Index {} chosen is out of range for the contrast objects.".format([i for i in summary_bars if i >= len(results)])) + if float_contrast: + raise ValueError("summary_bars cannot be used with Gardner-Altman plots.") + else: + print('Summary plots WIP') + summary_xmin, summary_xmax = contrast_axes.get_xlim() + summary_bars_colors = [summary_bars_kwargs.get('color')]*(len(summary_bars)+1) if summary_bars_kwargs.get('color') is not None else ['black']*(max(summary_bars)+1) if color_col is not None or (proportional and is_paired) or is_paired else swarm_colors + summary_bars_kwargs.pop('color') + for summary_index in summary_bars: + print('Summary plot for contrast object:', summary_index) + if ci_type == "bca": + summary_ci_low = results.bca_low[summary_index] + summary_ci_high = results.bca_high[summary_index] + else: + summary_ci_low = results.pct_low[summary_index] + summary_ci_high = results.pct_high[summary_index] + + summary_color = summary_bars_colors[ticks_to_plot[summary_index]] + + contrast_axes.add_patch(mpatches.Rectangle((summary_xmin,summary_ci_low),summary_xmax+1, + summary_ci_high-summary_ci_low, zorder=-2, color=summary_color, **summary_bars_kwargs)) + + + ################################################### Summary Bars WIP # Make sure no stray ticks appear! rawdata_axes.xaxis.set_ticks_position("bottom") diff --git a/nbs/API/effsize_objects.ipynb b/nbs/API/effsize_objects.ipynb index ea1374c3..351b939f 100644 --- a/nbs/API/effsize_objects.ipynb +++ b/nbs/API/effsize_objects.ipynb @@ -1183,6 +1183,8 @@ " swarm_bars=True,\n", " contrast_bars_kwargs=None,\n", " swarm_bars_kwargs=None,\n", + " summary_bars=None,\n", + " summary_bars_kwargs=None,\n", " ):\n", " \"\"\"\n", " Creates an estimation plot for the effect size of interest.\n", @@ -1332,14 +1334,19 @@ " swarm_bars : boolean, default True\n", " Whether or not to display the swarm bars.\n", " contrast_bars_kwargs : dict, default None\n", - " Pass relevant keyword arguments to the contrast bars. Pass any keyword argumentd accepted by \n", + " Pass relevant keyword arguments to the contrast bars. Pass any keyword arguments accepted by \n", " matplotlib.patches.Rectangle here, as a string. If None, the following keywords are passed:\n", - " {\"color\": None, \"alpha\": 0.1}\n", + " {\"color\": None, \"alpha\": 0.15}\n", " swarm_bars_kwargs : dict, default None\n", - " Pass relevant keyword arguments to the swarm bars. Pass any keyword argumentd accepted by \n", + " Pass relevant keyword arguments to the swarm bars. Pass any keyword arguments accepted by \n", " matplotlib.patches.Rectangle here, as a string. If None, the following keywords are passed:\n", - " {\"color\": None, \"alpha\": 0.15}\n", + " {\"color\": None, \"alpha\": 0.1}\n", "\n", + " summary_bars : list, default None\n", + " Pass a list of indices of the contrast objects to have summary bars displayed on the plot.\n", + " For example, [0,1] will show summary bars for the first two contrast objects.\n", + " summary_bars_kwargs: dict, default None\n", + " If None, the following keywords are passed: {\"color\": None, \"alpha\": 0.15}\n", "\n", " Returns\n", " -------\n", diff --git a/nbs/API/plotter.ipynb b/nbs/API/plotter.ipynb index 0cd8c25a..88d6f326 100644 --- a/nbs/API/plotter.ipynb +++ b/nbs/API/plotter.ipynb @@ -112,7 +112,10 @@ " title=None, fontsize_title=16,\n", " fontsize_rawxlabel=12, fontsize_rawylabel=12,\n", " fontsize_contrastxlabel=12, fontsize_contrastylabel=12,\n", - " fontsize_delta2label=12\n", + " fontsize_delta2label=12,\n", + " swarm_bars=True, swarm_bars_kwargs=None,\n", + " contrast_bars=True, contrast_bars_kwargs=None,\n", + "\n", " \"\"\"\n", " from .misc_tools import merge_two_dicts\n", " from .plot_tools import (\n", @@ -1650,7 +1653,7 @@ "\n", " ####################################################### END GRIDKEY MAIN CODE WIP\n", " \n", - " ################################################### Contrast Bars WIP\n", + " ################################################### Swarm & Contrast Bars WIP\n", " \n", " # Swarm Bars WIP\n", " swarm_bars = plot_kwargs[\"swarm_bars\"]\n", @@ -1674,14 +1677,11 @@ " swarm_bars_order = pd.unique(plot_data[xvar])\n", "\n", " swarm_means = plot_data.groupby(xvar)[yvar].mean().reindex(index=swarm_bars_order)\n", - " swarm_bar_colors = [swarm_bars_kwargs.get('color')]*(len(swarm_bars_order)+1) if swarm_bars_kwargs.get('color') is not None else ['black']*(len(swarm_bars_order)+1) if color_col is not None or is_paired else swarm_colors\n", + " swarm_bars_colors = [swarm_bars_kwargs.get('color')]*(len(swarm_bars_order)+1) if swarm_bars_kwargs.get('color') is not None else ['black']*(len(swarm_bars_order)+1) if color_col is not None or is_paired else swarm_colors\n", " swarm_bars_kwargs.pop('color')\n", - " for swarm_bars_x,swarm_bars_y,c in zip(np.arange(0,len(swarm_bars_order)+1,1), swarm_means, swarm_bar_colors):\n", - " rawdata_axes.add_patch(mpatches.Rectangle((swarm_bars_x-0.2,0),\n", - " 0.5-0.1, swarm_bars_y, zorder=-1,color=c,**swarm_bars_kwargs))\n", - "\n", - " else:\n", - " pass\n", + " for swarm_bars_x,swarm_bars_y,c in zip(np.arange(0,len(swarm_bars_order)+1,1), swarm_means, swarm_bars_colors):\n", + " rawdata_axes.add_patch(mpatches.Rectangle((swarm_bars_x-0.25,0),\n", + " 0.5, swarm_bars_y, zorder=-1,color=c,**swarm_bars_kwargs))\n", " \n", " # Contrast Bars WIP\n", " contrast_bars = plot_kwargs[\"contrast_bars\"]\n", @@ -1695,21 +1695,58 @@ " for j, tick in enumerate(ticks_to_plot):\n", " contrast_means.append(results.difference[j])\n", "\n", - " contrast_bar_colors = [contrast_bars_kwargs.get('color')]*(len(ticks_to_plot)+1) if contrast_bars_kwargs.get('color') is not None else ['black']*(max(ticks_to_plot)+1) if color_col is not None or (proportional and is_paired) or is_paired else swarm_colors\n", + " contrast_bars_colors = [contrast_bars_kwargs.get('color')]*(len(ticks_to_plot)+1) if contrast_bars_kwargs.get('color') is not None else ['black']*(max(ticks_to_plot)+1) if color_col is not None or (proportional and is_paired) or is_paired else swarm_colors\n", " contrast_bars_kwargs.pop('color')\n", " for contrast_bars_x,contrast_bars_y in zip(ticks_to_plot, contrast_means):\n", - " contrast_axes.add_patch(mpatches.Rectangle((contrast_bars_x,0),0.25, contrast_bars_y, zorder=-1, color=contrast_bar_colors[contrast_bars_x], **contrast_bars_kwargs))\n", + " contrast_axes.add_patch(mpatches.Rectangle((contrast_bars_x-0.25,0),0.5, contrast_bars_y, zorder=-1, color=contrast_bars_colors[contrast_bars_x], **contrast_bars_kwargs))\n", "\n", " if show_mini_meta:\n", - " contrast_axes.add_patch(mpatches.Rectangle((max(rawdata_axes.get_xticks())+2,0),0.25, mini_meta_delta.difference, zorder=-1, color='black', **contrast_bars_kwargs))\n", + " contrast_axes.add_patch(mpatches.Rectangle((max(rawdata_axes.get_xticks())+2-0.25,0),0.5, mini_meta_delta.difference, zorder=-1, color='black', **contrast_bars_kwargs))\n", "\n", " if show_delta2:\n", - " contrast_axes.add_patch(mpatches.Rectangle((max(rawdata_axes.get_xticks())+2,0),0.25, delta_delta.difference, zorder=-1, color='black', **contrast_bars_kwargs))\n", + " contrast_axes.add_patch(mpatches.Rectangle((max(rawdata_axes.get_xticks())+2-0.25,0),0.5, delta_delta.difference, zorder=-1, color='black', **contrast_bars_kwargs))\n", "\n", + " ################################################### Swarm & Contrast Bars WIP\n", + "\n", + " ################################################### Summary Bars WIP\n", + "\n", + " summary_bars = plot_kwargs[\"summary_bars\"]\n", + " default_summary_bars_kwargs = {\"color\": None, \"alpha\": 0.15}\n", + " if plot_kwargs[\"summary_bars_kwargs\"] is None:\n", + " summary_bars_kwargs = default_summary_bars_kwargs\n", " else:\n", - " pass\n", - " \n", - " ################################################### Contrast Bars WIP\n", + " summary_bars_kwargs = merge_two_dicts(default_summary_bars_kwargs, plot_kwargs[\"summary_bars_kwargs\"])\n", + "\n", + " if summary_bars is not None:\n", + " if not isinstance(summary_bars, list):\n", + " raise TypeError(\"summary_bars must be a list of indices (ints).\")\n", + " if not all(isinstance(i, int) for i in summary_bars):\n", + " raise TypeError(\"summary_bars must be a list of indices (ints).\")\n", + " if any(i >= len(results) for i in summary_bars):\n", + " raise ValueError(\"Index {} chosen is out of range for the contrast objects.\".format([i for i in summary_bars if i >= len(results)]))\n", + " if float_contrast:\n", + " raise ValueError(\"summary_bars cannot be used with Gardner-Altman plots.\")\n", + " else:\n", + " print('Summary plots WIP')\n", + " summary_xmin, summary_xmax = contrast_axes.get_xlim()\n", + " summary_bars_colors = [summary_bars_kwargs.get('color')]*(len(summary_bars)+1) if summary_bars_kwargs.get('color') is not None else ['black']*(max(summary_bars)+1) if color_col is not None or (proportional and is_paired) or is_paired else swarm_colors\n", + " summary_bars_kwargs.pop('color')\n", + " for summary_index in summary_bars:\n", + " print('Summary plot for contrast object:', summary_index)\n", + " if ci_type == \"bca\":\n", + " summary_ci_low = results.bca_low[summary_index]\n", + " summary_ci_high = results.bca_high[summary_index]\n", + " else:\n", + " summary_ci_low = results.pct_low[summary_index]\n", + " summary_ci_high = results.pct_high[summary_index]\n", + "\n", + " summary_color = summary_bars_colors[ticks_to_plot[summary_index]]\n", + "\n", + " contrast_axes.add_patch(mpatches.Rectangle((summary_xmin,summary_ci_low),summary_xmax+1, \n", + " summary_ci_high-summary_ci_low, zorder=-2, color=summary_color, **summary_bars_kwargs))\n", + "\n", + "\n", + " ################################################### Summary Bars WIP\n", "\n", " # Make sure no stray ticks appear!\n", " rawdata_axes.xaxis.set_ticks_position(\"bottom\")\n", From d4d62cf90ff432484bbb68069c9e5b99138b26ce Mon Sep 17 00:00:00 2001 From: JAnns98 Date: Wed, 17 Apr 2024 14:11:48 +0800 Subject: [PATCH 04/42] Moved the summary bars, contrast bars, and swarm bars into plot_tools --- dabest/_modidx.py | 6 ++ dabest/plot_tools.py | 160 ++++++++++++++++++++++++++++++++++++++- dabest/plotter.py | 92 +++++----------------- nbs/API/plot_tools.ipynb | 158 +++++++++++++++++++++++++++++++++++++- nbs/API/plotter.ipynb | 92 +++++----------------- 5 files changed, 362 insertions(+), 146 deletions(-) diff --git a/dabest/_modidx.py b/dabest/_modidx.py index 14bfa3da..0858bf45 100644 --- a/dabest/_modidx.py +++ b/dabest/_modidx.py @@ -84,12 +84,18 @@ 'dabest.plot_tools.SwarmPlot.plot': ('API/plot_tools.html#swarmplot.plot', 'dabest/plot_tools.py'), 'dabest.plot_tools.check_data_matches_labels': ( 'API/plot_tools.html#check_data_matches_labels', 'dabest/plot_tools.py'), + 'dabest.plot_tools.contrast_bars_plotter': ( 'API/plot_tools.html#contrast_bars_plotter', + 'dabest/plot_tools.py'), 'dabest.plot_tools.error_bar': ('API/plot_tools.html#error_bar', 'dabest/plot_tools.py'), 'dabest.plot_tools.get_swarm_spans': ('API/plot_tools.html#get_swarm_spans', 'dabest/plot_tools.py'), 'dabest.plot_tools.halfviolin': ('API/plot_tools.html#halfviolin', 'dabest/plot_tools.py'), 'dabest.plot_tools.normalize_dict': ('API/plot_tools.html#normalize_dict', 'dabest/plot_tools.py'), 'dabest.plot_tools.sankeydiag': ('API/plot_tools.html#sankeydiag', 'dabest/plot_tools.py'), 'dabest.plot_tools.single_sankey': ('API/plot_tools.html#single_sankey', 'dabest/plot_tools.py'), + 'dabest.plot_tools.summary_bars_plotter': ( 'API/plot_tools.html#summary_bars_plotter', + 'dabest/plot_tools.py'), + 'dabest.plot_tools.swarm_bars_plotter': ( 'API/plot_tools.html#swarm_bars_plotter', + 'dabest/plot_tools.py'), 'dabest.plot_tools.swarmplot': ('API/plot_tools.html#swarmplot', 'dabest/plot_tools.py'), 'dabest.plot_tools.width_determine': ('API/plot_tools.html#width_determine', 'dabest/plot_tools.py')}, 'dabest.plotter': {'dabest.plotter.effectsize_df_plotter': ('API/plotter.html#effectsize_df_plotter', 'dabest/plotter.py')}}} diff --git a/dabest/plot_tools.py b/dabest/plot_tools.py index 65fea009..d4981469 100644 --- a/dabest/plot_tools.py +++ b/dabest/plot_tools.py @@ -5,7 +5,8 @@ # %% auto 0 __all__ = ['halfviolin', 'get_swarm_spans', 'error_bar', 'check_data_matches_labels', 'normalize_dict', 'width_determine', - 'single_sankey', 'sankeydiag', 'swarmplot', 'SwarmPlot'] + 'single_sankey', 'sankeydiag', 'summary_bars_plotter', 'contrast_bars_plotter', 'swarm_bars_plotter', + 'swarmplot', 'SwarmPlot'] # %% ../nbs/API/plot_tools.ipynb 4 import math @@ -17,6 +18,7 @@ import matplotlib.pyplot as plt import matplotlib.lines as mlines import matplotlib.axes as axes +import matplotlib.patches as mpatches from collections import defaultdict from typing import List, Tuple, Dict, Iterable, Union from pandas.api.types import CategoricalDtype @@ -778,6 +780,162 @@ def sankeydiag( ax.set_xticks([0, 1]) ax.set_xticklabels(sankey_ticks) +def summary_bars_plotter(summary_bars: list, results: object, ax_to_plot: object, + float_contrast: bool,summary_bars_kwargs: dict, ci_type: str, + ticks_to_plot: list, color_col: str, swarm_colors: list, + proportional: bool, is_paired: bool): + """ + Add summary bars to the contrast plot. + + Parameters + ---------- + summary_bars : list + List of indices of the contrast objects to plot summary bars for. + results : object (Dataframe) + Dataframe of contrast object comparisons. + ax_to_plot : object + Matplotlib axis object to plot on. + float_contrast : bool + Whether the DABEST plot uses Gardner-Altman or Cummings. + summary_bars_kwargs : dict + Keyword arguments for the summary bars. + ci_type : str + Type of confidence interval to plot. + ticks_to_plot : list + List of indices of the contrast objects. + color_col : str + Column name of the color column. + swarm_colors : list + List of colors used in the plot. + proportional : bool + Whether the data is proportional. + is_paired : bool + Whether the data is paired. + """ +# Begin checks + if not isinstance(summary_bars, list): + raise TypeError("summary_bars must be a list of indices (ints).") + if not all(isinstance(i, int) for i in summary_bars): + raise TypeError("summary_bars must be a list of indices (ints).") + if any(i >= len(results) for i in summary_bars): + raise ValueError("Index {} chosen is out of range for the contrast objects.".format([i for i in summary_bars if i >= len(results)])) + if float_contrast: + raise ValueError("summary_bars cannot be used with Gardner-Altman plots.") +# End checks + else: + summary_xmin, summary_xmax = ax_to_plot.get_xlim() + summary_bars_colors = [summary_bars_kwargs.get('color')]*(len(summary_bars)+1) if summary_bars_kwargs.get('color') is not None else ['black']*(max(summary_bars)+1) if color_col is not None or (proportional and is_paired) or is_paired else swarm_colors + summary_bars_kwargs.pop('color') + for summary_index in summary_bars: + if ci_type == "bca": + summary_ci_low = results.bca_low[summary_index] + summary_ci_high = results.bca_high[summary_index] + else: + summary_ci_low = results.pct_low[summary_index] + summary_ci_high = results.pct_high[summary_index] + + summary_color = summary_bars_colors[ticks_to_plot[summary_index]] + + ax_to_plot.add_patch(mpatches.Rectangle((summary_xmin,summary_ci_low),summary_xmax+1, + summary_ci_high-summary_ci_low, zorder=-2, color=summary_color, **summary_bars_kwargs)) + + +def contrast_bars_plotter(results: object, ax_to_plot: object, swarm_plot_ax: object, + ticks_to_plot: list, contrast_bars_kwargs: dict, color_col: str, + swarm_colors: list, show_mini_meta: bool, mini_meta_delta: object, + show_delta2: bool, delta_delta: object, proportional: bool, is_paired: bool): + """ + Add contrast bars to the contrast plot. + + Parameters + ---------- + results : object (Dataframe) + Dataframe of contrast object comparisons. + ax_to_plot : object + Matplotlib axis object to plot on. + swarm_plot_ax : object (ax) + Matplotlib axis object of the swarm plot. + ticks_to_plot : list + List of indices of the contrast objects. + contrast_bars_kwargs : dict + Keyword arguments for the contrast bars. + color_col : str + Column name of the color column. + swarm_colors : list + List of colors used in the plot. + show_mini_meta : bool + Whether to show the mini meta-analysis. + mini_meta_delta : object + Mini meta-analysis object. + show_delta2 : bool + Whether to show the delta-delta. + delta_delta : object + delta-delta object. + proportional : bool + Whether the data is proportional. + is_paired : bool + Whether the data is paired. + """ + contrast_means = [] + for j, tick in enumerate(ticks_to_plot): + contrast_means.append(results.difference[j]) + + contrast_bars_colors = [contrast_bars_kwargs.get('color')]*(len(ticks_to_plot)+1) if contrast_bars_kwargs.get('color') is not None else ['black']*(max(ticks_to_plot)+1) if color_col is not None or (proportional and is_paired) or is_paired else swarm_colors + contrast_bars_kwargs.pop('color') + for contrast_bars_x,contrast_bars_y in zip(ticks_to_plot, contrast_means): + ax_to_plot.add_patch(mpatches.Rectangle((contrast_bars_x-0.25,0),0.5, contrast_bars_y, zorder=-1, color=contrast_bars_colors[contrast_bars_x], **contrast_bars_kwargs)) + + if show_mini_meta: + ax_to_plot.add_patch(mpatches.Rectangle((max(swarm_plot_ax.get_xticks())+2-0.25,0),0.5, mini_meta_delta.difference, zorder=-1, color='black', **contrast_bars_kwargs)) + + if show_delta2: + ax_to_plot.add_patch(mpatches.Rectangle((max(swarm_plot_ax.get_xticks())+2-0.25,0),0.5, delta_delta.difference, zorder=-1, color='black', **contrast_bars_kwargs)) + +def swarm_bars_plotter(plot_data: object, xvar: str, yvar: str, ax: object, + swarm_bars_kwargs: dict, color_col: str, swarm_colors: list, is_paired: bool): + """ + Add bars to the raw data plot. + + Parameters + ---------- + plot_data : object (Dataframe) + Dataframe of the plot data. + xvar : str + Column name of the x variable. + yvar : str + Column name of the y variable. + ax : object + Matplotlib axis object to plot on. + swarm_bars_kwargs : dict + Keyword arguments for the swarm bars. + color_col : str + Column name of the color column. + swarm_colors : list + List of colors used in the plot. + is_paired : bool + Whether the data is paired. + """ + + # if is_paired: + # swarm_bar_xlocs_adjustleft = {'right': -0.2, 'left': -0.2, 'center': -0.2} + # swarm_bar_xlocs_adjustright = {'right': -0.1, 'left': -0.1, 'center': -0.1} + # else: + # swarm_bar_xlocs_adjustleft = {'right': 0, 'left': -0.4, 'center': -0.2} + # swarm_bar_xlocs_adjustright = {'right': -0.1, 'left': -0.1, 'center': -0.1} + + if isinstance(plot_data[xvar].dtype, pd.CategoricalDtype): + swarm_bars_order = pd.unique(plot_data[xvar]).categories + else: + swarm_bars_order = pd.unique(plot_data[xvar]) + + swarm_means = plot_data.groupby(xvar)[yvar].mean().reindex(index=swarm_bars_order) + swarm_bars_colors = [swarm_bars_kwargs.get('color')]*(len(swarm_bars_order)+1) if swarm_bars_kwargs.get('color') is not None else ['black']*(len(swarm_bars_order)+1) if color_col is not None or is_paired else swarm_colors + swarm_bars_kwargs.pop('color') + for swarm_bars_x,swarm_bars_y,c in zip(np.arange(0,len(swarm_bars_order)+1,1), swarm_means, swarm_bars_colors): + ax.add_patch(mpatches.Rectangle((swarm_bars_x-0.25,0), + 0.5, swarm_bars_y, zorder=-1,color=c,**swarm_bars_kwargs)) + + # %% ../nbs/API/plot_tools.ipynb 6 def swarmplot( data: pd.DataFrame, diff --git a/dabest/plotter.py b/dabest/plotter.py index 8a91bfd2..7f0cf0e5 100644 --- a/dabest/plotter.py +++ b/dabest/plotter.py @@ -65,6 +65,9 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): error_bar, sankeydiag, swarmplot, + swarm_bars_plotter, + contrast_bars_plotter, + summary_bars_plotter, ) from ._stats_tools.effsize import ( _compute_standardizers, @@ -1594,37 +1597,20 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): ####################################################### END GRIDKEY MAIN CODE WIP - ################################################### Swarm & Contrast Bars WIP - - # Swarm Bars WIP + ################################################### Swarm & Contrast & Summary Bars WIP + + # Swarm bars WIP swarm_bars = plot_kwargs["swarm_bars"] default_swarm_bars_kwargs = {"color": None, "alpha": 0.1} if plot_kwargs["swarm_bars_kwargs"] is None: swarm_bars_kwargs = default_swarm_bars_kwargs else: swarm_bars_kwargs = merge_two_dicts(default_swarm_bars_kwargs, plot_kwargs["swarm_bars_kwargs"]) - if swarm_bars and not proportional: - # if is_paired: - # swarm_bar_xlocs_adjustleft = {'right': -0.2, 'left': -0.2, 'center': -0.2} - # swarm_bar_xlocs_adjustright = {'right': -0.1, 'left': -0.1, 'center': -0.1} - # else: - # swarm_bar_xlocs_adjustleft = {'right': 0, 'left': -0.4, 'center': -0.2} - # swarm_bar_xlocs_adjustright = {'right': -0.1, 'left': -0.1, 'center': -0.1} - - if isinstance(plot_data[xvar].dtype, pd.CategoricalDtype): - swarm_bars_order = pd.unique(plot_data[xvar]).categories - else: - swarm_bars_order = pd.unique(plot_data[xvar]) - - swarm_means = plot_data.groupby(xvar)[yvar].mean().reindex(index=swarm_bars_order) - swarm_bars_colors = [swarm_bars_kwargs.get('color')]*(len(swarm_bars_order)+1) if swarm_bars_kwargs.get('color') is not None else ['black']*(len(swarm_bars_order)+1) if color_col is not None or is_paired else swarm_colors - swarm_bars_kwargs.pop('color') - for swarm_bars_x,swarm_bars_y,c in zip(np.arange(0,len(swarm_bars_order)+1,1), swarm_means, swarm_bars_colors): - rawdata_axes.add_patch(mpatches.Rectangle((swarm_bars_x-0.25,0), - 0.5, swarm_bars_y, zorder=-1,color=c,**swarm_bars_kwargs)) - - # Contrast Bars WIP + swarm_bars_plotter(plot_data=plot_data, xvar=xvar, yvar=yvar, ax=rawdata_axes, swarm_bars_kwargs=swarm_bars_kwargs, + color_col=color_col, swarm_colors=swarm_colors, is_paired=is_paired) + + # Contrast bars WIP contrast_bars = plot_kwargs["contrast_bars"] default_contrast_bars_kwargs = {"color": None, "alpha": 0.15} if plot_kwargs["contrast_bars_kwargs"] is None: @@ -1632,62 +1618,24 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): else: contrast_bars_kwargs = merge_two_dicts(default_contrast_bars_kwargs, plot_kwargs["contrast_bars_kwargs"]) if contrast_bars and not float_contrast: - contrast_means = [] - for j, tick in enumerate(ticks_to_plot): - contrast_means.append(results.difference[j]) - - contrast_bars_colors = [contrast_bars_kwargs.get('color')]*(len(ticks_to_plot)+1) if contrast_bars_kwargs.get('color') is not None else ['black']*(max(ticks_to_plot)+1) if color_col is not None or (proportional and is_paired) or is_paired else swarm_colors - contrast_bars_kwargs.pop('color') - for contrast_bars_x,contrast_bars_y in zip(ticks_to_plot, contrast_means): - contrast_axes.add_patch(mpatches.Rectangle((contrast_bars_x-0.25,0),0.5, contrast_bars_y, zorder=-1, color=contrast_bars_colors[contrast_bars_x], **contrast_bars_kwargs)) - - if show_mini_meta: - contrast_axes.add_patch(mpatches.Rectangle((max(rawdata_axes.get_xticks())+2-0.25,0),0.5, mini_meta_delta.difference, zorder=-1, color='black', **contrast_bars_kwargs)) - - if show_delta2: - contrast_axes.add_patch(mpatches.Rectangle((max(rawdata_axes.get_xticks())+2-0.25,0),0.5, delta_delta.difference, zorder=-1, color='black', **contrast_bars_kwargs)) - - ################################################### Swarm & Contrast Bars WIP - - ################################################### Summary Bars WIP + contrast_bars_plotter(results=results, ax_to_plot=contrast_axes, swarm_plot_ax=rawdata_axes,ticks_to_plot=ticks_to_plot, + contrast_bars_kwargs=contrast_bars_kwargs, color_col=color_col, swarm_colors=swarm_colors, show_mini_meta=show_mini_meta, + mini_meta_delta=mini_meta_delta if show_mini_meta else None, show_delta2=show_delta2, + delta_delta=delta_delta if show_delta2 else None, proportional=proportional, is_paired=is_paired) + # Summary bars WIP summary_bars = plot_kwargs["summary_bars"] default_summary_bars_kwargs = {"color": None, "alpha": 0.15} if plot_kwargs["summary_bars_kwargs"] is None: summary_bars_kwargs = default_summary_bars_kwargs else: summary_bars_kwargs = merge_two_dicts(default_summary_bars_kwargs, plot_kwargs["summary_bars_kwargs"]) - if summary_bars is not None: - if not isinstance(summary_bars, list): - raise TypeError("summary_bars must be a list of indices (ints).") - if not all(isinstance(i, int) for i in summary_bars): - raise TypeError("summary_bars must be a list of indices (ints).") - if any(i >= len(results) for i in summary_bars): - raise ValueError("Index {} chosen is out of range for the contrast objects.".format([i for i in summary_bars if i >= len(results)])) - if float_contrast: - raise ValueError("summary_bars cannot be used with Gardner-Altman plots.") - else: - print('Summary plots WIP') - summary_xmin, summary_xmax = contrast_axes.get_xlim() - summary_bars_colors = [summary_bars_kwargs.get('color')]*(len(summary_bars)+1) if summary_bars_kwargs.get('color') is not None else ['black']*(max(summary_bars)+1) if color_col is not None or (proportional and is_paired) or is_paired else swarm_colors - summary_bars_kwargs.pop('color') - for summary_index in summary_bars: - print('Summary plot for contrast object:', summary_index) - if ci_type == "bca": - summary_ci_low = results.bca_low[summary_index] - summary_ci_high = results.bca_high[summary_index] - else: - summary_ci_low = results.pct_low[summary_index] - summary_ci_high = results.pct_high[summary_index] - - summary_color = summary_bars_colors[ticks_to_plot[summary_index]] - - contrast_axes.add_patch(mpatches.Rectangle((summary_xmin,summary_ci_low),summary_xmax+1, - summary_ci_high-summary_ci_low, zorder=-2, color=summary_color, **summary_bars_kwargs)) - - - ################################################### Summary Bars WIP + summary_bars_plotter(summary_bars=summary_bars, results=results, ax_to_plot=contrast_axes, float_contrast=float_contrast, + summary_bars_kwargs=summary_bars_kwargs, ci_type=ci_type, ticks_to_plot=ticks_to_plot, color_col=color_col, + swarm_colors=swarm_colors, proportional=proportional, is_paired=is_paired) + + ################################################### Swarm & Contrast & Summary Bars WIP END # Make sure no stray ticks appear! rawdata_axes.xaxis.set_ticks_position("bottom") diff --git a/nbs/API/plot_tools.ipynb b/nbs/API/plot_tools.ipynb index 7187025b..20c70e92 100644 --- a/nbs/API/plot_tools.ipynb +++ b/nbs/API/plot_tools.ipynb @@ -64,6 +64,7 @@ "import matplotlib.pyplot as plt\n", "import matplotlib.lines as mlines\n", "import matplotlib.axes as axes\n", + "import matplotlib.patches as mpatches\n", "from collections import defaultdict\n", "from typing import List, Tuple, Dict, Iterable, Union\n", "from pandas.api.types import CategoricalDtype\n", @@ -831,7 +832,162 @@ " else:\n", " sankey_ticks = [broadcasted_left[0], right_idx[0]]\n", " ax.set_xticks([0, 1])\n", - " ax.set_xticklabels(sankey_ticks)" + " ax.set_xticklabels(sankey_ticks)\n", + "\n", + "def summary_bars_plotter(summary_bars: list, results: object, ax_to_plot: object,\n", + " float_contrast: bool,summary_bars_kwargs: dict, ci_type: str,\n", + " ticks_to_plot: list, color_col: str, swarm_colors: list, \n", + " proportional: bool, is_paired: bool):\n", + " \"\"\"\n", + " Add summary bars to the contrast plot.\n", + "\n", + " Parameters\n", + " ----------\n", + " summary_bars : list\n", + " List of indices of the contrast objects to plot summary bars for.\n", + " results : object (Dataframe)\n", + " Dataframe of contrast object comparisons.\n", + " ax_to_plot : object\n", + " Matplotlib axis object to plot on.\n", + " float_contrast : bool\n", + " Whether the DABEST plot uses Gardner-Altman or Cummings.\n", + " summary_bars_kwargs : dict\n", + " Keyword arguments for the summary bars.\n", + " ci_type : str \n", + " Type of confidence interval to plot.\n", + " ticks_to_plot : list\n", + " List of indices of the contrast objects.\n", + " color_col : str\n", + " Column name of the color column.\n", + " swarm_colors : list\n", + " List of colors used in the plot.\n", + " proportional : bool\n", + " Whether the data is proportional.\n", + " is_paired : bool\n", + " Whether the data is paired.\n", + " \"\"\"\n", + "# Begin checks \n", + " if not isinstance(summary_bars, list):\n", + " raise TypeError(\"summary_bars must be a list of indices (ints).\")\n", + " if not all(isinstance(i, int) for i in summary_bars):\n", + " raise TypeError(\"summary_bars must be a list of indices (ints).\")\n", + " if any(i >= len(results) for i in summary_bars):\n", + " raise ValueError(\"Index {} chosen is out of range for the contrast objects.\".format([i for i in summary_bars if i >= len(results)]))\n", + " if float_contrast:\n", + " raise ValueError(\"summary_bars cannot be used with Gardner-Altman plots.\")\n", + "# End checks\n", + " else:\n", + " summary_xmin, summary_xmax = ax_to_plot.get_xlim()\n", + " summary_bars_colors = [summary_bars_kwargs.get('color')]*(len(summary_bars)+1) if summary_bars_kwargs.get('color') is not None else ['black']*(max(summary_bars)+1) if color_col is not None or (proportional and is_paired) or is_paired else swarm_colors\n", + " summary_bars_kwargs.pop('color')\n", + " for summary_index in summary_bars:\n", + " if ci_type == \"bca\":\n", + " summary_ci_low = results.bca_low[summary_index]\n", + " summary_ci_high = results.bca_high[summary_index]\n", + " else:\n", + " summary_ci_low = results.pct_low[summary_index]\n", + " summary_ci_high = results.pct_high[summary_index]\n", + "\n", + " summary_color = summary_bars_colors[ticks_to_plot[summary_index]]\n", + "\n", + " ax_to_plot.add_patch(mpatches.Rectangle((summary_xmin,summary_ci_low),summary_xmax+1, \n", + " summary_ci_high-summary_ci_low, zorder=-2, color=summary_color, **summary_bars_kwargs))\n", + "\n", + "\n", + "def contrast_bars_plotter(results: object, ax_to_plot: object, swarm_plot_ax: object,\n", + " ticks_to_plot: list, contrast_bars_kwargs: dict, color_col: str, \n", + " swarm_colors: list, show_mini_meta: bool, mini_meta_delta: object, \n", + " show_delta2: bool, delta_delta: object, proportional: bool, is_paired: bool):\n", + " \"\"\"\n", + " Add contrast bars to the contrast plot.\n", + "\n", + " Parameters\n", + " ----------\n", + " results : object (Dataframe)\n", + " Dataframe of contrast object comparisons.\n", + " ax_to_plot : object\n", + " Matplotlib axis object to plot on.\n", + " swarm_plot_ax : object (ax)\n", + " Matplotlib axis object of the swarm plot.\n", + " ticks_to_plot : list\n", + " List of indices of the contrast objects.\n", + " contrast_bars_kwargs : dict \n", + " Keyword arguments for the contrast bars.\n", + " color_col : str\n", + " Column name of the color column.\n", + " swarm_colors : list \n", + " List of colors used in the plot.\n", + " show_mini_meta : bool \n", + " Whether to show the mini meta-analysis.\n", + " mini_meta_delta : object \n", + " Mini meta-analysis object.\n", + " show_delta2 : bool\n", + " Whether to show the delta-delta.\n", + " delta_delta : object\n", + " delta-delta object.\n", + " proportional : bool\n", + " Whether the data is proportional.\n", + " is_paired : bool\n", + " Whether the data is paired.\n", + " \"\"\"\n", + " contrast_means = []\n", + " for j, tick in enumerate(ticks_to_plot):\n", + " contrast_means.append(results.difference[j])\n", + "\n", + " contrast_bars_colors = [contrast_bars_kwargs.get('color')]*(len(ticks_to_plot)+1) if contrast_bars_kwargs.get('color') is not None else ['black']*(max(ticks_to_plot)+1) if color_col is not None or (proportional and is_paired) or is_paired else swarm_colors\n", + " contrast_bars_kwargs.pop('color')\n", + " for contrast_bars_x,contrast_bars_y in zip(ticks_to_plot, contrast_means):\n", + " ax_to_plot.add_patch(mpatches.Rectangle((contrast_bars_x-0.25,0),0.5, contrast_bars_y, zorder=-1, color=contrast_bars_colors[contrast_bars_x], **contrast_bars_kwargs))\n", + "\n", + " if show_mini_meta:\n", + " ax_to_plot.add_patch(mpatches.Rectangle((max(swarm_plot_ax.get_xticks())+2-0.25,0),0.5, mini_meta_delta.difference, zorder=-1, color='black', **contrast_bars_kwargs))\n", + "\n", + " if show_delta2:\n", + " ax_to_plot.add_patch(mpatches.Rectangle((max(swarm_plot_ax.get_xticks())+2-0.25,0),0.5, delta_delta.difference, zorder=-1, color='black', **contrast_bars_kwargs))\n", + "\n", + "def swarm_bars_plotter(plot_data: object, xvar: str, yvar: str, ax: object,\n", + " swarm_bars_kwargs: dict, color_col: str, swarm_colors: list, is_paired: bool):\n", + " \"\"\"\n", + " Add bars to the raw data plot.\n", + "\n", + " Parameters\n", + " ----------\n", + " plot_data : object (Dataframe)\n", + " Dataframe of the plot data.\n", + " xvar : str\n", + " Column name of the x variable.\n", + " yvar : str\n", + " Column name of the y variable.\n", + " ax : object \n", + " Matplotlib axis object to plot on.\n", + " swarm_bars_kwargs : dict\n", + " Keyword arguments for the swarm bars.\n", + " color_col : str\n", + " Column name of the color column.\n", + " swarm_colors : list\n", + " List of colors used in the plot.\n", + " is_paired : bool\n", + " Whether the data is paired.\n", + " \"\"\"\n", + "\n", + " # if is_paired:\n", + " # swarm_bar_xlocs_adjustleft = {'right': -0.2, 'left': -0.2, 'center': -0.2}\n", + " # swarm_bar_xlocs_adjustright = {'right': -0.1, 'left': -0.1, 'center': -0.1} \n", + " # else:\n", + " # swarm_bar_xlocs_adjustleft = {'right': 0, 'left': -0.4, 'center': -0.2}\n", + " # swarm_bar_xlocs_adjustright = {'right': -0.1, 'left': -0.1, 'center': -0.1}\n", + "\n", + " if isinstance(plot_data[xvar].dtype, pd.CategoricalDtype):\n", + " swarm_bars_order = pd.unique(plot_data[xvar]).categories\n", + " else:\n", + " swarm_bars_order = pd.unique(plot_data[xvar])\n", + "\n", + " swarm_means = plot_data.groupby(xvar)[yvar].mean().reindex(index=swarm_bars_order)\n", + " swarm_bars_colors = [swarm_bars_kwargs.get('color')]*(len(swarm_bars_order)+1) if swarm_bars_kwargs.get('color') is not None else ['black']*(len(swarm_bars_order)+1) if color_col is not None or is_paired else swarm_colors\n", + " swarm_bars_kwargs.pop('color')\n", + " for swarm_bars_x,swarm_bars_y,c in zip(np.arange(0,len(swarm_bars_order)+1,1), swarm_means, swarm_bars_colors):\n", + " ax.add_patch(mpatches.Rectangle((swarm_bars_x-0.25,0),\n", + " 0.5, swarm_bars_y, zorder=-1,color=c,**swarm_bars_kwargs))\n" ] }, { diff --git a/nbs/API/plotter.ipynb b/nbs/API/plotter.ipynb index 88d6f326..fd79bcb0 100644 --- a/nbs/API/plotter.ipynb +++ b/nbs/API/plotter.ipynb @@ -124,6 +124,9 @@ " error_bar,\n", " sankeydiag,\n", " swarmplot,\n", + " swarm_bars_plotter,\n", + " contrast_bars_plotter,\n", + " summary_bars_plotter,\n", " )\n", " from ._stats_tools.effsize import (\n", " _compute_standardizers,\n", @@ -1653,37 +1656,20 @@ "\n", " ####################################################### END GRIDKEY MAIN CODE WIP\n", " \n", - " ################################################### Swarm & Contrast Bars WIP\n", - " \n", - " # Swarm Bars WIP\n", + " ################################################### Swarm & Contrast & Summary Bars WIP\n", + "\n", + " # Swarm bars WIP\n", " swarm_bars = plot_kwargs[\"swarm_bars\"]\n", " default_swarm_bars_kwargs = {\"color\": None, \"alpha\": 0.1}\n", " if plot_kwargs[\"swarm_bars_kwargs\"] is None:\n", " swarm_bars_kwargs = default_swarm_bars_kwargs\n", " else:\n", " swarm_bars_kwargs = merge_two_dicts(default_swarm_bars_kwargs, plot_kwargs[\"swarm_bars_kwargs\"])\n", - "\n", " if swarm_bars and not proportional:\n", - " # if is_paired:\n", - " # swarm_bar_xlocs_adjustleft = {'right': -0.2, 'left': -0.2, 'center': -0.2}\n", - " # swarm_bar_xlocs_adjustright = {'right': -0.1, 'left': -0.1, 'center': -0.1} \n", - " # else:\n", - " # swarm_bar_xlocs_adjustleft = {'right': 0, 'left': -0.4, 'center': -0.2}\n", - " # swarm_bar_xlocs_adjustright = {'right': -0.1, 'left': -0.1, 'center': -0.1}\n", - " \n", - " if isinstance(plot_data[xvar].dtype, pd.CategoricalDtype):\n", - " swarm_bars_order = pd.unique(plot_data[xvar]).categories\n", - " else:\n", - " swarm_bars_order = pd.unique(plot_data[xvar])\n", - "\n", - " swarm_means = plot_data.groupby(xvar)[yvar].mean().reindex(index=swarm_bars_order)\n", - " swarm_bars_colors = [swarm_bars_kwargs.get('color')]*(len(swarm_bars_order)+1) if swarm_bars_kwargs.get('color') is not None else ['black']*(len(swarm_bars_order)+1) if color_col is not None or is_paired else swarm_colors\n", - " swarm_bars_kwargs.pop('color')\n", - " for swarm_bars_x,swarm_bars_y,c in zip(np.arange(0,len(swarm_bars_order)+1,1), swarm_means, swarm_bars_colors):\n", - " rawdata_axes.add_patch(mpatches.Rectangle((swarm_bars_x-0.25,0),\n", - " 0.5, swarm_bars_y, zorder=-1,color=c,**swarm_bars_kwargs))\n", - " \n", - " # Contrast Bars WIP\n", + " swarm_bars_plotter(plot_data=plot_data, xvar=xvar, yvar=yvar, ax=rawdata_axes, swarm_bars_kwargs=swarm_bars_kwargs, \n", + " color_col=color_col, swarm_colors=swarm_colors, is_paired=is_paired)\n", + "\n", + " # Contrast bars WIP\n", " contrast_bars = plot_kwargs[\"contrast_bars\"]\n", " default_contrast_bars_kwargs = {\"color\": None, \"alpha\": 0.15}\n", " if plot_kwargs[\"contrast_bars_kwargs\"] is None:\n", @@ -1691,62 +1677,24 @@ " else:\n", " contrast_bars_kwargs = merge_two_dicts(default_contrast_bars_kwargs, plot_kwargs[\"contrast_bars_kwargs\"])\n", " if contrast_bars and not float_contrast:\n", - " contrast_means = []\n", - " for j, tick in enumerate(ticks_to_plot):\n", - " contrast_means.append(results.difference[j])\n", - "\n", - " contrast_bars_colors = [contrast_bars_kwargs.get('color')]*(len(ticks_to_plot)+1) if contrast_bars_kwargs.get('color') is not None else ['black']*(max(ticks_to_plot)+1) if color_col is not None or (proportional and is_paired) or is_paired else swarm_colors\n", - " contrast_bars_kwargs.pop('color')\n", - " for contrast_bars_x,contrast_bars_y in zip(ticks_to_plot, contrast_means):\n", - " contrast_axes.add_patch(mpatches.Rectangle((contrast_bars_x-0.25,0),0.5, contrast_bars_y, zorder=-1, color=contrast_bars_colors[contrast_bars_x], **contrast_bars_kwargs))\n", - "\n", - " if show_mini_meta:\n", - " contrast_axes.add_patch(mpatches.Rectangle((max(rawdata_axes.get_xticks())+2-0.25,0),0.5, mini_meta_delta.difference, zorder=-1, color='black', **contrast_bars_kwargs))\n", - "\n", - " if show_delta2:\n", - " contrast_axes.add_patch(mpatches.Rectangle((max(rawdata_axes.get_xticks())+2-0.25,0),0.5, delta_delta.difference, zorder=-1, color='black', **contrast_bars_kwargs))\n", - "\n", - " ################################################### Swarm & Contrast Bars WIP\n", - "\n", - " ################################################### Summary Bars WIP\n", + " contrast_bars_plotter(results=results, ax_to_plot=contrast_axes, swarm_plot_ax=rawdata_axes,ticks_to_plot=ticks_to_plot, \n", + " contrast_bars_kwargs=contrast_bars_kwargs, color_col=color_col, swarm_colors=swarm_colors, show_mini_meta=show_mini_meta, \n", + " mini_meta_delta=mini_meta_delta if show_mini_meta else None, show_delta2=show_delta2, \n", + " delta_delta=delta_delta if show_delta2 else None, proportional=proportional, is_paired=is_paired)\n", "\n", + " # Summary bars WIP\n", " summary_bars = plot_kwargs[\"summary_bars\"]\n", " default_summary_bars_kwargs = {\"color\": None, \"alpha\": 0.15}\n", " if plot_kwargs[\"summary_bars_kwargs\"] is None:\n", " summary_bars_kwargs = default_summary_bars_kwargs\n", " else:\n", " summary_bars_kwargs = merge_two_dicts(default_summary_bars_kwargs, plot_kwargs[\"summary_bars_kwargs\"])\n", - "\n", " if summary_bars is not None:\n", - " if not isinstance(summary_bars, list):\n", - " raise TypeError(\"summary_bars must be a list of indices (ints).\")\n", - " if not all(isinstance(i, int) for i in summary_bars):\n", - " raise TypeError(\"summary_bars must be a list of indices (ints).\")\n", - " if any(i >= len(results) for i in summary_bars):\n", - " raise ValueError(\"Index {} chosen is out of range for the contrast objects.\".format([i for i in summary_bars if i >= len(results)]))\n", - " if float_contrast:\n", - " raise ValueError(\"summary_bars cannot be used with Gardner-Altman plots.\")\n", - " else:\n", - " print('Summary plots WIP')\n", - " summary_xmin, summary_xmax = contrast_axes.get_xlim()\n", - " summary_bars_colors = [summary_bars_kwargs.get('color')]*(len(summary_bars)+1) if summary_bars_kwargs.get('color') is not None else ['black']*(max(summary_bars)+1) if color_col is not None or (proportional and is_paired) or is_paired else swarm_colors\n", - " summary_bars_kwargs.pop('color')\n", - " for summary_index in summary_bars:\n", - " print('Summary plot for contrast object:', summary_index)\n", - " if ci_type == \"bca\":\n", - " summary_ci_low = results.bca_low[summary_index]\n", - " summary_ci_high = results.bca_high[summary_index]\n", - " else:\n", - " summary_ci_low = results.pct_low[summary_index]\n", - " summary_ci_high = results.pct_high[summary_index]\n", - "\n", - " summary_color = summary_bars_colors[ticks_to_plot[summary_index]]\n", - "\n", - " contrast_axes.add_patch(mpatches.Rectangle((summary_xmin,summary_ci_low),summary_xmax+1, \n", - " summary_ci_high-summary_ci_low, zorder=-2, color=summary_color, **summary_bars_kwargs))\n", - "\n", - "\n", - " ################################################### Summary Bars WIP\n", + " summary_bars_plotter(summary_bars=summary_bars, results=results, ax_to_plot=contrast_axes, float_contrast=float_contrast,\n", + " summary_bars_kwargs=summary_bars_kwargs, ci_type=ci_type, ticks_to_plot=ticks_to_plot, color_col=color_col,\n", + " swarm_colors=swarm_colors, proportional=proportional, is_paired=is_paired)\n", + " \n", + " ################################################### Swarm & Contrast & Summary Bars WIP END\n", "\n", " # Make sure no stray ticks appear!\n", " rawdata_axes.xaxis.set_ticks_position(\"bottom\")\n", From 641c4edf1d92536b7452820432df50e34d53a6f2 Mon Sep 17 00:00:00 2001 From: JAnns98 Date: Thu, 29 Aug 2024 17:33:49 +0800 Subject: [PATCH 05/42] Fixed coloring of summary bars and added delta text (WIP) --- dabest/_effsize_objects.py | 10 ++++++ dabest/plot_tools.py | 6 ++-- dabest/plotter.py | 57 +++++++++++++++++++++++++++++++- nbs/API/effsize_objects.ipynb | 16 ++++++--- nbs/API/plot_tools.ipynb | 6 ++-- nbs/API/plotter.ipynb | 61 ++++++++++++++++++++++++++++++++--- 6 files changed, 139 insertions(+), 17 deletions(-) diff --git a/dabest/_effsize_objects.py b/dabest/_effsize_objects.py index defe3552..c49a696c 100644 --- a/dabest/_effsize_objects.py +++ b/dabest/_effsize_objects.py @@ -1024,6 +1024,8 @@ def plot( swarm_bars_kwargs=None, summary_bars=None, summary_bars_kwargs=None, + delta_text=True, + delta_text_kwargs=None, ): """ Creates an estimation plot for the effect size of interest. @@ -1186,6 +1188,14 @@ def plot( For example, [0,1] will show summary bars for the first two contrast objects. summary_bars_kwargs: dict, default None If None, the following keywords are passed: {"color": None, "alpha": 0.15} + delta_text : boolean, default True + Whether or not to display the text deltas. + delta_text_kwargs : dict, default None + Pass relevant keyword arguments to the delta text. Pass any keyword arguments accepted by + matplotlib.text.Text here, as a string. If None, the following keywords are passed: + {"color": None, "alpha": 1, "fontsize": 10, "ha": 'center', "va": 'center', "rotation": 0, + "x_location": 'right', "x_coordinates": None, "y_coordinates": None} + Use "x_coordinates" and "y_coordinates" if you would like to specify the text locations manually. Returns ------- diff --git a/dabest/plot_tools.py b/dabest/plot_tools.py index d4981469..15e31a8c 100644 --- a/dabest/plot_tools.py +++ b/dabest/plot_tools.py @@ -824,7 +824,7 @@ def summary_bars_plotter(summary_bars: list, results: object, ax_to_plot: object # End checks else: summary_xmin, summary_xmax = ax_to_plot.get_xlim() - summary_bars_colors = [summary_bars_kwargs.get('color')]*(len(summary_bars)+1) if summary_bars_kwargs.get('color') is not None else ['black']*(max(summary_bars)+1) if color_col is not None or (proportional and is_paired) or is_paired else swarm_colors + summary_bars_colors = [summary_bars_kwargs.get('color')]*(max(summary_bars)+1) if summary_bars_kwargs.get('color') is not None else ['black']*(max(summary_bars)+1) if color_col is not None or (proportional and is_paired) or is_paired else swarm_colors summary_bars_kwargs.pop('color') for summary_index in summary_bars: if ci_type == "bca": @@ -880,7 +880,7 @@ def contrast_bars_plotter(results: object, ax_to_plot: object, swarm_plot_ax: o for j, tick in enumerate(ticks_to_plot): contrast_means.append(results.difference[j]) - contrast_bars_colors = [contrast_bars_kwargs.get('color')]*(len(ticks_to_plot)+1) if contrast_bars_kwargs.get('color') is not None else ['black']*(max(ticks_to_plot)+1) if color_col is not None or (proportional and is_paired) or is_paired else swarm_colors + contrast_bars_colors = [contrast_bars_kwargs.get('color')]*(max(ticks_to_plot)+1) if contrast_bars_kwargs.get('color') is not None else ['black']*(max(ticks_to_plot)+1) if color_col is not None or (proportional and is_paired) or is_paired else swarm_colors contrast_bars_kwargs.pop('color') for contrast_bars_x,contrast_bars_y in zip(ticks_to_plot, contrast_means): ax_to_plot.add_patch(mpatches.Rectangle((contrast_bars_x-0.25,0),0.5, contrast_bars_y, zorder=-1, color=contrast_bars_colors[contrast_bars_x], **contrast_bars_kwargs)) @@ -929,7 +929,7 @@ def swarm_bars_plotter(plot_data: object, xvar: str, yvar: str, ax: object, swarm_bars_order = pd.unique(plot_data[xvar]) swarm_means = plot_data.groupby(xvar)[yvar].mean().reindex(index=swarm_bars_order) - swarm_bars_colors = [swarm_bars_kwargs.get('color')]*(len(swarm_bars_order)+1) if swarm_bars_kwargs.get('color') is not None else ['black']*(len(swarm_bars_order)+1) if color_col is not None or is_paired else swarm_colors + swarm_bars_colors = [swarm_bars_kwargs.get('color')]*(max(swarm_bars_order)+1) if swarm_bars_kwargs.get('color') is not None else ['black']*(len(swarm_bars_order)+1) if color_col is not None or is_paired else swarm_colors swarm_bars_kwargs.pop('color') for swarm_bars_x,swarm_bars_y,c in zip(np.arange(0,len(swarm_bars_order)+1,1), swarm_means, swarm_bars_colors): ax.add_patch(mpatches.Rectangle((swarm_bars_x-0.25,0), diff --git a/dabest/plotter.py b/dabest/plotter.py index 7f0cf0e5..d5d8fe6f 100644 --- a/dabest/plotter.py +++ b/dabest/plotter.py @@ -56,7 +56,7 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): fontsize_delta2label=12, swarm_bars=True, swarm_bars_kwargs=None, contrast_bars=True, contrast_bars_kwargs=None, - + delta_text=True, delta_text_kwargs=None, """ from .misc_tools import merge_two_dicts from .plot_tools import ( @@ -1637,6 +1637,61 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): ################################################### Swarm & Contrast & Summary Bars WIP END + ################################################### Delta numbers WIP START + delta_text = plot_kwargs["delta_text"] + if delta_text: + default_delta_text_kwargs = {"color": None, "alpha": 1, "fontsize": 10, "ha": 'center', "va": 'center', "rotation": 0, "x_location": 'right', "x_coordinates": None, "y_coordinates": None} + if plot_kwargs["delta_text_kwargs"] is None: + delta_text_kwargs = default_delta_text_kwargs + else: + delta_text_kwargs = merge_two_dicts(default_delta_text_kwargs, plot_kwargs["delta_text_kwargs"]) + + delta_text_x_location = delta_text_kwargs.get('x_location') + if delta_text_x_location != 'right' and delta_text_x_location != 'left': + raise ValueError("delta_text_kwargs['x_location'] must be either 'right' or 'left'.") + delta_text_kwargs.pop('x_location') + + delta_text_colors = [delta_text_kwargs.get('color')]*(max(ticks_to_plot)+1) if delta_text_kwargs.get('color') is not None else ['black']*(max(ticks_to_plot)+1) if color_col is not None or (proportional and is_paired) or is_paired else swarm_colors + delta_text_kwargs.pop('color') + + Delta_Values = [] + for j, tick in enumerate(ticks_to_plot): + Delta_Values.append(results.difference[j]) + + delta_text_x_coordinates = delta_text_kwargs.get('x_coordinates') + delta_text_y_coordinates = delta_text_kwargs.get('y_coordinates') + + if delta_text_x_coordinates is not None: + if not isinstance(delta_text_x_coordinates, list): + raise TypeError("delta_text_kwargs['x_coordinates'] must be a list of x-coordinates.") + if len(delta_text_x_coordinates) != len(ticks_to_plot): + raise ValueError("delta_text_kwargs['x_coordinates'] must have the same length as the number of ticks to plot.") + delta_text_x_coordinates_default = False + delta_text_kwargs.pop('x_coordinates') + else: + delta_text_x_coordinates = ticks_to_plot + delta_text_x_coordinates_default = True + delta_text_kwargs.pop('x_coordinates') + + + if delta_text_y_coordinates is not None: + if not isinstance(delta_text_y_coordinates, list): + raise TypeError("delta_text_kwargs['y_coordinates'] must be a list of y-coordinates.") + if len(delta_text_y_coordinates) != len(ticks_to_plot): + raise ValueError("delta_text_kwargs['y_coordinates'] must have the same length as the number of ticks to plot.") + delta_text_kwargs.pop('y_coordinates') + else: + delta_text_y_coordinates = Delta_Values + delta_text_kwargs.pop('y_coordinates') + + for x,y,t,tick in zip(delta_text_x_coordinates, delta_text_y_coordinates,Delta_Values,ticks_to_plot): + Delta_Text = '+'+'{0:.2f}'.format(t) if t > 0 else '{0:.2f}'.format(t) + X_Adjust = 0 if not delta_text_x_coordinates_default else 0.53 if delta_text_x_location == 'right' else -0.35 + contrast_axes.text(x+X_Adjust, y, Delta_Text, color=delta_text_colors[tick],**delta_text_kwargs) + + ################################################### Delta numbers WIP END + + # Make sure no stray ticks appear! rawdata_axes.xaxis.set_ticks_position("bottom") rawdata_axes.yaxis.set_ticks_position("left") diff --git a/nbs/API/effsize_objects.ipynb b/nbs/API/effsize_objects.ipynb index 351b939f..bde78b53 100644 --- a/nbs/API/effsize_objects.ipynb +++ b/nbs/API/effsize_objects.ipynb @@ -1185,6 +1185,8 @@ " swarm_bars_kwargs=None,\n", " summary_bars=None,\n", " summary_bars_kwargs=None,\n", + " delta_text=True,\n", + " delta_text_kwargs=None,\n", " ):\n", " \"\"\"\n", " Creates an estimation plot for the effect size of interest.\n", @@ -1347,6 +1349,14 @@ " For example, [0,1] will show summary bars for the first two contrast objects.\n", " summary_bars_kwargs: dict, default None\n", " If None, the following keywords are passed: {\"color\": None, \"alpha\": 0.15}\n", + " delta_text : boolean, default True\n", + " Whether or not to display the text deltas.\n", + " delta_text_kwargs : dict, default None\n", + " Pass relevant keyword arguments to the delta text. Pass any keyword arguments accepted by\n", + " matplotlib.text.Text here, as a string. If None, the following keywords are passed:\n", + " {\"color\": None, \"alpha\": 1, \"fontsize\": 10, \"ha\": 'center', \"va\": 'center', \"rotation\": 0, \n", + " \"x_location\": 'right', \"x_coordinates\": None, \"y_coordinates\": None}\n", + " Use \"x_coordinates\" and \"y_coordinates\" if you would like to specify the text locations manually.\n", "\n", " Returns\n", " -------\n", @@ -1949,13 +1959,9 @@ ], "metadata": { "kernelspec": { - "display_name": "DABESTDEV", + "display_name": "python3", "language": "python", "name": "python3" - }, - "language_info": { - "name": "python", - "version": "3.11.8" } }, "nbformat": 4, diff --git a/nbs/API/plot_tools.ipynb b/nbs/API/plot_tools.ipynb index 20c70e92..2150d604 100644 --- a/nbs/API/plot_tools.ipynb +++ b/nbs/API/plot_tools.ipynb @@ -878,7 +878,7 @@ "# End checks\n", " else:\n", " summary_xmin, summary_xmax = ax_to_plot.get_xlim()\n", - " summary_bars_colors = [summary_bars_kwargs.get('color')]*(len(summary_bars)+1) if summary_bars_kwargs.get('color') is not None else ['black']*(max(summary_bars)+1) if color_col is not None or (proportional and is_paired) or is_paired else swarm_colors\n", + " summary_bars_colors = [summary_bars_kwargs.get('color')]*(max(summary_bars)+1) if summary_bars_kwargs.get('color') is not None else ['black']*(max(summary_bars)+1) if color_col is not None or (proportional and is_paired) or is_paired else swarm_colors\n", " summary_bars_kwargs.pop('color')\n", " for summary_index in summary_bars:\n", " if ci_type == \"bca\":\n", @@ -934,7 +934,7 @@ " for j, tick in enumerate(ticks_to_plot):\n", " contrast_means.append(results.difference[j])\n", "\n", - " contrast_bars_colors = [contrast_bars_kwargs.get('color')]*(len(ticks_to_plot)+1) if contrast_bars_kwargs.get('color') is not None else ['black']*(max(ticks_to_plot)+1) if color_col is not None or (proportional and is_paired) or is_paired else swarm_colors\n", + " contrast_bars_colors = [contrast_bars_kwargs.get('color')]*(max(ticks_to_plot)+1) if contrast_bars_kwargs.get('color') is not None else ['black']*(max(ticks_to_plot)+1) if color_col is not None or (proportional and is_paired) or is_paired else swarm_colors\n", " contrast_bars_kwargs.pop('color')\n", " for contrast_bars_x,contrast_bars_y in zip(ticks_to_plot, contrast_means):\n", " ax_to_plot.add_patch(mpatches.Rectangle((contrast_bars_x-0.25,0),0.5, contrast_bars_y, zorder=-1, color=contrast_bars_colors[contrast_bars_x], **contrast_bars_kwargs))\n", @@ -983,7 +983,7 @@ " swarm_bars_order = pd.unique(plot_data[xvar])\n", "\n", " swarm_means = plot_data.groupby(xvar)[yvar].mean().reindex(index=swarm_bars_order)\n", - " swarm_bars_colors = [swarm_bars_kwargs.get('color')]*(len(swarm_bars_order)+1) if swarm_bars_kwargs.get('color') is not None else ['black']*(len(swarm_bars_order)+1) if color_col is not None or is_paired else swarm_colors\n", + " swarm_bars_colors = [swarm_bars_kwargs.get('color')]*(max(swarm_bars_order)+1) if swarm_bars_kwargs.get('color') is not None else ['black']*(len(swarm_bars_order)+1) if color_col is not None or is_paired else swarm_colors\n", " swarm_bars_kwargs.pop('color')\n", " for swarm_bars_x,swarm_bars_y,c in zip(np.arange(0,len(swarm_bars_order)+1,1), swarm_means, swarm_bars_colors):\n", " ax.add_patch(mpatches.Rectangle((swarm_bars_x-0.25,0),\n", diff --git a/nbs/API/plotter.ipynb b/nbs/API/plotter.ipynb index fd79bcb0..ac55e9e5 100644 --- a/nbs/API/plotter.ipynb +++ b/nbs/API/plotter.ipynb @@ -115,7 +115,7 @@ " fontsize_delta2label=12,\n", " swarm_bars=True, swarm_bars_kwargs=None,\n", " contrast_bars=True, contrast_bars_kwargs=None,\n", - "\n", + " delta_text=True, delta_text_kwargs=None,\n", " \"\"\"\n", " from .misc_tools import merge_two_dicts\n", " from .plot_tools import (\n", @@ -1696,6 +1696,61 @@ " \n", " ################################################### Swarm & Contrast & Summary Bars WIP END\n", "\n", + " ################################################### Delta numbers WIP START\n", + " delta_text = plot_kwargs[\"delta_text\"]\n", + " if delta_text:\n", + " default_delta_text_kwargs = {\"color\": None, \"alpha\": 1, \"fontsize\": 10, \"ha\": 'center', \"va\": 'center', \"rotation\": 0, \"x_location\": 'right', \"x_coordinates\": None, \"y_coordinates\": None}\n", + " if plot_kwargs[\"delta_text_kwargs\"] is None:\n", + " delta_text_kwargs = default_delta_text_kwargs\n", + " else:\n", + " delta_text_kwargs = merge_two_dicts(default_delta_text_kwargs, plot_kwargs[\"delta_text_kwargs\"])\n", + "\n", + " delta_text_x_location = delta_text_kwargs.get('x_location')\n", + " if delta_text_x_location != 'right' and delta_text_x_location != 'left':\n", + " raise ValueError(\"delta_text_kwargs['x_location'] must be either 'right' or 'left'.\")\n", + " delta_text_kwargs.pop('x_location')\n", + "\n", + " delta_text_colors = [delta_text_kwargs.get('color')]*(max(ticks_to_plot)+1) if delta_text_kwargs.get('color') is not None else ['black']*(max(ticks_to_plot)+1) if color_col is not None or (proportional and is_paired) or is_paired else swarm_colors\n", + " delta_text_kwargs.pop('color')\n", + "\n", + " Delta_Values = []\n", + " for j, tick in enumerate(ticks_to_plot):\n", + " Delta_Values.append(results.difference[j])\n", + "\n", + " delta_text_x_coordinates = delta_text_kwargs.get('x_coordinates')\n", + " delta_text_y_coordinates = delta_text_kwargs.get('y_coordinates')\n", + "\n", + " if delta_text_x_coordinates is not None:\n", + " if not isinstance(delta_text_x_coordinates, list):\n", + " raise TypeError(\"delta_text_kwargs['x_coordinates'] must be a list of x-coordinates.\")\n", + " if len(delta_text_x_coordinates) != len(ticks_to_plot):\n", + " raise ValueError(\"delta_text_kwargs['x_coordinates'] must have the same length as the number of ticks to plot.\")\n", + " delta_text_x_coordinates_default = False\n", + " delta_text_kwargs.pop('x_coordinates')\n", + " else:\n", + " delta_text_x_coordinates = ticks_to_plot\n", + " delta_text_x_coordinates_default = True\n", + " delta_text_kwargs.pop('x_coordinates')\n", + "\n", + "\n", + " if delta_text_y_coordinates is not None:\n", + " if not isinstance(delta_text_y_coordinates, list):\n", + " raise TypeError(\"delta_text_kwargs['y_coordinates'] must be a list of y-coordinates.\")\n", + " if len(delta_text_y_coordinates) != len(ticks_to_plot):\n", + " raise ValueError(\"delta_text_kwargs['y_coordinates'] must have the same length as the number of ticks to plot.\")\n", + " delta_text_kwargs.pop('y_coordinates')\n", + " else:\n", + " delta_text_y_coordinates = Delta_Values\n", + " delta_text_kwargs.pop('y_coordinates')\n", + "\n", + " for x,y,t,tick in zip(delta_text_x_coordinates, delta_text_y_coordinates,Delta_Values,ticks_to_plot):\n", + " Delta_Text = '+'+'{0:.2f}'.format(t) if t > 0 else '{0:.2f}'.format(t)\n", + " X_Adjust = 0 if not delta_text_x_coordinates_default else 0.53 if delta_text_x_location == 'right' else -0.35\n", + " contrast_axes.text(x+X_Adjust, y, Delta_Text, color=delta_text_colors[tick],**delta_text_kwargs)\n", + "\n", + " ################################################### Delta numbers WIP END\n", + "\n", + "\n", " # Make sure no stray ticks appear!\n", " rawdata_axes.xaxis.set_ticks_position(\"bottom\")\n", " rawdata_axes.yaxis.set_ticks_position(\"left\")\n", @@ -1717,10 +1772,6 @@ "display_name": "python3", "language": "python", "name": "python3" - }, - "language_info": { - "name": "python", - "version": "3.11.8" } }, "nbformat": 4, From ab8aa9fff295398e986f738e611b146a2c1f8fdf Mon Sep 17 00:00:00 2001 From: JAnns98 Date: Thu, 29 Aug 2024 18:23:26 +0800 Subject: [PATCH 06/42] Moved main delta_text code to a separate function in plot_tools --- dabest/_modidx.py | 2 ++ dabest/plot_tools.py | 67 +++++++++++++++++++++++++++++++++++++++- dabest/plotter.py | 57 ++++++---------------------------- nbs/API/plot_tools.ipynb | 67 +++++++++++++++++++++++++++++++++++++++- nbs/API/plotter.ipynb | 57 ++++++---------------------------- 5 files changed, 152 insertions(+), 98 deletions(-) diff --git a/dabest/_modidx.py b/dabest/_modidx.py index 0858bf45..9dcc5685 100644 --- a/dabest/_modidx.py +++ b/dabest/_modidx.py @@ -86,6 +86,8 @@ 'dabest/plot_tools.py'), 'dabest.plot_tools.contrast_bars_plotter': ( 'API/plot_tools.html#contrast_bars_plotter', 'dabest/plot_tools.py'), + 'dabest.plot_tools.delta_text_plotter': ( 'API/plot_tools.html#delta_text_plotter', + 'dabest/plot_tools.py'), 'dabest.plot_tools.error_bar': ('API/plot_tools.html#error_bar', 'dabest/plot_tools.py'), 'dabest.plot_tools.get_swarm_spans': ('API/plot_tools.html#get_swarm_spans', 'dabest/plot_tools.py'), 'dabest.plot_tools.halfviolin': ('API/plot_tools.html#halfviolin', 'dabest/plot_tools.py'), diff --git a/dabest/plot_tools.py b/dabest/plot_tools.py index 15e31a8c..9a37c2ca 100644 --- a/dabest/plot_tools.py +++ b/dabest/plot_tools.py @@ -6,7 +6,7 @@ # %% auto 0 __all__ = ['halfviolin', 'get_swarm_spans', 'error_bar', 'check_data_matches_labels', 'normalize_dict', 'width_determine', 'single_sankey', 'sankeydiag', 'summary_bars_plotter', 'contrast_bars_plotter', 'swarm_bars_plotter', - 'swarmplot', 'SwarmPlot'] + 'delta_text_plotter', 'swarmplot', 'SwarmPlot'] # %% ../nbs/API/plot_tools.ipynb 4 import math @@ -935,6 +935,71 @@ def swarm_bars_plotter(plot_data: object, xvar: str, yvar: str, ax: object, ax.add_patch(mpatches.Rectangle((swarm_bars_x-0.25,0), 0.5, swarm_bars_y, zorder=-1,color=c,**swarm_bars_kwargs)) +def delta_text_plotter(results: object, ax: object, ticks_to_plot: list, delta_text_kwargs: dict, color_col: str, + swarm_colors: list, is_paired: bool): + """ + Add text to the contrast plot. + + Parameters + ---------- + results : object (Dataframe) + Dataframe of contrast object comparisons. + ax : object + Matplotlib axis object to plot on. + ticks_to_plot : list + List of indices of the contrast objects. + delta_text_kwargs : dict + Keyword arguments for the delta text. + color_col : str + Column name of the color column. + swarm_colors : list + List of colors used in the plot. + is_paired : bool + Whether the data is paired. + """ + + delta_text_x_location = delta_text_kwargs.get('x_location') + if delta_text_x_location != 'right' and delta_text_x_location != 'left': + raise ValueError("delta_text_kwargs['x_location'] must be either 'right' or 'left'.") + delta_text_kwargs.pop('x_location') + + delta_text_colors = [delta_text_kwargs.get('color')]*(max(ticks_to_plot)+1) if delta_text_kwargs.get('color') is not None else ['black']*(max(ticks_to_plot)+1) if color_col is not None or (proportional and is_paired) or is_paired else swarm_colors + delta_text_kwargs.pop('color') + + Delta_Values = [] + for j, tick in enumerate(ticks_to_plot): + Delta_Values.append(results.difference[j]) + + delta_text_x_coordinates = delta_text_kwargs.get('x_coordinates') + delta_text_y_coordinates = delta_text_kwargs.get('y_coordinates') + + if delta_text_x_coordinates is not None: + if not isinstance(delta_text_x_coordinates, list): + raise TypeError("delta_text_kwargs['x_coordinates'] must be a list of x-coordinates.") + if len(delta_text_x_coordinates) != len(ticks_to_plot): + raise ValueError("delta_text_kwargs['x_coordinates'] must have the same length as the number of ticks to plot.") + delta_text_x_coordinates_default = False + delta_text_kwargs.pop('x_coordinates') + else: + delta_text_x_coordinates = ticks_to_plot + delta_text_x_coordinates_default = True + delta_text_kwargs.pop('x_coordinates') + + if delta_text_y_coordinates is not None: + if not isinstance(delta_text_y_coordinates, list): + raise TypeError("delta_text_kwargs['y_coordinates'] must be a list of y-coordinates.") + if len(delta_text_y_coordinates) != len(ticks_to_plot): + raise ValueError("delta_text_kwargs['y_coordinates'] must have the same length as the number of ticks to plot.") + delta_text_kwargs.pop('y_coordinates') + else: + delta_text_y_coordinates = Delta_Values + delta_text_kwargs.pop('y_coordinates') + + for x,y,t,tick in zip(delta_text_x_coordinates, delta_text_y_coordinates,Delta_Values,ticks_to_plot): + Delta_Text = '+'+'{0:.2f}'.format(t) if t > 0 else '{0:.2f}'.format(t) + X_Adjust = 0 if not delta_text_x_coordinates_default else 0.53 if delta_text_x_location == 'right' else -0.35 + ax.text(x+X_Adjust, y, Delta_Text, color=delta_text_colors[tick],**delta_text_kwargs) + # %% ../nbs/API/plot_tools.ipynb 6 def swarmplot( diff --git a/dabest/plotter.py b/dabest/plotter.py index d5d8fe6f..b30254a4 100644 --- a/dabest/plotter.py +++ b/dabest/plotter.py @@ -68,6 +68,7 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): swarm_bars_plotter, contrast_bars_plotter, summary_bars_plotter, + delta_text_plotter, ) from ._stats_tools.effsize import ( _compute_standardizers, @@ -1639,55 +1640,15 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): ################################################### Delta numbers WIP START delta_text = plot_kwargs["delta_text"] - if delta_text: - default_delta_text_kwargs = {"color": None, "alpha": 1, "fontsize": 10, "ha": 'center', "va": 'center', "rotation": 0, "x_location": 'right', "x_coordinates": None, "y_coordinates": None} - if plot_kwargs["delta_text_kwargs"] is None: - delta_text_kwargs = default_delta_text_kwargs - else: - delta_text_kwargs = merge_two_dicts(default_delta_text_kwargs, plot_kwargs["delta_text_kwargs"]) - - delta_text_x_location = delta_text_kwargs.get('x_location') - if delta_text_x_location != 'right' and delta_text_x_location != 'left': - raise ValueError("delta_text_kwargs['x_location'] must be either 'right' or 'left'.") - delta_text_kwargs.pop('x_location') - - delta_text_colors = [delta_text_kwargs.get('color')]*(max(ticks_to_plot)+1) if delta_text_kwargs.get('color') is not None else ['black']*(max(ticks_to_plot)+1) if color_col is not None or (proportional and is_paired) or is_paired else swarm_colors - delta_text_kwargs.pop('color') - - Delta_Values = [] - for j, tick in enumerate(ticks_to_plot): - Delta_Values.append(results.difference[j]) - - delta_text_x_coordinates = delta_text_kwargs.get('x_coordinates') - delta_text_y_coordinates = delta_text_kwargs.get('y_coordinates') - - if delta_text_x_coordinates is not None: - if not isinstance(delta_text_x_coordinates, list): - raise TypeError("delta_text_kwargs['x_coordinates'] must be a list of x-coordinates.") - if len(delta_text_x_coordinates) != len(ticks_to_plot): - raise ValueError("delta_text_kwargs['x_coordinates'] must have the same length as the number of ticks to plot.") - delta_text_x_coordinates_default = False - delta_text_kwargs.pop('x_coordinates') - else: - delta_text_x_coordinates = ticks_to_plot - delta_text_x_coordinates_default = True - delta_text_kwargs.pop('x_coordinates') - - - if delta_text_y_coordinates is not None: - if not isinstance(delta_text_y_coordinates, list): - raise TypeError("delta_text_kwargs['y_coordinates'] must be a list of y-coordinates.") - if len(delta_text_y_coordinates) != len(ticks_to_plot): - raise ValueError("delta_text_kwargs['y_coordinates'] must have the same length as the number of ticks to plot.") - delta_text_kwargs.pop('y_coordinates') - else: - delta_text_y_coordinates = Delta_Values - delta_text_kwargs.pop('y_coordinates') + default_delta_text_kwargs = {"color": None, "alpha": 1, "fontsize": 10, "ha": 'center', "va": 'center', "rotation": 0, "x_location": 'right', "x_coordinates": None, "y_coordinates": None} + if plot_kwargs["delta_text_kwargs"] is None: + delta_text_kwargs = default_delta_text_kwargs + else: + delta_text_kwargs = merge_two_dicts(default_delta_text_kwargs, plot_kwargs["delta_text_kwargs"]) - for x,y,t,tick in zip(delta_text_x_coordinates, delta_text_y_coordinates,Delta_Values,ticks_to_plot): - Delta_Text = '+'+'{0:.2f}'.format(t) if t > 0 else '{0:.2f}'.format(t) - X_Adjust = 0 if not delta_text_x_coordinates_default else 0.53 if delta_text_x_location == 'right' else -0.35 - contrast_axes.text(x+X_Adjust, y, Delta_Text, color=delta_text_colors[tick],**delta_text_kwargs) + if delta_text: + delta_text_plotter(results=results, ax=contrast_axes, ticks_to_plot=ticks_to_plot, delta_text_kwargs=delta_text_kwargs, color_col=color_col, swarm_colors=swarm_colors, + is_paired=is_paired) ################################################### Delta numbers WIP END diff --git a/nbs/API/plot_tools.ipynb b/nbs/API/plot_tools.ipynb index 2150d604..020c08ff 100644 --- a/nbs/API/plot_tools.ipynb +++ b/nbs/API/plot_tools.ipynb @@ -987,7 +987,72 @@ " swarm_bars_kwargs.pop('color')\n", " for swarm_bars_x,swarm_bars_y,c in zip(np.arange(0,len(swarm_bars_order)+1,1), swarm_means, swarm_bars_colors):\n", " ax.add_patch(mpatches.Rectangle((swarm_bars_x-0.25,0),\n", - " 0.5, swarm_bars_y, zorder=-1,color=c,**swarm_bars_kwargs))\n" + " 0.5, swarm_bars_y, zorder=-1,color=c,**swarm_bars_kwargs))\n", + "\n", + "def delta_text_plotter(results: object, ax: object, ticks_to_plot: list, delta_text_kwargs: dict, color_col: str, \n", + " swarm_colors: list, is_paired: bool):\n", + " \"\"\"\n", + " Add text to the contrast plot.\n", + "\n", + " Parameters\n", + " ----------\n", + " results : object (Dataframe)\n", + " Dataframe of contrast object comparisons.\n", + " ax : object\n", + " Matplotlib axis object to plot on.\n", + " ticks_to_plot : list\n", + " List of indices of the contrast objects.\n", + " delta_text_kwargs : dict\n", + " Keyword arguments for the delta text.\n", + " color_col : str\n", + " Column name of the color column.\n", + " swarm_colors : list\n", + " List of colors used in the plot.\n", + " is_paired : bool\n", + " Whether the data is paired.\n", + " \"\"\"\n", + " \n", + " delta_text_x_location = delta_text_kwargs.get('x_location')\n", + " if delta_text_x_location != 'right' and delta_text_x_location != 'left':\n", + " raise ValueError(\"delta_text_kwargs['x_location'] must be either 'right' or 'left'.\")\n", + " delta_text_kwargs.pop('x_location')\n", + "\n", + " delta_text_colors = [delta_text_kwargs.get('color')]*(max(ticks_to_plot)+1) if delta_text_kwargs.get('color') is not None else ['black']*(max(ticks_to_plot)+1) if color_col is not None or (proportional and is_paired) or is_paired else swarm_colors\n", + " delta_text_kwargs.pop('color')\n", + "\n", + " Delta_Values = []\n", + " for j, tick in enumerate(ticks_to_plot):\n", + " Delta_Values.append(results.difference[j])\n", + "\n", + " delta_text_x_coordinates = delta_text_kwargs.get('x_coordinates')\n", + " delta_text_y_coordinates = delta_text_kwargs.get('y_coordinates')\n", + "\n", + " if delta_text_x_coordinates is not None:\n", + " if not isinstance(delta_text_x_coordinates, list):\n", + " raise TypeError(\"delta_text_kwargs['x_coordinates'] must be a list of x-coordinates.\")\n", + " if len(delta_text_x_coordinates) != len(ticks_to_plot):\n", + " raise ValueError(\"delta_text_kwargs['x_coordinates'] must have the same length as the number of ticks to plot.\")\n", + " delta_text_x_coordinates_default = False\n", + " delta_text_kwargs.pop('x_coordinates')\n", + " else:\n", + " delta_text_x_coordinates = ticks_to_plot\n", + " delta_text_x_coordinates_default = True\n", + " delta_text_kwargs.pop('x_coordinates')\n", + "\n", + " if delta_text_y_coordinates is not None:\n", + " if not isinstance(delta_text_y_coordinates, list):\n", + " raise TypeError(\"delta_text_kwargs['y_coordinates'] must be a list of y-coordinates.\")\n", + " if len(delta_text_y_coordinates) != len(ticks_to_plot):\n", + " raise ValueError(\"delta_text_kwargs['y_coordinates'] must have the same length as the number of ticks to plot.\")\n", + " delta_text_kwargs.pop('y_coordinates')\n", + " else:\n", + " delta_text_y_coordinates = Delta_Values\n", + " delta_text_kwargs.pop('y_coordinates')\n", + "\n", + " for x,y,t,tick in zip(delta_text_x_coordinates, delta_text_y_coordinates,Delta_Values,ticks_to_plot):\n", + " Delta_Text = '+'+'{0:.2f}'.format(t) if t > 0 else '{0:.2f}'.format(t)\n", + " X_Adjust = 0 if not delta_text_x_coordinates_default else 0.53 if delta_text_x_location == 'right' else -0.35\n", + " ax.text(x+X_Adjust, y, Delta_Text, color=delta_text_colors[tick],**delta_text_kwargs)\n" ] }, { diff --git a/nbs/API/plotter.ipynb b/nbs/API/plotter.ipynb index ac55e9e5..b5828240 100644 --- a/nbs/API/plotter.ipynb +++ b/nbs/API/plotter.ipynb @@ -127,6 +127,7 @@ " swarm_bars_plotter,\n", " contrast_bars_plotter,\n", " summary_bars_plotter,\n", + " delta_text_plotter,\n", " )\n", " from ._stats_tools.effsize import (\n", " _compute_standardizers,\n", @@ -1698,55 +1699,15 @@ "\n", " ################################################### Delta numbers WIP START\n", " delta_text = plot_kwargs[\"delta_text\"]\n", - " if delta_text:\n", - " default_delta_text_kwargs = {\"color\": None, \"alpha\": 1, \"fontsize\": 10, \"ha\": 'center', \"va\": 'center', \"rotation\": 0, \"x_location\": 'right', \"x_coordinates\": None, \"y_coordinates\": None}\n", - " if plot_kwargs[\"delta_text_kwargs\"] is None:\n", - " delta_text_kwargs = default_delta_text_kwargs\n", - " else:\n", - " delta_text_kwargs = merge_two_dicts(default_delta_text_kwargs, plot_kwargs[\"delta_text_kwargs\"])\n", - "\n", - " delta_text_x_location = delta_text_kwargs.get('x_location')\n", - " if delta_text_x_location != 'right' and delta_text_x_location != 'left':\n", - " raise ValueError(\"delta_text_kwargs['x_location'] must be either 'right' or 'left'.\")\n", - " delta_text_kwargs.pop('x_location')\n", - "\n", - " delta_text_colors = [delta_text_kwargs.get('color')]*(max(ticks_to_plot)+1) if delta_text_kwargs.get('color') is not None else ['black']*(max(ticks_to_plot)+1) if color_col is not None or (proportional and is_paired) or is_paired else swarm_colors\n", - " delta_text_kwargs.pop('color')\n", - "\n", - " Delta_Values = []\n", - " for j, tick in enumerate(ticks_to_plot):\n", - " Delta_Values.append(results.difference[j])\n", - "\n", - " delta_text_x_coordinates = delta_text_kwargs.get('x_coordinates')\n", - " delta_text_y_coordinates = delta_text_kwargs.get('y_coordinates')\n", - "\n", - " if delta_text_x_coordinates is not None:\n", - " if not isinstance(delta_text_x_coordinates, list):\n", - " raise TypeError(\"delta_text_kwargs['x_coordinates'] must be a list of x-coordinates.\")\n", - " if len(delta_text_x_coordinates) != len(ticks_to_plot):\n", - " raise ValueError(\"delta_text_kwargs['x_coordinates'] must have the same length as the number of ticks to plot.\")\n", - " delta_text_x_coordinates_default = False\n", - " delta_text_kwargs.pop('x_coordinates')\n", - " else:\n", - " delta_text_x_coordinates = ticks_to_plot\n", - " delta_text_x_coordinates_default = True\n", - " delta_text_kwargs.pop('x_coordinates')\n", - "\n", - "\n", - " if delta_text_y_coordinates is not None:\n", - " if not isinstance(delta_text_y_coordinates, list):\n", - " raise TypeError(\"delta_text_kwargs['y_coordinates'] must be a list of y-coordinates.\")\n", - " if len(delta_text_y_coordinates) != len(ticks_to_plot):\n", - " raise ValueError(\"delta_text_kwargs['y_coordinates'] must have the same length as the number of ticks to plot.\")\n", - " delta_text_kwargs.pop('y_coordinates')\n", - " else:\n", - " delta_text_y_coordinates = Delta_Values\n", - " delta_text_kwargs.pop('y_coordinates')\n", + " default_delta_text_kwargs = {\"color\": None, \"alpha\": 1, \"fontsize\": 10, \"ha\": 'center', \"va\": 'center', \"rotation\": 0, \"x_location\": 'right', \"x_coordinates\": None, \"y_coordinates\": None}\n", + " if plot_kwargs[\"delta_text_kwargs\"] is None:\n", + " delta_text_kwargs = default_delta_text_kwargs\n", + " else:\n", + " delta_text_kwargs = merge_two_dicts(default_delta_text_kwargs, plot_kwargs[\"delta_text_kwargs\"])\n", "\n", - " for x,y,t,tick in zip(delta_text_x_coordinates, delta_text_y_coordinates,Delta_Values,ticks_to_plot):\n", - " Delta_Text = '+'+'{0:.2f}'.format(t) if t > 0 else '{0:.2f}'.format(t)\n", - " X_Adjust = 0 if not delta_text_x_coordinates_default else 0.53 if delta_text_x_location == 'right' else -0.35\n", - " contrast_axes.text(x+X_Adjust, y, Delta_Text, color=delta_text_colors[tick],**delta_text_kwargs)\n", + " if delta_text:\n", + " delta_text_plotter(results=results, ax=contrast_axes, ticks_to_plot=ticks_to_plot, delta_text_kwargs=delta_text_kwargs, color_col=color_col, swarm_colors=swarm_colors, \n", + " is_paired=is_paired)\n", "\n", " ################################################### Delta numbers WIP END\n", "\n", From b4763ca0406970c161bb3d7b8f413be9f337b082 Mon Sep 17 00:00:00 2001 From: JAnns98 Date: Fri, 30 Aug 2024 10:51:51 +0800 Subject: [PATCH 07/42] Bug fix and increased default alpha for contrast and swarm bars --- dabest/_effsize_objects.py | 4 ++-- dabest/plot_tools.py | 2 +- dabest/plotter.py | 6 +++--- nbs/API/effsize_objects.ipynb | 4 ++-- nbs/API/plot_tools.ipynb | 2 +- nbs/API/plotter.ipynb | 6 +++--- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/dabest/_effsize_objects.py b/dabest/_effsize_objects.py index c49a696c..f3cbb873 100644 --- a/dabest/_effsize_objects.py +++ b/dabest/_effsize_objects.py @@ -1177,11 +1177,11 @@ def plot( contrast_bars_kwargs : dict, default None Pass relevant keyword arguments to the contrast bars. Pass any keyword arguments accepted by matplotlib.patches.Rectangle here, as a string. If None, the following keywords are passed: - {"color": None, "alpha": 0.15} + {"color": None, "alpha": 0.3} swarm_bars_kwargs : dict, default None Pass relevant keyword arguments to the swarm bars. Pass any keyword arguments accepted by matplotlib.patches.Rectangle here, as a string. If None, the following keywords are passed: - {"color": None, "alpha": 0.1} + {"color": None, "alpha": 0.3} summary_bars : list, default None Pass a list of indices of the contrast objects to have summary bars displayed on the plot. diff --git a/dabest/plot_tools.py b/dabest/plot_tools.py index 9a37c2ca..e5244bba 100644 --- a/dabest/plot_tools.py +++ b/dabest/plot_tools.py @@ -936,7 +936,7 @@ def swarm_bars_plotter(plot_data: object, xvar: str, yvar: str, ax: object, 0.5, swarm_bars_y, zorder=-1,color=c,**swarm_bars_kwargs)) def delta_text_plotter(results: object, ax: object, ticks_to_plot: list, delta_text_kwargs: dict, color_col: str, - swarm_colors: list, is_paired: bool): + swarm_colors: list, is_paired: bool, proportional: bool): """ Add text to the contrast plot. diff --git a/dabest/plotter.py b/dabest/plotter.py index b30254a4..2858b08c 100644 --- a/dabest/plotter.py +++ b/dabest/plotter.py @@ -1602,7 +1602,7 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): # Swarm bars WIP swarm_bars = plot_kwargs["swarm_bars"] - default_swarm_bars_kwargs = {"color": None, "alpha": 0.1} + default_swarm_bars_kwargs = {"color": None, "alpha": 0.3} if plot_kwargs["swarm_bars_kwargs"] is None: swarm_bars_kwargs = default_swarm_bars_kwargs else: @@ -1613,7 +1613,7 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): # Contrast bars WIP contrast_bars = plot_kwargs["contrast_bars"] - default_contrast_bars_kwargs = {"color": None, "alpha": 0.15} + default_contrast_bars_kwargs = {"color": None, "alpha": 0.3} if plot_kwargs["contrast_bars_kwargs"] is None: contrast_bars_kwargs = default_contrast_bars_kwargs else: @@ -1648,7 +1648,7 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): if delta_text: delta_text_plotter(results=results, ax=contrast_axes, ticks_to_plot=ticks_to_plot, delta_text_kwargs=delta_text_kwargs, color_col=color_col, swarm_colors=swarm_colors, - is_paired=is_paired) + is_paired=is_paired,proportional=proportional) ################################################### Delta numbers WIP END diff --git a/nbs/API/effsize_objects.ipynb b/nbs/API/effsize_objects.ipynb index bde78b53..b2eae004 100644 --- a/nbs/API/effsize_objects.ipynb +++ b/nbs/API/effsize_objects.ipynb @@ -1338,11 +1338,11 @@ " contrast_bars_kwargs : dict, default None\n", " Pass relevant keyword arguments to the contrast bars. Pass any keyword arguments accepted by \n", " matplotlib.patches.Rectangle here, as a string. If None, the following keywords are passed:\n", - " {\"color\": None, \"alpha\": 0.15}\n", + " {\"color\": None, \"alpha\": 0.3}\n", " swarm_bars_kwargs : dict, default None\n", " Pass relevant keyword arguments to the swarm bars. Pass any keyword arguments accepted by \n", " matplotlib.patches.Rectangle here, as a string. If None, the following keywords are passed:\n", - " {\"color\": None, \"alpha\": 0.1}\n", + " {\"color\": None, \"alpha\": 0.3}\n", "\n", " summary_bars : list, default None\n", " Pass a list of indices of the contrast objects to have summary bars displayed on the plot.\n", diff --git a/nbs/API/plot_tools.ipynb b/nbs/API/plot_tools.ipynb index 020c08ff..6c3acf50 100644 --- a/nbs/API/plot_tools.ipynb +++ b/nbs/API/plot_tools.ipynb @@ -990,7 +990,7 @@ " 0.5, swarm_bars_y, zorder=-1,color=c,**swarm_bars_kwargs))\n", "\n", "def delta_text_plotter(results: object, ax: object, ticks_to_plot: list, delta_text_kwargs: dict, color_col: str, \n", - " swarm_colors: list, is_paired: bool):\n", + " swarm_colors: list, is_paired: bool, proportional: bool):\n", " \"\"\"\n", " Add text to the contrast plot.\n", "\n", diff --git a/nbs/API/plotter.ipynb b/nbs/API/plotter.ipynb index b5828240..bd12cf98 100644 --- a/nbs/API/plotter.ipynb +++ b/nbs/API/plotter.ipynb @@ -1661,7 +1661,7 @@ "\n", " # Swarm bars WIP\n", " swarm_bars = plot_kwargs[\"swarm_bars\"]\n", - " default_swarm_bars_kwargs = {\"color\": None, \"alpha\": 0.1}\n", + " default_swarm_bars_kwargs = {\"color\": None, \"alpha\": 0.3}\n", " if plot_kwargs[\"swarm_bars_kwargs\"] is None:\n", " swarm_bars_kwargs = default_swarm_bars_kwargs\n", " else:\n", @@ -1672,7 +1672,7 @@ "\n", " # Contrast bars WIP\n", " contrast_bars = plot_kwargs[\"contrast_bars\"]\n", - " default_contrast_bars_kwargs = {\"color\": None, \"alpha\": 0.15}\n", + " default_contrast_bars_kwargs = {\"color\": None, \"alpha\": 0.3}\n", " if plot_kwargs[\"contrast_bars_kwargs\"] is None:\n", " contrast_bars_kwargs = default_contrast_bars_kwargs\n", " else:\n", @@ -1707,7 +1707,7 @@ "\n", " if delta_text:\n", " delta_text_plotter(results=results, ax=contrast_axes, ticks_to_plot=ticks_to_plot, delta_text_kwargs=delta_text_kwargs, color_col=color_col, swarm_colors=swarm_colors, \n", - " is_paired=is_paired)\n", + " is_paired=is_paired,proportional=proportional)\n", "\n", " ################################################### Delta numbers WIP END\n", "\n", From 43d61b340c92a7bc79e2bdee1eaa3878cb966cb2 Mon Sep 17 00:00:00 2001 From: JAnns98 Date: Fri, 30 Aug 2024 11:08:44 +0800 Subject: [PATCH 08/42] Edits to delta-text to fit better on plots (especially when float_contrast=True --- dabest/plot_tools.py | 12 ++++++++++-- dabest/plotter.py | 2 +- nbs/API/plot_tools.ipynb | 12 ++++++++++-- nbs/API/plotter.ipynb | 2 +- 4 files changed, 22 insertions(+), 6 deletions(-) diff --git a/dabest/plot_tools.py b/dabest/plot_tools.py index e5244bba..6b95bcc3 100644 --- a/dabest/plot_tools.py +++ b/dabest/plot_tools.py @@ -936,7 +936,7 @@ def swarm_bars_plotter(plot_data: object, xvar: str, yvar: str, ax: object, 0.5, swarm_bars_y, zorder=-1,color=c,**swarm_bars_kwargs)) def delta_text_plotter(results: object, ax: object, ticks_to_plot: list, delta_text_kwargs: dict, color_col: str, - swarm_colors: list, is_paired: bool, proportional: bool): + swarm_colors: list, is_paired: bool, proportional: bool, float_contrast: bool): """ Add text to the contrast plot. @@ -956,11 +956,19 @@ def delta_text_plotter(results: object, ax: object, ticks_to_plot: list, delta_t List of colors used in the plot. is_paired : bool Whether the data is paired. + proportional : bool + Whether the data is proportional. + float_contrast : bool + Whether the DABEST plot uses Gardner-Altman or Cummings """ delta_text_x_location = delta_text_kwargs.get('x_location') if delta_text_x_location != 'right' and delta_text_x_location != 'left': raise ValueError("delta_text_kwargs['x_location'] must be either 'right' or 'left'.") + if float_contrast: + delta_text_x_location = 'left' + if delta_text_kwargs.get('va') == 'center': + delta_text_kwargs["va"] = 'bottom' delta_text_kwargs.pop('x_location') delta_text_colors = [delta_text_kwargs.get('color')]*(max(ticks_to_plot)+1) if delta_text_kwargs.get('color') is not None else ['black']*(max(ticks_to_plot)+1) if color_col is not None or (proportional and is_paired) or is_paired else swarm_colors @@ -997,7 +1005,7 @@ def delta_text_plotter(results: object, ax: object, ticks_to_plot: list, delta_t for x,y,t,tick in zip(delta_text_x_coordinates, delta_text_y_coordinates,Delta_Values,ticks_to_plot): Delta_Text = '+'+'{0:.2f}'.format(t) if t > 0 else '{0:.2f}'.format(t) - X_Adjust = 0 if not delta_text_x_coordinates_default else 0.53 if delta_text_x_location == 'right' else -0.35 + X_Adjust = 0 if not delta_text_x_coordinates_default else 0.48 if delta_text_x_location == 'right' else -0.35 ax.text(x+X_Adjust, y, Delta_Text, color=delta_text_colors[tick],**delta_text_kwargs) diff --git a/dabest/plotter.py b/dabest/plotter.py index 2858b08c..273daaff 100644 --- a/dabest/plotter.py +++ b/dabest/plotter.py @@ -1648,7 +1648,7 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): if delta_text: delta_text_plotter(results=results, ax=contrast_axes, ticks_to_plot=ticks_to_plot, delta_text_kwargs=delta_text_kwargs, color_col=color_col, swarm_colors=swarm_colors, - is_paired=is_paired,proportional=proportional) + is_paired=is_paired,proportional=proportional, float_contrast=float_contrast) ################################################### Delta numbers WIP END diff --git a/nbs/API/plot_tools.ipynb b/nbs/API/plot_tools.ipynb index 6c3acf50..52ec211d 100644 --- a/nbs/API/plot_tools.ipynb +++ b/nbs/API/plot_tools.ipynb @@ -990,7 +990,7 @@ " 0.5, swarm_bars_y, zorder=-1,color=c,**swarm_bars_kwargs))\n", "\n", "def delta_text_plotter(results: object, ax: object, ticks_to_plot: list, delta_text_kwargs: dict, color_col: str, \n", - " swarm_colors: list, is_paired: bool, proportional: bool):\n", + " swarm_colors: list, is_paired: bool, proportional: bool, float_contrast: bool):\n", " \"\"\"\n", " Add text to the contrast plot.\n", "\n", @@ -1010,11 +1010,19 @@ " List of colors used in the plot.\n", " is_paired : bool\n", " Whether the data is paired.\n", + " proportional : bool\n", + " Whether the data is proportional.\n", + " float_contrast : bool\n", + " Whether the DABEST plot uses Gardner-Altman or Cummings\n", " \"\"\"\n", " \n", " delta_text_x_location = delta_text_kwargs.get('x_location')\n", " if delta_text_x_location != 'right' and delta_text_x_location != 'left':\n", " raise ValueError(\"delta_text_kwargs['x_location'] must be either 'right' or 'left'.\")\n", + " if float_contrast:\n", + " delta_text_x_location = 'left'\n", + " if delta_text_kwargs.get('va') == 'center':\n", + " delta_text_kwargs[\"va\"] = 'bottom'\n", " delta_text_kwargs.pop('x_location')\n", "\n", " delta_text_colors = [delta_text_kwargs.get('color')]*(max(ticks_to_plot)+1) if delta_text_kwargs.get('color') is not None else ['black']*(max(ticks_to_plot)+1) if color_col is not None or (proportional and is_paired) or is_paired else swarm_colors\n", @@ -1051,7 +1059,7 @@ "\n", " for x,y,t,tick in zip(delta_text_x_coordinates, delta_text_y_coordinates,Delta_Values,ticks_to_plot):\n", " Delta_Text = '+'+'{0:.2f}'.format(t) if t > 0 else '{0:.2f}'.format(t)\n", - " X_Adjust = 0 if not delta_text_x_coordinates_default else 0.53 if delta_text_x_location == 'right' else -0.35\n", + " X_Adjust = 0 if not delta_text_x_coordinates_default else 0.48 if delta_text_x_location == 'right' else -0.35\n", " ax.text(x+X_Adjust, y, Delta_Text, color=delta_text_colors[tick],**delta_text_kwargs)\n" ] }, diff --git a/nbs/API/plotter.ipynb b/nbs/API/plotter.ipynb index bd12cf98..5d05dbbf 100644 --- a/nbs/API/plotter.ipynb +++ b/nbs/API/plotter.ipynb @@ -1707,7 +1707,7 @@ "\n", " if delta_text:\n", " delta_text_plotter(results=results, ax=contrast_axes, ticks_to_plot=ticks_to_plot, delta_text_kwargs=delta_text_kwargs, color_col=color_col, swarm_colors=swarm_colors, \n", - " is_paired=is_paired,proportional=proportional)\n", + " is_paired=is_paired,proportional=proportional, float_contrast=float_contrast)\n", "\n", " ################################################### Delta numbers WIP END\n", "\n", From 83201f93c67b84db168e59ed480effc7f1ce8853 Mon Sep 17 00:00:00 2001 From: JAnns98 Date: Fri, 30 Aug 2024 12:22:49 +0800 Subject: [PATCH 09/42] delta text bug fixes and added delta-delta and mini-meta support --- dabest/plot_tools.py | 33 ++++++++++++++++++++++++++++----- dabest/plotter.py | 6 ++++-- nbs/API/plot_tools.ipynb | 34 +++++++++++++++++++++++++++++----- nbs/API/plotter.ipynb | 6 ++++-- 4 files changed, 65 insertions(+), 14 deletions(-) diff --git a/dabest/plot_tools.py b/dabest/plot_tools.py index 6b95bcc3..d87d0232 100644 --- a/dabest/plot_tools.py +++ b/dabest/plot_tools.py @@ -935,8 +935,9 @@ def swarm_bars_plotter(plot_data: object, xvar: str, yvar: str, ax: object, ax.add_patch(mpatches.Rectangle((swarm_bars_x-0.25,0), 0.5, swarm_bars_y, zorder=-1,color=c,**swarm_bars_kwargs)) -def delta_text_plotter(results: object, ax: object, ticks_to_plot: list, delta_text_kwargs: dict, color_col: str, - swarm_colors: list, is_paired: bool, proportional: bool, float_contrast: bool): +def delta_text_plotter(results: object, ax_to_plot: object, swarm_plot_ax: object, ticks_to_plot: list, delta_text_kwargs: dict, color_col: str, + swarm_colors: list, is_paired: bool, proportional: bool, float_contrast: bool, + show_mini_meta: bool, mini_meta_delta: object, show_delta2: bool, delta_delta: object): """ Add text to the contrast plot. @@ -944,8 +945,10 @@ def delta_text_plotter(results: object, ax: object, ticks_to_plot: list, delta_t ---------- results : object (Dataframe) Dataframe of contrast object comparisons. - ax : object + ax_to_plot : object Matplotlib axis object to plot on. + swarm_plot_ax : object + Matplotlib axis object of the swarm plot. ticks_to_plot : list List of indices of the contrast objects. delta_text_kwargs : dict @@ -960,6 +963,14 @@ def delta_text_plotter(results: object, ax: object, ticks_to_plot: list, delta_t Whether the data is proportional. float_contrast : bool Whether the DABEST plot uses Gardner-Altman or Cummings + show_mini_meta : bool + Whether to show the mini meta-analysis. + mini_meta_delta : object + Mini meta-analysis object. + show_delta2 : bool + Whether to show the delta-delta. + delta_delta : object + delta-delta object. """ delta_text_x_location = delta_text_kwargs.get('x_location') @@ -967,8 +978,10 @@ def delta_text_plotter(results: object, ax: object, ticks_to_plot: list, delta_t raise ValueError("delta_text_kwargs['x_location'] must be either 'right' or 'left'.") if float_contrast: delta_text_x_location = 'left' - if delta_text_kwargs.get('va') == 'center': + if results.difference[0] >= 0: delta_text_kwargs["va"] = 'bottom' + else: + delta_text_kwargs["va"] = 'top' delta_text_kwargs.pop('x_location') delta_text_colors = [delta_text_kwargs.get('color')]*(max(ticks_to_plot)+1) if delta_text_kwargs.get('color') is not None else ['black']*(max(ticks_to_plot)+1) if color_col is not None or (proportional and is_paired) or is_paired else swarm_colors @@ -1006,8 +1019,18 @@ def delta_text_plotter(results: object, ax: object, ticks_to_plot: list, delta_t for x,y,t,tick in zip(delta_text_x_coordinates, delta_text_y_coordinates,Delta_Values,ticks_to_plot): Delta_Text = '+'+'{0:.2f}'.format(t) if t > 0 else '{0:.2f}'.format(t) X_Adjust = 0 if not delta_text_x_coordinates_default else 0.48 if delta_text_x_location == 'right' else -0.35 - ax.text(x+X_Adjust, y, Delta_Text, color=delta_text_colors[tick],**delta_text_kwargs) + ax_to_plot.text(x+X_Adjust, y, Delta_Text, color=delta_text_colors[tick], **delta_text_kwargs) + + if show_mini_meta: + delta_text_mini_meta = '+'+'{0:.2f}'.format(mini_meta_delta.difference) if mini_meta_delta.difference > 0 else '{0:.2f}'.format(mini_meta_delta.difference) + ax_to_plot.text(max(swarm_plot_ax.get_xticks())+2+X_Adjust, mini_meta_delta.difference, delta_text_mini_meta, color='black',**delta_text_kwargs) + + if show_delta2: + delta_text_delta_delta_va = 'bottom' if delta_delta.difference >= 0 else 'top' + delta_text_kwargs.pop('va') + delta_text_delta_delta = '+'+'{0:.2f}'.format(delta_delta.difference) if delta_delta.difference > 0 else '{0:.2f}'.format(delta_delta.difference) + ax_to_plot.text(max(swarm_plot_ax.get_xticks())+2-0.35, delta_delta.difference, delta_text_delta_delta, va=delta_text_delta_delta_va,color='black',**delta_text_kwargs) # %% ../nbs/API/plot_tools.ipynb 6 def swarmplot( diff --git a/dabest/plotter.py b/dabest/plotter.py index 273daaff..95be00ca 100644 --- a/dabest/plotter.py +++ b/dabest/plotter.py @@ -1647,8 +1647,10 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): delta_text_kwargs = merge_two_dicts(default_delta_text_kwargs, plot_kwargs["delta_text_kwargs"]) if delta_text: - delta_text_plotter(results=results, ax=contrast_axes, ticks_to_plot=ticks_to_plot, delta_text_kwargs=delta_text_kwargs, color_col=color_col, swarm_colors=swarm_colors, - is_paired=is_paired,proportional=proportional, float_contrast=float_contrast) + delta_text_plotter(results=results, ax_to_plot=contrast_axes, swarm_plot_ax=rawdata_axes, ticks_to_plot=ticks_to_plot, delta_text_kwargs=delta_text_kwargs, color_col=color_col, swarm_colors=swarm_colors, + is_paired=is_paired,proportional=proportional, float_contrast=float_contrast, show_mini_meta=show_mini_meta, + mini_meta_delta=mini_meta_delta if show_mini_meta else None, show_delta2=show_delta2, + delta_delta=delta_delta if show_delta2 else None) ################################################### Delta numbers WIP END diff --git a/nbs/API/plot_tools.ipynb b/nbs/API/plot_tools.ipynb index 52ec211d..3110f4b3 100644 --- a/nbs/API/plot_tools.ipynb +++ b/nbs/API/plot_tools.ipynb @@ -989,8 +989,9 @@ " ax.add_patch(mpatches.Rectangle((swarm_bars_x-0.25,0),\n", " 0.5, swarm_bars_y, zorder=-1,color=c,**swarm_bars_kwargs))\n", "\n", - "def delta_text_plotter(results: object, ax: object, ticks_to_plot: list, delta_text_kwargs: dict, color_col: str, \n", - " swarm_colors: list, is_paired: bool, proportional: bool, float_contrast: bool):\n", + "def delta_text_plotter(results: object, ax_to_plot: object, swarm_plot_ax: object, ticks_to_plot: list, delta_text_kwargs: dict, color_col: str, \n", + " swarm_colors: list, is_paired: bool, proportional: bool, float_contrast: bool,\n", + " show_mini_meta: bool, mini_meta_delta: object, show_delta2: bool, delta_delta: object):\n", " \"\"\"\n", " Add text to the contrast plot.\n", "\n", @@ -998,8 +999,10 @@ " ----------\n", " results : object (Dataframe)\n", " Dataframe of contrast object comparisons.\n", - " ax : object\n", + " ax_to_plot : object\n", " Matplotlib axis object to plot on.\n", + " swarm_plot_ax : object\n", + " Matplotlib axis object of the swarm plot.\n", " ticks_to_plot : list\n", " List of indices of the contrast objects.\n", " delta_text_kwargs : dict\n", @@ -1014,6 +1017,14 @@ " Whether the data is proportional.\n", " float_contrast : bool\n", " Whether the DABEST plot uses Gardner-Altman or Cummings\n", + " show_mini_meta : bool\n", + " Whether to show the mini meta-analysis.\n", + " mini_meta_delta : object\n", + " Mini meta-analysis object.\n", + " show_delta2 : bool\n", + " Whether to show the delta-delta.\n", + " delta_delta : object\n", + " delta-delta object.\n", " \"\"\"\n", " \n", " delta_text_x_location = delta_text_kwargs.get('x_location')\n", @@ -1021,8 +1032,10 @@ " raise ValueError(\"delta_text_kwargs['x_location'] must be either 'right' or 'left'.\")\n", " if float_contrast:\n", " delta_text_x_location = 'left'\n", - " if delta_text_kwargs.get('va') == 'center':\n", + " if results.difference[0] >= 0:\n", " delta_text_kwargs[\"va\"] = 'bottom'\n", + " else:\n", + " delta_text_kwargs[\"va\"] = 'top'\n", " delta_text_kwargs.pop('x_location')\n", "\n", " delta_text_colors = [delta_text_kwargs.get('color')]*(max(ticks_to_plot)+1) if delta_text_kwargs.get('color') is not None else ['black']*(max(ticks_to_plot)+1) if color_col is not None or (proportional and is_paired) or is_paired else swarm_colors\n", @@ -1060,7 +1073,18 @@ " for x,y,t,tick in zip(delta_text_x_coordinates, delta_text_y_coordinates,Delta_Values,ticks_to_plot):\n", " Delta_Text = '+'+'{0:.2f}'.format(t) if t > 0 else '{0:.2f}'.format(t)\n", " X_Adjust = 0 if not delta_text_x_coordinates_default else 0.48 if delta_text_x_location == 'right' else -0.35\n", - " ax.text(x+X_Adjust, y, Delta_Text, color=delta_text_colors[tick],**delta_text_kwargs)\n" + " ax_to_plot.text(x+X_Adjust, y, Delta_Text, color=delta_text_colors[tick], **delta_text_kwargs)\n", + "\n", + "\n", + " if show_mini_meta:\n", + " delta_text_mini_meta = '+'+'{0:.2f}'.format(mini_meta_delta.difference) if mini_meta_delta.difference > 0 else '{0:.2f}'.format(mini_meta_delta.difference)\n", + " ax_to_plot.text(max(swarm_plot_ax.get_xticks())+2+X_Adjust, mini_meta_delta.difference, delta_text_mini_meta, color='black',**delta_text_kwargs)\n", + "\n", + " if show_delta2:\n", + " delta_text_delta_delta_va = 'bottom' if delta_delta.difference >= 0 else 'top'\n", + " delta_text_kwargs.pop('va')\n", + " delta_text_delta_delta = '+'+'{0:.2f}'.format(delta_delta.difference) if delta_delta.difference > 0 else '{0:.2f}'.format(delta_delta.difference)\n", + " ax_to_plot.text(max(swarm_plot_ax.get_xticks())+2-0.35, delta_delta.difference, delta_text_delta_delta, va=delta_text_delta_delta_va,color='black',**delta_text_kwargs)" ] }, { diff --git a/nbs/API/plotter.ipynb b/nbs/API/plotter.ipynb index 5d05dbbf..bcc248a8 100644 --- a/nbs/API/plotter.ipynb +++ b/nbs/API/plotter.ipynb @@ -1706,8 +1706,10 @@ " delta_text_kwargs = merge_two_dicts(default_delta_text_kwargs, plot_kwargs[\"delta_text_kwargs\"])\n", "\n", " if delta_text:\n", - " delta_text_plotter(results=results, ax=contrast_axes, ticks_to_plot=ticks_to_plot, delta_text_kwargs=delta_text_kwargs, color_col=color_col, swarm_colors=swarm_colors, \n", - " is_paired=is_paired,proportional=proportional, float_contrast=float_contrast)\n", + " delta_text_plotter(results=results, ax_to_plot=contrast_axes, swarm_plot_ax=rawdata_axes, ticks_to_plot=ticks_to_plot, delta_text_kwargs=delta_text_kwargs, color_col=color_col, swarm_colors=swarm_colors, \n", + " is_paired=is_paired,proportional=proportional, float_contrast=float_contrast, show_mini_meta=show_mini_meta, \n", + " mini_meta_delta=mini_meta_delta if show_mini_meta else None, show_delta2=show_delta2, \n", + " delta_delta=delta_delta if show_delta2 else None)\n", "\n", " ################################################### Delta numbers WIP END\n", "\n", From 74d3f3c00e90a77da9356b7fd198edc6be987364 Mon Sep 17 00:00:00 2001 From: JAnns98 Date: Mon, 2 Sep 2024 17:04:58 +0800 Subject: [PATCH 10/42] Bug fixes and allowing contrast bars to work on float_contrast plots --- dabest/plot_tools.py | 2 +- dabest/plotter.py | 2 +- nbs/API/plot_tools.ipynb | 2 +- nbs/API/plotter.ipynb | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/dabest/plot_tools.py b/dabest/plot_tools.py index d87d0232..a00b5332 100644 --- a/dabest/plot_tools.py +++ b/dabest/plot_tools.py @@ -1018,7 +1018,7 @@ def delta_text_plotter(results: object, ax_to_plot: object, swarm_plot_ax: objec for x,y,t,tick in zip(delta_text_x_coordinates, delta_text_y_coordinates,Delta_Values,ticks_to_plot): Delta_Text = '+'+'{0:.2f}'.format(t) if t > 0 else '{0:.2f}'.format(t) - X_Adjust = 0 if not delta_text_x_coordinates_default else 0.48 if delta_text_x_location == 'right' else -0.35 + X_Adjust = 0 if not delta_text_x_coordinates_default else 0.48 if delta_text_x_location == 'right' else -0.38 ax_to_plot.text(x+X_Adjust, y, Delta_Text, color=delta_text_colors[tick], **delta_text_kwargs) diff --git a/dabest/plotter.py b/dabest/plotter.py index 95be00ca..0400310c 100644 --- a/dabest/plotter.py +++ b/dabest/plotter.py @@ -1618,7 +1618,7 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): contrast_bars_kwargs = default_contrast_bars_kwargs else: contrast_bars_kwargs = merge_two_dicts(default_contrast_bars_kwargs, plot_kwargs["contrast_bars_kwargs"]) - if contrast_bars and not float_contrast: + if contrast_bars: contrast_bars_plotter(results=results, ax_to_plot=contrast_axes, swarm_plot_ax=rawdata_axes,ticks_to_plot=ticks_to_plot, contrast_bars_kwargs=contrast_bars_kwargs, color_col=color_col, swarm_colors=swarm_colors, show_mini_meta=show_mini_meta, mini_meta_delta=mini_meta_delta if show_mini_meta else None, show_delta2=show_delta2, diff --git a/nbs/API/plot_tools.ipynb b/nbs/API/plot_tools.ipynb index 3110f4b3..8325c649 100644 --- a/nbs/API/plot_tools.ipynb +++ b/nbs/API/plot_tools.ipynb @@ -1072,7 +1072,7 @@ "\n", " for x,y,t,tick in zip(delta_text_x_coordinates, delta_text_y_coordinates,Delta_Values,ticks_to_plot):\n", " Delta_Text = '+'+'{0:.2f}'.format(t) if t > 0 else '{0:.2f}'.format(t)\n", - " X_Adjust = 0 if not delta_text_x_coordinates_default else 0.48 if delta_text_x_location == 'right' else -0.35\n", + " X_Adjust = 0 if not delta_text_x_coordinates_default else 0.48 if delta_text_x_location == 'right' else -0.38\n", " ax_to_plot.text(x+X_Adjust, y, Delta_Text, color=delta_text_colors[tick], **delta_text_kwargs)\n", "\n", "\n", diff --git a/nbs/API/plotter.ipynb b/nbs/API/plotter.ipynb index bcc248a8..20cbf27f 100644 --- a/nbs/API/plotter.ipynb +++ b/nbs/API/plotter.ipynb @@ -1677,7 +1677,7 @@ " contrast_bars_kwargs = default_contrast_bars_kwargs\n", " else:\n", " contrast_bars_kwargs = merge_two_dicts(default_contrast_bars_kwargs, plot_kwargs[\"contrast_bars_kwargs\"])\n", - " if contrast_bars and not float_contrast:\n", + " if contrast_bars:\n", " contrast_bars_plotter(results=results, ax_to_plot=contrast_axes, swarm_plot_ax=rawdata_axes,ticks_to_plot=ticks_to_plot, \n", " contrast_bars_kwargs=contrast_bars_kwargs, color_col=color_col, swarm_colors=swarm_colors, show_mini_meta=show_mini_meta, \n", " mini_meta_delta=mini_meta_delta if show_mini_meta else None, show_delta2=show_delta2, \n", From e196bc0c903e45511664d975ce251f28a1bff62c Mon Sep 17 00:00:00 2001 From: JAnns98 Date: Fri, 6 Sep 2024 10:35:08 +0800 Subject: [PATCH 11/42] Bug fixes and cleaning up delta code --- dabest/plot_tools.py | 53 +++++++++++++++++++--------------------- nbs/API/plot_tools.ipynb | 53 +++++++++++++++++++--------------------- 2 files changed, 50 insertions(+), 56 deletions(-) diff --git a/dabest/plot_tools.py b/dabest/plot_tools.py index a00b5332..4ed1130c 100644 --- a/dabest/plot_tools.py +++ b/dabest/plot_tools.py @@ -972,65 +972,62 @@ def delta_text_plotter(results: object, ax_to_plot: object, swarm_plot_ax: objec delta_delta : object delta-delta object. """ - + # Begin checks delta_text_x_location = delta_text_kwargs.get('x_location') if delta_text_x_location != 'right' and delta_text_x_location != 'left': raise ValueError("delta_text_kwargs['x_location'] must be either 'right' or 'left'.") if float_contrast: delta_text_x_location = 'left' - if results.difference[0] >= 0: - delta_text_kwargs["va"] = 'bottom' - else: - delta_text_kwargs["va"] = 'top' + delta_text_kwargs["va"] = 'bottom' if results.difference[0] >= 0 else 'top' delta_text_kwargs.pop('x_location') delta_text_colors = [delta_text_kwargs.get('color')]*(max(ticks_to_plot)+1) if delta_text_kwargs.get('color') is not None else ['black']*(max(ticks_to_plot)+1) if color_col is not None or (proportional and is_paired) or is_paired else swarm_colors + if show_mini_meta or show_delta2: delta_text_colors.append('black') delta_text_kwargs.pop('color') + total_ticks = len(ticks_to_plot) + 1 if show_mini_meta or show_delta2 else len(ticks_to_plot) + + # Collect the Y-values for the delta text Delta_Values = [] for j, tick in enumerate(ticks_to_plot): Delta_Values.append(results.difference[j]) + if show_delta2: Delta_Values.append(delta_delta.difference) + if show_mini_meta: Delta_Values.append(mini_meta_delta.difference) + # Collect the X-coordinates for the delta text delta_text_x_coordinates = delta_text_kwargs.get('x_coordinates') - delta_text_y_coordinates = delta_text_kwargs.get('y_coordinates') if delta_text_x_coordinates is not None: if not isinstance(delta_text_x_coordinates, list): raise TypeError("delta_text_kwargs['x_coordinates'] must be a list of x-coordinates.") - if len(delta_text_x_coordinates) != len(ticks_to_plot): + if len(delta_text_x_coordinates) != len(total_ticks): raise ValueError("delta_text_kwargs['x_coordinates'] must have the same length as the number of ticks to plot.") - delta_text_x_coordinates_default = False - delta_text_kwargs.pop('x_coordinates') else: delta_text_x_coordinates = ticks_to_plot - delta_text_x_coordinates_default = True - delta_text_kwargs.pop('x_coordinates') + X_Adjust = 0.48 if delta_text_x_location == 'right' else -0.38 + delta_text_x_coordinates = [x+X_Adjust for x in delta_text_x_coordinates] + if show_mini_meta: delta_text_x_coordinates.append(max(swarm_plot_ax.get_xticks())+2+X_Adjust) + if show_delta2: delta_text_x_coordinates.append(max(swarm_plot_ax.get_xticks())+2-0.35) + if show_mini_meta or show_delta2: ticks_to_plot.append(max(ticks_to_plot)+1) + delta_text_kwargs.pop('x_coordinates') + + # Collect the Y-coordinates for the delta text + delta_text_y_coordinates = delta_text_kwargs.get('y_coordinates') if delta_text_y_coordinates is not None: if not isinstance(delta_text_y_coordinates, list): raise TypeError("delta_text_kwargs['y_coordinates'] must be a list of y-coordinates.") - if len(delta_text_y_coordinates) != len(ticks_to_plot): + if len(delta_text_y_coordinates) != len(total_ticks): raise ValueError("delta_text_kwargs['y_coordinates'] must have the same length as the number of ticks to plot.") - delta_text_kwargs.pop('y_coordinates') else: delta_text_y_coordinates = Delta_Values - delta_text_kwargs.pop('y_coordinates') - for x,y,t,tick in zip(delta_text_x_coordinates, delta_text_y_coordinates,Delta_Values,ticks_to_plot): - Delta_Text = '+'+'{0:.2f}'.format(t) if t > 0 else '{0:.2f}'.format(t) - X_Adjust = 0 if not delta_text_x_coordinates_default else 0.48 if delta_text_x_location == 'right' else -0.38 - ax_to_plot.text(x+X_Adjust, y, Delta_Text, color=delta_text_colors[tick], **delta_text_kwargs) + delta_text_kwargs.pop('y_coordinates') - - if show_mini_meta: - delta_text_mini_meta = '+'+'{0:.2f}'.format(mini_meta_delta.difference) if mini_meta_delta.difference > 0 else '{0:.2f}'.format(mini_meta_delta.difference) - ax_to_plot.text(max(swarm_plot_ax.get_xticks())+2+X_Adjust, mini_meta_delta.difference, delta_text_mini_meta, color='black',**delta_text_kwargs) - - if show_delta2: - delta_text_delta_delta_va = 'bottom' if delta_delta.difference >= 0 else 'top' - delta_text_kwargs.pop('va') - delta_text_delta_delta = '+'+'{0:.2f}'.format(delta_delta.difference) if delta_delta.difference > 0 else '{0:.2f}'.format(delta_delta.difference) - ax_to_plot.text(max(swarm_plot_ax.get_xticks())+2-0.35, delta_delta.difference, delta_text_delta_delta, va=delta_text_delta_delta_va,color='black',**delta_text_kwargs) + # Plot the delta text + for x,y,t,tick in zip(delta_text_x_coordinates, delta_text_y_coordinates,Delta_Values,ticks_to_plot): + Delta_Text = np.format_float_positional(t, precision=2, sign=True, trim="k", min_digits=2) + ax_to_plot.text(x, y, Delta_Text, color=delta_text_colors[tick], zorder=5, **delta_text_kwargs) # %% ../nbs/API/plot_tools.ipynb 6 def swarmplot( diff --git a/nbs/API/plot_tools.ipynb b/nbs/API/plot_tools.ipynb index 8325c649..cafd23b4 100644 --- a/nbs/API/plot_tools.ipynb +++ b/nbs/API/plot_tools.ipynb @@ -1026,65 +1026,62 @@ " delta_delta : object\n", " delta-delta object.\n", " \"\"\"\n", - " \n", + " # Begin checks\n", " delta_text_x_location = delta_text_kwargs.get('x_location')\n", " if delta_text_x_location != 'right' and delta_text_x_location != 'left':\n", " raise ValueError(\"delta_text_kwargs['x_location'] must be either 'right' or 'left'.\")\n", " if float_contrast:\n", " delta_text_x_location = 'left'\n", - " if results.difference[0] >= 0:\n", - " delta_text_kwargs[\"va\"] = 'bottom'\n", - " else:\n", - " delta_text_kwargs[\"va\"] = 'top'\n", + " delta_text_kwargs[\"va\"] = 'bottom' if results.difference[0] >= 0 else 'top'\n", " delta_text_kwargs.pop('x_location')\n", "\n", " delta_text_colors = [delta_text_kwargs.get('color')]*(max(ticks_to_plot)+1) if delta_text_kwargs.get('color') is not None else ['black']*(max(ticks_to_plot)+1) if color_col is not None or (proportional and is_paired) or is_paired else swarm_colors\n", + " if show_mini_meta or show_delta2: delta_text_colors.append('black')\n", " delta_text_kwargs.pop('color')\n", "\n", + " total_ticks = len(ticks_to_plot) + 1 if show_mini_meta or show_delta2 else len(ticks_to_plot)\n", + "\n", + " # Collect the Y-values for the delta text\n", " Delta_Values = []\n", " for j, tick in enumerate(ticks_to_plot):\n", " Delta_Values.append(results.difference[j])\n", + " if show_delta2: Delta_Values.append(delta_delta.difference)\n", + " if show_mini_meta: Delta_Values.append(mini_meta_delta.difference)\n", "\n", + " # Collect the X-coordinates for the delta text\n", " delta_text_x_coordinates = delta_text_kwargs.get('x_coordinates')\n", - " delta_text_y_coordinates = delta_text_kwargs.get('y_coordinates')\n", "\n", " if delta_text_x_coordinates is not None:\n", " if not isinstance(delta_text_x_coordinates, list):\n", " raise TypeError(\"delta_text_kwargs['x_coordinates'] must be a list of x-coordinates.\")\n", - " if len(delta_text_x_coordinates) != len(ticks_to_plot):\n", + " if len(delta_text_x_coordinates) != len(total_ticks):\n", " raise ValueError(\"delta_text_kwargs['x_coordinates'] must have the same length as the number of ticks to plot.\")\n", - " delta_text_x_coordinates_default = False\n", - " delta_text_kwargs.pop('x_coordinates')\n", " else:\n", " delta_text_x_coordinates = ticks_to_plot\n", - " delta_text_x_coordinates_default = True\n", - " delta_text_kwargs.pop('x_coordinates')\n", + " X_Adjust = 0.48 if delta_text_x_location == 'right' else -0.38\n", + " delta_text_x_coordinates = [x+X_Adjust for x in delta_text_x_coordinates]\n", + " if show_mini_meta: delta_text_x_coordinates.append(max(swarm_plot_ax.get_xticks())+2+X_Adjust)\n", + " if show_delta2: delta_text_x_coordinates.append(max(swarm_plot_ax.get_xticks())+2-0.35)\n", + " if show_mini_meta or show_delta2: ticks_to_plot.append(max(ticks_to_plot)+1)\n", + " delta_text_kwargs.pop('x_coordinates')\n", + "\n", + " # Collect the Y-coordinates for the delta text\n", + " delta_text_y_coordinates = delta_text_kwargs.get('y_coordinates')\n", "\n", " if delta_text_y_coordinates is not None:\n", " if not isinstance(delta_text_y_coordinates, list):\n", " raise TypeError(\"delta_text_kwargs['y_coordinates'] must be a list of y-coordinates.\")\n", - " if len(delta_text_y_coordinates) != len(ticks_to_plot):\n", + " if len(delta_text_y_coordinates) != len(total_ticks):\n", " raise ValueError(\"delta_text_kwargs['y_coordinates'] must have the same length as the number of ticks to plot.\")\n", - " delta_text_kwargs.pop('y_coordinates')\n", " else:\n", " delta_text_y_coordinates = Delta_Values\n", - " delta_text_kwargs.pop('y_coordinates')\n", "\n", - " for x,y,t,tick in zip(delta_text_x_coordinates, delta_text_y_coordinates,Delta_Values,ticks_to_plot):\n", - " Delta_Text = '+'+'{0:.2f}'.format(t) if t > 0 else '{0:.2f}'.format(t)\n", - " X_Adjust = 0 if not delta_text_x_coordinates_default else 0.48 if delta_text_x_location == 'right' else -0.38\n", - " ax_to_plot.text(x+X_Adjust, y, Delta_Text, color=delta_text_colors[tick], **delta_text_kwargs)\n", + " delta_text_kwargs.pop('y_coordinates')\n", "\n", - "\n", - " if show_mini_meta:\n", - " delta_text_mini_meta = '+'+'{0:.2f}'.format(mini_meta_delta.difference) if mini_meta_delta.difference > 0 else '{0:.2f}'.format(mini_meta_delta.difference)\n", - " ax_to_plot.text(max(swarm_plot_ax.get_xticks())+2+X_Adjust, mini_meta_delta.difference, delta_text_mini_meta, color='black',**delta_text_kwargs)\n", - "\n", - " if show_delta2:\n", - " delta_text_delta_delta_va = 'bottom' if delta_delta.difference >= 0 else 'top'\n", - " delta_text_kwargs.pop('va')\n", - " delta_text_delta_delta = '+'+'{0:.2f}'.format(delta_delta.difference) if delta_delta.difference > 0 else '{0:.2f}'.format(delta_delta.difference)\n", - " ax_to_plot.text(max(swarm_plot_ax.get_xticks())+2-0.35, delta_delta.difference, delta_text_delta_delta, va=delta_text_delta_delta_va,color='black',**delta_text_kwargs)" + " # Plot the delta text\n", + " for x,y,t,tick in zip(delta_text_x_coordinates, delta_text_y_coordinates,Delta_Values,ticks_to_plot):\n", + " Delta_Text = np.format_float_positional(t, precision=2, sign=True, trim=\"k\", min_digits=2)\n", + " ax_to_plot.text(x, y, Delta_Text, color=delta_text_colors[tick], zorder=5, **delta_text_kwargs)" ] }, { From 3c545611a32e0e096c6bb004dc56211041cecb74 Mon Sep 17 00:00:00 2001 From: JAnns98 Date: Fri, 6 Sep 2024 13:29:21 +0800 Subject: [PATCH 12/42] Removed old delta text code --- dabest/_effsize_objects.py | 3 --- dabest/plotter.py | 32 -------------------------------- nbs/API/effsize_objects.ipynb | 3 --- nbs/API/plotter.ipynb | 32 -------------------------------- 4 files changed, 70 deletions(-) diff --git a/dabest/_effsize_objects.py b/dabest/_effsize_objects.py index f3cbb873..ce98a9f2 100644 --- a/dabest/_effsize_objects.py +++ b/dabest/_effsize_objects.py @@ -994,9 +994,6 @@ def plot( fig_size=None, dpi=100, ax=None, - contrast_show_es=False, - es_sf=2, - es_fontsize=10, contrast_show_deltas=True, gridkey_rows=None, gridkey_merge_pairs=False, diff --git a/dabest/plotter.py b/dabest/plotter.py index 0400310c..0b584cdf 100644 --- a/dabest/plotter.py +++ b/dabest/plotter.py @@ -902,38 +902,6 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): markersize=es_marker_size, ) - ################## SHOW ES ON CONTRAST PLOT WIP - - contrast_show_es = plot_kwargs["contrast_show_es"] - es_sf = plot_kwargs["es_sf"] - es_fontsize = plot_kwargs["es_fontsize"] - - if gridkey_show_es: - contrast_show_es = False - - effsize_for_print = current_effsize - - printed_es = np.format_float_positional( - effsize_for_print, precision=es_sf, sign=True, trim="k", min_digits=es_sf - ) - if contrast_show_es: - if effsize_for_print < 0: - textoffset = 10 - else: - textoffset = 15 - contrast_axes.annotate( - text=printed_es, - xy=(tick, effsize_for_print), - xytext=( - -textoffset - len(printed_es) * es_fontsize / 2, - -es_fontsize / 2, - ), - textcoords="offset points", - **{"fontsize": es_fontsize} - ) - - ################## SHOW ES ON CONTRAST PLOT END - # Plot the confidence interval. contrast_axes.plot( [tick, tick], diff --git a/nbs/API/effsize_objects.ipynb b/nbs/API/effsize_objects.ipynb index b2eae004..4660818f 100644 --- a/nbs/API/effsize_objects.ipynb +++ b/nbs/API/effsize_objects.ipynb @@ -1155,9 +1155,6 @@ " fig_size=None,\n", " dpi=100,\n", " ax=None,\n", - " contrast_show_es=False,\n", - " es_sf=2,\n", - " es_fontsize=10,\n", " contrast_show_deltas=True,\n", " gridkey_rows=None,\n", " gridkey_merge_pairs=False,\n", diff --git a/nbs/API/plotter.ipynb b/nbs/API/plotter.ipynb index 20cbf27f..3e6789f6 100644 --- a/nbs/API/plotter.ipynb +++ b/nbs/API/plotter.ipynb @@ -961,38 +961,6 @@ " markersize=es_marker_size,\n", " )\n", "\n", - " ################## SHOW ES ON CONTRAST PLOT WIP\n", - "\n", - " contrast_show_es = plot_kwargs[\"contrast_show_es\"]\n", - " es_sf = plot_kwargs[\"es_sf\"]\n", - " es_fontsize = plot_kwargs[\"es_fontsize\"]\n", - "\n", - " if gridkey_show_es:\n", - " contrast_show_es = False\n", - "\n", - " effsize_for_print = current_effsize\n", - "\n", - " printed_es = np.format_float_positional(\n", - " effsize_for_print, precision=es_sf, sign=True, trim=\"k\", min_digits=es_sf\n", - " )\n", - " if contrast_show_es:\n", - " if effsize_for_print < 0:\n", - " textoffset = 10\n", - " else:\n", - " textoffset = 15\n", - " contrast_axes.annotate(\n", - " text=printed_es,\n", - " xy=(tick, effsize_for_print),\n", - " xytext=(\n", - " -textoffset - len(printed_es) * es_fontsize / 2,\n", - " -es_fontsize / 2,\n", - " ),\n", - " textcoords=\"offset points\",\n", - " **{\"fontsize\": es_fontsize}\n", - " )\n", - "\n", - " ################## SHOW ES ON CONTRAST PLOT END\n", - "\n", " # Plot the confidence interval.\n", " contrast_axes.plot(\n", " [tick, tick],\n", From 2982292d5020917229a459e128639361d91366c7 Mon Sep 17 00:00:00 2001 From: JAnns98 Date: Fri, 6 Sep 2024 16:00:58 +0800 Subject: [PATCH 13/42] Moved delta dots to a separate function in plot_tools and renamed and edited the code --- dabest/_effsize_objects.py | 10 +++- dabest/_modidx.py | 3 +- dabest/plot_tools.py | 84 +++++++++++++++++++++++++++++++++- dabest/plotter.py | 86 ++++++----------------------------- nbs/API/effsize_objects.ipynb | 10 +++- nbs/API/plot_tools.ipynb | 84 +++++++++++++++++++++++++++++++++- nbs/API/plotter.ipynb | 86 ++++++----------------------------- 7 files changed, 212 insertions(+), 151 deletions(-) diff --git a/dabest/_effsize_objects.py b/dabest/_effsize_objects.py index ce98a9f2..b98a639b 100644 --- a/dabest/_effsize_objects.py +++ b/dabest/_effsize_objects.py @@ -994,7 +994,6 @@ def plot( fig_size=None, dpi=100, ax=None, - contrast_show_deltas=True, gridkey_rows=None, gridkey_merge_pairs=False, gridkey_show_Ns=True, @@ -1014,7 +1013,7 @@ def plot( fontsize_contrastxlabel=12, fontsize_contrastylabel=12, fontsize_delta2label=12, - #### Contrast bars WIP #### + #### Contrast bars and delta text and delta dots WIP #### contrast_bars=True, swarm_bars=True, contrast_bars_kwargs=None, @@ -1023,6 +1022,8 @@ def plot( summary_bars_kwargs=None, delta_text=True, delta_text_kwargs=None, + delta_dot=True, + delta_dot_kwargs=None, ): """ Creates an estimation plot for the effect size of interest. @@ -1193,6 +1194,11 @@ def plot( {"color": None, "alpha": 1, "fontsize": 10, "ha": 'center', "va": 'center', "rotation": 0, "x_location": 'right', "x_coordinates": None, "y_coordinates": None} Use "x_coordinates" and "y_coordinates" if you would like to specify the text locations manually. + delta_dot : boolean, default True + Whether or not to display the delta dots on paired or repeated measure plots. + delta_dot_kwargs : dict, default None + Pass relevant keyword arguments. If None, the following keywords are passed: + {"marker": "^", "alpha": 0.5} Returns ------- diff --git a/dabest/_modidx.py b/dabest/_modidx.py index 9dcc5685..6bbc1f54 100644 --- a/dabest/_modidx.py +++ b/dabest/_modidx.py @@ -69,7 +69,8 @@ 'dabest.misc_tools.merge_two_dicts': ('API/misc_tools.html#merge_two_dicts', 'dabest/misc_tools.py'), 'dabest.misc_tools.print_greeting': ('API/misc_tools.html#print_greeting', 'dabest/misc_tools.py'), 'dabest.misc_tools.unpack_and_add': ('API/misc_tools.html#unpack_and_add', 'dabest/misc_tools.py')}, - 'dabest.plot_tools': { 'dabest.plot_tools.SwarmPlot': ('API/plot_tools.html#swarmplot', 'dabest/plot_tools.py'), + 'dabest.plot_tools': { 'dabest.plot_tools.DeltaDotsPlotter': ('API/plot_tools.html#deltadotsplotter', 'dabest/plot_tools.py'), + 'dabest.plot_tools.SwarmPlot': ('API/plot_tools.html#swarmplot', 'dabest/plot_tools.py'), 'dabest.plot_tools.SwarmPlot.__init__': ( 'API/plot_tools.html#swarmplot.__init__', 'dabest/plot_tools.py'), 'dabest.plot_tools.SwarmPlot._adjust_gutter_points': ( 'API/plot_tools.html#swarmplot._adjust_gutter_points', diff --git a/dabest/plot_tools.py b/dabest/plot_tools.py index 4ed1130c..df4d5284 100644 --- a/dabest/plot_tools.py +++ b/dabest/plot_tools.py @@ -6,7 +6,7 @@ # %% auto 0 __all__ = ['halfviolin', 'get_swarm_spans', 'error_bar', 'check_data_matches_labels', 'normalize_dict', 'width_determine', 'single_sankey', 'sankeydiag', 'summary_bars_plotter', 'contrast_bars_plotter', 'swarm_bars_plotter', - 'delta_text_plotter', 'swarmplot', 'SwarmPlot'] + 'delta_text_plotter', 'DeltaDotsPlotter', 'swarmplot', 'SwarmPlot'] # %% ../nbs/API/plot_tools.ipynb 4 import math @@ -1029,6 +1029,88 @@ def delta_text_plotter(results: object, ax_to_plot: object, swarm_plot_ax: objec Delta_Text = np.format_float_positional(t, precision=2, sign=True, trim="k", min_digits=2) ax_to_plot.text(x, y, Delta_Text, color=delta_text_colors[tick], zorder=5, **delta_text_kwargs) + +def DeltaDotsPlotter(plot_data, contrast_axes, delta_id_col, idx, xvar, yvar, is_paired, color_col, float_contrast, plot_palette_raw, delta_dot_kwargs): + """ + Parameters + ---------- + plot_data : object (Dataframe) + Dataframe of the plot data. + contrast_axes : object + Matplotlib axis object to plot on. + delta_id_col : str + Column name of the delta id column. + idx : list + List of indices of the contrast objects. + xvar : str + Column name of the x variable. + yvar : str + Column name of the y variable. + is_paired : bool + Whether the data is paired. + color_col : str + Column name of the color column. + float_contrast : bool + Whether the DABEST plot uses Gardner-Altman or Cummings + plot_palette_raw : list + List of colors used in the plot. + delta_dot_kwargs : dict + Keyword arguments for the delta dots. + """ + + # Checks and initializations + from .plot_tools import swarmplot + + if color_col is not None: + plot_palette_deltapts = plot_palette_raw + delta_plot_data = plot_data[[xvar, yvar, delta_id_col, color_col]] + else: + plot_palette_deltapts = "k" + delta_plot_data = plot_data[[xvar, yvar, delta_id_col]] + + # TODO: to make jitter value more accurate and not just a hardcoded eyeball value + jitter = 0.6 if float_contrast else 1 + + # Create dataframe of delta values + final_deltas = pd.DataFrame() + for i in idx: + for j in i: + if i.index(j) != 0: + temp_df_exp = delta_plot_data[ + delta_plot_data[xvar].str.contains(j) + ].reset_index(drop=True) + if is_paired == "baseline": + temp_df_cont = delta_plot_data[ + delta_plot_data[xvar].str.contains(i[0]) + ].reset_index(drop=True) + elif is_paired == "sequential": + temp_df_cont = delta_plot_data[ + delta_plot_data[xvar].str.contains( + i[i.index(j) - 1] + ) + ].reset_index(drop=True) + delta_df = temp_df_exp.copy() + delta_df[yvar] = temp_df_exp[yvar] - temp_df_cont[yvar] + final_deltas = pd.concat([final_deltas, delta_df]) + + # Plot the delta dots + swarmplot( + data=final_deltas, + x=xvar, + y=yvar, + ax=contrast_axes, + order=None, + hue=color_col, + palette=plot_palette_deltapts, + zorder=2, + size=3, + side="right", + jitter=jitter, + is_drop_gutter=True, + gutter_limit=1, + **delta_dot_kwargs) + contrast_axes.legend().set_visible(False) + # %% ../nbs/API/plot_tools.ipynb 6 def swarmplot( data: pd.DataFrame, diff --git a/dabest/plotter.py b/dabest/plotter.py index 0b584cdf..21800dcd 100644 --- a/dabest/plotter.py +++ b/dabest/plotter.py @@ -57,6 +57,7 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): swarm_bars=True, swarm_bars_kwargs=None, contrast_bars=True, contrast_bars_kwargs=None, delta_text=True, delta_text_kwargs=None, + delta_dot=True, delta_dot_kwargs=None, """ from .misc_tools import merge_two_dicts from .plot_tools import ( @@ -69,6 +70,7 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): contrast_bars_plotter, summary_bars_plotter, delta_text_plotter, + DeltaDotsPlotter, ) from ._stats_tools.effsize import ( _compute_standardizers, @@ -509,80 +511,20 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): x_start = x_start + grp_count - ##################### DELTA PTS ON CONTRAST PLOT WIP - - contrast_show_deltas = plot_kwargs["contrast_show_deltas"] - - if is_paired is None: - contrast_show_deltas = False - - if contrast_show_deltas: - delta_plot_data_temp = plot_data.copy() - delta_id_col = dabest_obj.id_col - if color_col is not None: - plot_palette_deltapts = plot_palette_raw - delta_plot_data = delta_plot_data_temp[ - [xvar, yvar, delta_id_col, color_col] - ] - deltapts_args = { - "marker": "^", - "alpha": 0.5, - } - - else: - plot_palette_deltapts = "k" - delta_plot_data = delta_plot_data_temp[[xvar, yvar, delta_id_col]] - deltapts_args = {"marker": "^", "alpha": 0.5} - - final_deltas = pd.DataFrame() - for i in idx: - for j in i: - if i.index(j) != 0: - temp_df_exp = delta_plot_data[ - delta_plot_data[xvar].str.contains(j) - ].reset_index(drop=True) - if is_paired == "baseline": - temp_df_cont = delta_plot_data[ - delta_plot_data[xvar].str.contains(i[0]) - ].reset_index(drop=True) - elif is_paired == "sequential": - temp_df_cont = delta_plot_data[ - delta_plot_data[xvar].str.contains( - i[i.index(j) - 1] - ) - ].reset_index(drop=True) - delta_df = temp_df_exp.copy() - delta_df[yvar] = temp_df_exp[yvar] - temp_df_cont[yvar] - final_deltas = pd.concat([final_deltas, delta_df]) - - # swarmplot() plots swarms based on current size of ax - # Therefore, since the ax size for Gardner-Altman plot changes later on, there has to be decreased jitter - # TODO: to make jitter value more accurate and not just a hardcoded eyeball value - if float_contrast: - jitter = 0.6 - else: - jitter = 1 - # Plot the raw data as a swarmplot. - deltapts_plot = swarmplot( - data=final_deltas, - x=xvar, - y=yvar, - ax=contrast_axes, - order=None, - hue=color_col, - palette=plot_palette_deltapts, - zorder=2, - size=3, - side="right", - jitter=jitter, - is_drop_gutter=True, - gutter_limit=1, - **deltapts_args - ) - contrast_axes.legend().set_visible(False) + ##################### DELTA PTS ON CONTRAST PLOT WIP + show_delta_dots = plot_kwargs["delta_dot"] + default_delta_dot_kwargs = {"marker": "^", "alpha": 0.5} + if plot_kwargs["delta_dot_kwargs"] is None: + delta_dot_kwargs = default_delta_dot_kwargs + else: + delta_dot_kwargs = merge_two_dicts(default_delta_dot_kwargs, plot_kwargs["delta_dot_kwargs"]) - ##################### DELTA PTS ON CONTRAST PLOT END + if show_delta_dots and is_paired is not None: + DeltaDotsPlotter(plot_data=plot_data, contrast_axes=contrast_axes, delta_id_col=dabest_obj.id_col, + idx=idx, xvar=xvar, yvar=yvar, is_paired=is_paired, color_col=color_col, + float_contrast=float_contrast, plot_palette_raw=plot_palette_raw, delta_dot_kwargs=delta_dot_kwargs) + ##################### DELTA PTS ON CONTRAST PLOT WIP END # Set the tick labels, because the slopegraph plotting doesn't. rawdata_axes.set_xticks(np.arange(0, len(temp_all_plot_groups))) diff --git a/nbs/API/effsize_objects.ipynb b/nbs/API/effsize_objects.ipynb index 4660818f..b0fb403e 100644 --- a/nbs/API/effsize_objects.ipynb +++ b/nbs/API/effsize_objects.ipynb @@ -1155,7 +1155,6 @@ " fig_size=None,\n", " dpi=100,\n", " ax=None,\n", - " contrast_show_deltas=True,\n", " gridkey_rows=None,\n", " gridkey_merge_pairs=False,\n", " gridkey_show_Ns=True,\n", @@ -1175,7 +1174,7 @@ " fontsize_contrastxlabel=12,\n", " fontsize_contrastylabel=12,\n", " fontsize_delta2label=12,\n", - " #### Contrast bars WIP ####\n", + " #### Contrast bars and delta text and delta dots WIP ####\n", " contrast_bars=True,\n", " swarm_bars=True,\n", " contrast_bars_kwargs=None,\n", @@ -1184,6 +1183,8 @@ " summary_bars_kwargs=None,\n", " delta_text=True,\n", " delta_text_kwargs=None,\n", + " delta_dot=True,\n", + " delta_dot_kwargs=None,\n", " ):\n", " \"\"\"\n", " Creates an estimation plot for the effect size of interest.\n", @@ -1354,6 +1355,11 @@ " {\"color\": None, \"alpha\": 1, \"fontsize\": 10, \"ha\": 'center', \"va\": 'center', \"rotation\": 0, \n", " \"x_location\": 'right', \"x_coordinates\": None, \"y_coordinates\": None}\n", " Use \"x_coordinates\" and \"y_coordinates\" if you would like to specify the text locations manually.\n", + " delta_dot : boolean, default True\n", + " Whether or not to display the delta dots on paired or repeated measure plots.\n", + " delta_dot_kwargs : dict, default None\n", + " Pass relevant keyword arguments. If None, the following keywords are passed:\n", + " {\"marker\": \"^\", \"alpha\": 0.5}\n", "\n", " Returns\n", " -------\n", diff --git a/nbs/API/plot_tools.ipynb b/nbs/API/plot_tools.ipynb index cafd23b4..678dd614 100644 --- a/nbs/API/plot_tools.ipynb +++ b/nbs/API/plot_tools.ipynb @@ -1081,7 +1081,89 @@ " # Plot the delta text\n", " for x,y,t,tick in zip(delta_text_x_coordinates, delta_text_y_coordinates,Delta_Values,ticks_to_plot):\n", " Delta_Text = np.format_float_positional(t, precision=2, sign=True, trim=\"k\", min_digits=2)\n", - " ax_to_plot.text(x, y, Delta_Text, color=delta_text_colors[tick], zorder=5, **delta_text_kwargs)" + " ax_to_plot.text(x, y, Delta_Text, color=delta_text_colors[tick], zorder=5, **delta_text_kwargs)\n", + "\n", + "\n", + "def DeltaDotsPlotter(plot_data, contrast_axes, delta_id_col, idx, xvar, yvar, is_paired, color_col, float_contrast, plot_palette_raw, delta_dot_kwargs):\n", + " \"\"\"\n", + " Parameters\n", + " ----------\n", + " plot_data : object (Dataframe)\n", + " Dataframe of the plot data.\n", + " contrast_axes : object\n", + " Matplotlib axis object to plot on.\n", + " delta_id_col : str\n", + " Column name of the delta id column.\n", + " idx : list\n", + " List of indices of the contrast objects.\n", + " xvar : str\n", + " Column name of the x variable.\n", + " yvar : str\n", + " Column name of the y variable.\n", + " is_paired : bool\n", + " Whether the data is paired.\n", + " color_col : str\n", + " Column name of the color column.\n", + " float_contrast : bool\n", + " Whether the DABEST plot uses Gardner-Altman or Cummings\n", + " plot_palette_raw : list\n", + " List of colors used in the plot.\n", + " delta_dot_kwargs : dict\n", + " Keyword arguments for the delta dots.\n", + " \"\"\"\n", + " \n", + " # Checks and initializations\n", + " from .plot_tools import swarmplot\n", + "\n", + " if color_col is not None:\n", + " plot_palette_deltapts = plot_palette_raw\n", + " delta_plot_data = plot_data[[xvar, yvar, delta_id_col, color_col]]\n", + " else:\n", + " plot_palette_deltapts = \"k\"\n", + " delta_plot_data = plot_data[[xvar, yvar, delta_id_col]]\n", + "\n", + " # TODO: to make jitter value more accurate and not just a hardcoded eyeball value\n", + " jitter = 0.6 if float_contrast else 1 \n", + "\n", + " # Create dataframe of delta values\n", + " final_deltas = pd.DataFrame()\n", + " for i in idx:\n", + " for j in i:\n", + " if i.index(j) != 0:\n", + " temp_df_exp = delta_plot_data[\n", + " delta_plot_data[xvar].str.contains(j)\n", + " ].reset_index(drop=True)\n", + " if is_paired == \"baseline\":\n", + " temp_df_cont = delta_plot_data[\n", + " delta_plot_data[xvar].str.contains(i[0])\n", + " ].reset_index(drop=True)\n", + " elif is_paired == \"sequential\":\n", + " temp_df_cont = delta_plot_data[\n", + " delta_plot_data[xvar].str.contains(\n", + " i[i.index(j) - 1]\n", + " )\n", + " ].reset_index(drop=True)\n", + " delta_df = temp_df_exp.copy()\n", + " delta_df[yvar] = temp_df_exp[yvar] - temp_df_cont[yvar]\n", + " final_deltas = pd.concat([final_deltas, delta_df])\n", + "\n", + " # Plot the delta dots\n", + " swarmplot(\n", + " data=final_deltas,\n", + " x=xvar,\n", + " y=yvar,\n", + " ax=contrast_axes,\n", + " order=None,\n", + " hue=color_col,\n", + " palette=plot_palette_deltapts,\n", + " zorder=2,\n", + " size=3,\n", + " side=\"right\",\n", + " jitter=jitter,\n", + " is_drop_gutter=True,\n", + " gutter_limit=1,\n", + " **delta_dot_kwargs)\n", + " contrast_axes.legend().set_visible(False)" ] }, { diff --git a/nbs/API/plotter.ipynb b/nbs/API/plotter.ipynb index 3e6789f6..90335a71 100644 --- a/nbs/API/plotter.ipynb +++ b/nbs/API/plotter.ipynb @@ -116,6 +116,7 @@ " swarm_bars=True, swarm_bars_kwargs=None,\n", " contrast_bars=True, contrast_bars_kwargs=None,\n", " delta_text=True, delta_text_kwargs=None,\n", + " delta_dot=True, delta_dot_kwargs=None,\n", " \"\"\"\n", " from .misc_tools import merge_two_dicts\n", " from .plot_tools import (\n", @@ -128,6 +129,7 @@ " contrast_bars_plotter,\n", " summary_bars_plotter,\n", " delta_text_plotter,\n", + " DeltaDotsPlotter,\n", " )\n", " from ._stats_tools.effsize import (\n", " _compute_standardizers,\n", @@ -568,80 +570,20 @@ "\n", " x_start = x_start + grp_count\n", "\n", - " ##################### DELTA PTS ON CONTRAST PLOT WIP\n", - "\n", - " contrast_show_deltas = plot_kwargs[\"contrast_show_deltas\"]\n", - "\n", - " if is_paired is None:\n", - " contrast_show_deltas = False\n", - "\n", - " if contrast_show_deltas:\n", - " delta_plot_data_temp = plot_data.copy()\n", - " delta_id_col = dabest_obj.id_col\n", - " if color_col is not None:\n", - " plot_palette_deltapts = plot_palette_raw\n", - " delta_plot_data = delta_plot_data_temp[\n", - " [xvar, yvar, delta_id_col, color_col]\n", - " ]\n", - " deltapts_args = {\n", - " \"marker\": \"^\",\n", - " \"alpha\": 0.5,\n", - " }\n", - "\n", - " else:\n", - " plot_palette_deltapts = \"k\"\n", - " delta_plot_data = delta_plot_data_temp[[xvar, yvar, delta_id_col]]\n", - " deltapts_args = {\"marker\": \"^\", \"alpha\": 0.5}\n", - "\n", - " final_deltas = pd.DataFrame()\n", - " for i in idx:\n", - " for j in i:\n", - " if i.index(j) != 0:\n", - " temp_df_exp = delta_plot_data[\n", - " delta_plot_data[xvar].str.contains(j)\n", - " ].reset_index(drop=True)\n", - " if is_paired == \"baseline\":\n", - " temp_df_cont = delta_plot_data[\n", - " delta_plot_data[xvar].str.contains(i[0])\n", - " ].reset_index(drop=True)\n", - " elif is_paired == \"sequential\":\n", - " temp_df_cont = delta_plot_data[\n", - " delta_plot_data[xvar].str.contains(\n", - " i[i.index(j) - 1]\n", - " )\n", - " ].reset_index(drop=True)\n", - " delta_df = temp_df_exp.copy()\n", - " delta_df[yvar] = temp_df_exp[yvar] - temp_df_cont[yvar]\n", - " final_deltas = pd.concat([final_deltas, delta_df])\n", - "\n", - " # swarmplot() plots swarms based on current size of ax\n", - " # Therefore, since the ax size for Gardner-Altman plot changes later on, there has to be decreased jitter\n", - " # TODO: to make jitter value more accurate and not just a hardcoded eyeball value\n", - " if float_contrast:\n", - " jitter = 0.6\n", - " else:\n", - " jitter = 1\n", "\n", - " # Plot the raw data as a swarmplot.\n", - " deltapts_plot = swarmplot(\n", - " data=final_deltas,\n", - " x=xvar,\n", - " y=yvar,\n", - " ax=contrast_axes,\n", - " order=None,\n", - " hue=color_col,\n", - " palette=plot_palette_deltapts,\n", - " zorder=2,\n", - " size=3,\n", - " side=\"right\",\n", - " jitter=jitter,\n", - " is_drop_gutter=True,\n", - " gutter_limit=1,\n", - " **deltapts_args\n", - " )\n", - " contrast_axes.legend().set_visible(False)\n", + " ##################### DELTA PTS ON CONTRAST PLOT WIP\n", + " show_delta_dots = plot_kwargs[\"delta_dot\"]\n", + " default_delta_dot_kwargs = {\"marker\": \"^\", \"alpha\": 0.5}\n", + " if plot_kwargs[\"delta_dot_kwargs\"] is None:\n", + " delta_dot_kwargs = default_delta_dot_kwargs\n", + " else:\n", + " delta_dot_kwargs = merge_two_dicts(default_delta_dot_kwargs, plot_kwargs[\"delta_dot_kwargs\"])\n", "\n", - " ##################### DELTA PTS ON CONTRAST PLOT END\n", + " if show_delta_dots and is_paired is not None:\n", + " DeltaDotsPlotter(plot_data=plot_data, contrast_axes=contrast_axes, delta_id_col=dabest_obj.id_col, \n", + " idx=idx, xvar=xvar, yvar=yvar, is_paired=is_paired, color_col=color_col, \n", + " float_contrast=float_contrast, plot_palette_raw=plot_palette_raw, delta_dot_kwargs=delta_dot_kwargs)\n", + " ##################### DELTA PTS ON CONTRAST PLOT WIP END\n", "\n", " # Set the tick labels, because the slopegraph plotting doesn't.\n", " rawdata_axes.set_xticks(np.arange(0, len(temp_all_plot_groups)))\n", From 601b74e8ed54f017898781d9ea3da56fa3a61cff Mon Sep 17 00:00:00 2001 From: JAnns98 Date: Sun, 8 Sep 2024 12:23:51 +0800 Subject: [PATCH 14/42] Added more kwargs options for deltadots --- dabest/_effsize_objects.py | 2 +- dabest/plot_tools.py | 3 --- dabest/plotter.py | 2 +- nbs/API/effsize_objects.ipynb | 2 +- nbs/API/plot_tools.ipynb | 3 --- nbs/API/plotter.ipynb | 2 +- 6 files changed, 4 insertions(+), 10 deletions(-) diff --git a/dabest/_effsize_objects.py b/dabest/_effsize_objects.py index b98a639b..59426a24 100644 --- a/dabest/_effsize_objects.py +++ b/dabest/_effsize_objects.py @@ -1198,7 +1198,7 @@ def plot( Whether or not to display the delta dots on paired or repeated measure plots. delta_dot_kwargs : dict, default None Pass relevant keyword arguments. If None, the following keywords are passed: - {"marker": "^", "alpha": 0.5} + {"marker": "^", "alpha": 0.5, "zorder": 2, "size": 3, "side": "right"} Returns ------- diff --git a/dabest/plot_tools.py b/dabest/plot_tools.py index df4d5284..4ce90cdd 100644 --- a/dabest/plot_tools.py +++ b/dabest/plot_tools.py @@ -1102,9 +1102,6 @@ def DeltaDotsPlotter(plot_data, contrast_axes, delta_id_col, idx, xvar, yvar, is order=None, hue=color_col, palette=plot_palette_deltapts, - zorder=2, - size=3, - side="right", jitter=jitter, is_drop_gutter=True, gutter_limit=1, diff --git a/dabest/plotter.py b/dabest/plotter.py index 21800dcd..cee1e966 100644 --- a/dabest/plotter.py +++ b/dabest/plotter.py @@ -514,7 +514,7 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): ##################### DELTA PTS ON CONTRAST PLOT WIP show_delta_dots = plot_kwargs["delta_dot"] - default_delta_dot_kwargs = {"marker": "^", "alpha": 0.5} + default_delta_dot_kwargs = {"marker": "^", "alpha": 0.5, "zorder": 2, "size": 3, "side": "right"} if plot_kwargs["delta_dot_kwargs"] is None: delta_dot_kwargs = default_delta_dot_kwargs else: diff --git a/nbs/API/effsize_objects.ipynb b/nbs/API/effsize_objects.ipynb index b0fb403e..0778f87c 100644 --- a/nbs/API/effsize_objects.ipynb +++ b/nbs/API/effsize_objects.ipynb @@ -1359,7 +1359,7 @@ " Whether or not to display the delta dots on paired or repeated measure plots.\n", " delta_dot_kwargs : dict, default None\n", " Pass relevant keyword arguments. If None, the following keywords are passed:\n", - " {\"marker\": \"^\", \"alpha\": 0.5}\n", + " {\"marker\": \"^\", \"alpha\": 0.5, \"zorder\": 2, \"size\": 3, \"side\": \"right\"}\n", "\n", " Returns\n", " -------\n", diff --git a/nbs/API/plot_tools.ipynb b/nbs/API/plot_tools.ipynb index 678dd614..aacba92b 100644 --- a/nbs/API/plot_tools.ipynb +++ b/nbs/API/plot_tools.ipynb @@ -1156,9 +1156,6 @@ " order=None,\n", " hue=color_col,\n", " palette=plot_palette_deltapts,\n", - " zorder=2,\n", - " size=3,\n", - " side=\"right\",\n", " jitter=jitter,\n", " is_drop_gutter=True,\n", " gutter_limit=1,\n", diff --git a/nbs/API/plotter.ipynb b/nbs/API/plotter.ipynb index 90335a71..8c9f4560 100644 --- a/nbs/API/plotter.ipynb +++ b/nbs/API/plotter.ipynb @@ -573,7 +573,7 @@ "\n", " ##################### DELTA PTS ON CONTRAST PLOT WIP\n", " show_delta_dots = plot_kwargs[\"delta_dot\"]\n", - " default_delta_dot_kwargs = {\"marker\": \"^\", \"alpha\": 0.5}\n", + " default_delta_dot_kwargs = {\"marker\": \"^\", \"alpha\": 0.5, \"zorder\": 2, \"size\": 3, \"side\": \"right\"}\n", " if plot_kwargs[\"delta_dot_kwargs\"] is None:\n", " delta_dot_kwargs = default_delta_dot_kwargs\n", " else:\n", From 853ff5287c7ed6873bafdc80bf9036505104d0d4 Mon Sep 17 00:00:00 2001 From: JAnns98 Date: Sun, 8 Sep 2024 19:14:05 +0800 Subject: [PATCH 15/42] Trimmed plotter function to move some code into two new misc_tools functions - get_params, and get_kwargs --- dabest/_modidx.py | 4 +- dabest/misc_tools.py | 158 +++++++++++++++++++++++++++++++++++- dabest/plotter.py | 167 +++------------------------------------ nbs/API/misc_tools.ipynb | 158 +++++++++++++++++++++++++++++++++++- nbs/API/plotter.ipynb | 167 +++------------------------------------ 5 files changed, 341 insertions(+), 313 deletions(-) diff --git a/dabest/_modidx.py b/dabest/_modidx.py index 6bbc1f54..750ec79f 100644 --- a/dabest/_modidx.py +++ b/dabest/_modidx.py @@ -65,7 +65,9 @@ 'dabest/forest_plot.py'), 'dabest.forest_plot.forest_plot': ('API/forest_plot.html#forest_plot', 'dabest/forest_plot.py'), 'dabest.forest_plot.load_plot_data': ('API/forest_plot.html#load_plot_data', 'dabest/forest_plot.py')}, - 'dabest.misc_tools': { 'dabest.misc_tools.get_varname': ('API/misc_tools.html#get_varname', 'dabest/misc_tools.py'), + 'dabest.misc_tools': { 'dabest.misc_tools.get_kwargs': ('API/misc_tools.html#get_kwargs', 'dabest/misc_tools.py'), + 'dabest.misc_tools.get_params': ('API/misc_tools.html#get_params', 'dabest/misc_tools.py'), + 'dabest.misc_tools.get_varname': ('API/misc_tools.html#get_varname', 'dabest/misc_tools.py'), 'dabest.misc_tools.merge_two_dicts': ('API/misc_tools.html#merge_two_dicts', 'dabest/misc_tools.py'), 'dabest.misc_tools.print_greeting': ('API/misc_tools.html#print_greeting', 'dabest/misc_tools.py'), 'dabest.misc_tools.unpack_and_add': ('API/misc_tools.html#unpack_and_add', 'dabest/misc_tools.py')}, diff --git a/dabest/misc_tools.py b/dabest/misc_tools.py index 7c5b2020..08e58a9e 100644 --- a/dabest/misc_tools.py +++ b/dabest/misc_tools.py @@ -1,10 +1,11 @@ # AUTOGENERATED! DO NOT EDIT! File to edit: ../nbs/API/misc_tools.ipynb. # %% auto 0 -__all__ = ['merge_two_dicts', 'unpack_and_add', 'print_greeting', 'get_varname'] +__all__ = ['merge_two_dicts', 'unpack_and_add', 'print_greeting', 'get_varname', 'get_params', 'get_kwargs'] # %% ../nbs/API/misc_tools.ipynb 4 import datetime as dt +import numpy as np from numpy import repeat # %% ../nbs/API/misc_tools.ipynb 5 @@ -68,3 +69,158 @@ def get_varname(obj): if len(matching_vars) > 0: return matching_vars[0] return "" + +def get_params(effectsize_df, plot_kwargs): + face_color = plot_kwargs["face_color"] + + if plot_kwargs["face_color"] is None: + face_color = "white" + + dabest_obj = effectsize_df.dabest_obj + plot_data = effectsize_df._plot_data + xvar = effectsize_df.xvar + yvar = effectsize_df.yvar + is_paired = effectsize_df.is_paired + delta2 = effectsize_df.delta2 + mini_meta = effectsize_df.mini_meta + effect_size = effectsize_df.effect_size + proportional = effectsize_df.proportional + + all_plot_groups = dabest_obj._all_plot_groups + idx = dabest_obj.idx + + if effect_size not in ["mean_diff", "delta_g"] or not delta2: + show_delta2 = False + else: + show_delta2 = plot_kwargs["show_delta2"] + + if effect_size != "mean_diff" or not mini_meta: + show_mini_meta = False + else: + show_mini_meta = plot_kwargs["show_mini_meta"] + + if show_delta2 and show_mini_meta: raise ValueError("`show_delta2` and `show_mini_meta` cannot be True at the same time.") + + # Disable Gardner-Altman plotting if any of the idxs comprise of more than + # two groups or if it is a delta-delta plot. + float_contrast = plot_kwargs["float_contrast"] + effect_size_type = effectsize_df.effect_size + if len(idx) > 1 or len(idx[0]) > 2: + float_contrast = False + + if effect_size_type in ["cliffs_delta"]: + float_contrast = False + + if show_delta2 or show_mini_meta: + float_contrast = False + + if not is_paired: + show_pairs = False + else: + show_pairs = plot_kwargs["show_pairs"] + + return (face_color, dabest_obj, plot_data, xvar, yvar, is_paired, delta2, mini_meta, effect_size, proportional, all_plot_groups, idx, + show_delta2, show_mini_meta, float_contrast, show_pairs, effect_size_type) + +def get_kwargs(plot_kwargs, ytick_color): + from .misc_tools import merge_two_dicts + + # Swarmplot kwargs + default_swarmplot_kwargs = {"size": plot_kwargs["raw_marker_size"]} + if plot_kwargs["swarmplot_kwargs"] is None: + swarmplot_kwargs = default_swarmplot_kwargs + else: + swarmplot_kwargs = merge_two_dicts( + default_swarmplot_kwargs, plot_kwargs["swarmplot_kwargs"] + ) + + # Barplot kwargs + default_barplot_kwargs = {"estimator": np.mean, "errorbar": plot_kwargs["ci"]} + if plot_kwargs["barplot_kwargs"] is None: + barplot_kwargs = default_barplot_kwargs + else: + barplot_kwargs = merge_two_dicts( + default_barplot_kwargs, plot_kwargs["barplot_kwargs"] + ) + + # Sankey Diagram kwargs + default_sankey_kwargs = { + "width": 0.4, + "align": "center", + "sankey": True, + "flow": True, + "alpha": 0.4, + "rightColor": False, + "bar_width": 0.2, + } + if plot_kwargs["sankey_kwargs"] is None: + sankey_kwargs = default_sankey_kwargs + else: + sankey_kwargs = merge_two_dicts( + default_sankey_kwargs, plot_kwargs["sankey_kwargs"] + ) + + # Violinplot kwargs. + default_violinplot_kwargs = { + "widths": 0.5, + "vert": True, + "showextrema": False, + "showmedians": False, + } + if plot_kwargs["violinplot_kwargs"] is None: + violinplot_kwargs = default_violinplot_kwargs + else: + violinplot_kwargs = merge_two_dicts( + default_violinplot_kwargs, plot_kwargs["violinplot_kwargs"] + ) + + # Slopegraph kwargs. + default_slopegraph_kwargs = {"linewidth": 1, "alpha": 0.5} + if plot_kwargs["slopegraph_kwargs"] is None: + slopegraph_kwargs = default_slopegraph_kwargs + else: + slopegraph_kwargs = merge_two_dicts( + default_slopegraph_kwargs, plot_kwargs["slopegraph_kwargs"] + ) + + # Zero reference-line kwargs. + default_reflines_kwargs = { + "linestyle": "solid", + "linewidth": 0.75, + "zorder": 2, + "color": ytick_color, + } + if plot_kwargs["reflines_kwargs"] is None: + reflines_kwargs = default_reflines_kwargs + else: + reflines_kwargs = merge_two_dicts( + default_reflines_kwargs, plot_kwargs["reflines_kwargs"] + ) + + # Legend kwargs. + default_legend_kwargs = {"loc": "upper left", "frameon": False} + if plot_kwargs["legend_kwargs"] is None: + legend_kwargs = default_legend_kwargs + else: + legend_kwargs = merge_two_dicts( + default_legend_kwargs, plot_kwargs["legend_kwargs"] + ) + + # Group summaries kwargs. + gs_default = {"mean_sd", "median_quartiles", None} + if plot_kwargs["group_summaries"] not in gs_default: + raise ValueError( + "group_summaries must be one of" " these: {}.".format(gs_default) + ) + + default_group_summary_kwargs = {"zorder": 3, "lw": 2, "alpha": 1} + if plot_kwargs["group_summary_kwargs"] is None: + group_summary_kwargs = default_group_summary_kwargs + else: + group_summary_kwargs = merge_two_dicts( + default_group_summary_kwargs, plot_kwargs["group_summary_kwargs"] + ) + + return (swarmplot_kwargs, barplot_kwargs, sankey_kwargs, violinplot_kwargs, slopegraph_kwargs, + reflines_kwargs, legend_kwargs, group_summary_kwargs) + ... diff --git a/dabest/plotter.py b/dabest/plotter.py index cee1e966..9420c71f 100644 --- a/dabest/plotter.py +++ b/dabest/plotter.py @@ -59,7 +59,10 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): delta_text=True, delta_text_kwargs=None, delta_dot=True, delta_dot_kwargs=None, """ - from .misc_tools import merge_two_dicts + from .misc_tools import (merge_two_dicts, + get_params, + get_kwargs, + ) from .plot_tools import ( halfviolin, get_swarm_spans, @@ -92,149 +95,23 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): original_rcParams[parameter] = plt.rcParams[parameter] plt.rcParams["axes.grid"] = False - ytick_color = plt.rcParams["ytick.color"] - face_color = plot_kwargs["face_color"] - - if plot_kwargs["face_color"] is None: - face_color = "white" - - dabest_obj = effectsize_df.dabest_obj - plot_data = effectsize_df._plot_data - xvar = effectsize_df.xvar - yvar = effectsize_df.yvar - is_paired = effectsize_df.is_paired - delta2 = effectsize_df.delta2 - mini_meta = effectsize_df.mini_meta - effect_size = effectsize_df.effect_size - proportional = effectsize_df.proportional - - all_plot_groups = dabest_obj._all_plot_groups - idx = dabest_obj.idx - - if effect_size not in ["mean_diff", "delta_g"] or not delta2: - show_delta2 = False - else: - show_delta2 = plot_kwargs["show_delta2"] - - if effect_size != "mean_diff" or not mini_meta: - show_mini_meta = False - else: - show_mini_meta = plot_kwargs["show_mini_meta"] - - if show_delta2 and show_mini_meta: - err0 = "`show_delta2` and `show_mini_meta` cannot be True at the same time." - raise ValueError(err0) - - # Disable Gardner-Altman plotting if any of the idxs comprise of more than - # two groups or if it is a delta-delta plot. - float_contrast = plot_kwargs["float_contrast"] - effect_size_type = effectsize_df.effect_size - if len(idx) > 1 or len(idx[0]) > 2: - float_contrast = False - - if effect_size_type in ["cliffs_delta"]: - float_contrast = False - - if show_delta2 or show_mini_meta: - float_contrast = False - - if not is_paired: - show_pairs = False - else: - show_pairs = plot_kwargs["show_pairs"] - # Set default kwargs first, then merge with user-dictated ones. - # Swarmplot kwargs - default_swarmplot_kwargs = {"size": plot_kwargs["raw_marker_size"]} - if plot_kwargs["swarmplot_kwargs"] is None: - swarmplot_kwargs = default_swarmplot_kwargs - else: - swarmplot_kwargs = merge_two_dicts( - default_swarmplot_kwargs, plot_kwargs["swarmplot_kwargs"] - ) - asymmetric_side = ( - "left" # TODO: allow users to control side for swarms of swarmplot. - ) + # Extract parameters and set default kwargs + (face_color, dabest_obj, plot_data, xvar, yvar, is_paired, delta2, mini_meta, effect_size, proportional, all_plot_groups, idx, + show_delta2, show_mini_meta, float_contrast, show_pairs, effect_size_type) = get_params(effectsize_df=effectsize_df, plot_kwargs=plot_kwargs) - # Barplot kwargs - default_barplot_kwargs = {"estimator": np.mean, "errorbar": plot_kwargs["ci"]} + (swarmplot_kwargs, barplot_kwargs, sankey_kwargs, violinplot_kwargs, slopegraph_kwargs, + reflines_kwargs, legend_kwargs, group_summary_kwargs) = get_kwargs(plot_kwargs=plot_kwargs, ytick_color=ytick_color) - if plot_kwargs["barplot_kwargs"] is None: - barplot_kwargs = default_barplot_kwargs - else: - barplot_kwargs = merge_two_dicts( - default_barplot_kwargs, plot_kwargs["barplot_kwargs"] - ) + # Extract parameters and set default kwargs - # Sankey Diagram kwargs - default_sankey_kwargs = { - "width": 0.4, - "align": "center", - "sankey": True, - "flow": True, - "alpha": 0.4, - "rightColor": False, - "bar_width": 0.2, - } - if plot_kwargs["sankey_kwargs"] is None: - sankey_kwargs = default_sankey_kwargs - else: - sankey_kwargs = merge_two_dicts( - default_sankey_kwargs, plot_kwargs["sankey_kwargs"] - ) # We also need to extract the `sankey` and `flow` from the kwargs for plotter.py # to use for varying different kinds of paired proportional plots # We also don't want to pop the parameter from the kwargs sankey = sankey_kwargs["sankey"] flow = sankey_kwargs["flow"] - # Violinplot kwargs. - default_violinplot_kwargs = { - "widths": 0.5, - "vert": True, - "showextrema": False, - "showmedians": False, - } - if plot_kwargs["violinplot_kwargs"] is None: - violinplot_kwargs = default_violinplot_kwargs - else: - violinplot_kwargs = merge_two_dicts( - default_violinplot_kwargs, plot_kwargs["violinplot_kwargs"] - ) - - # Slopegraph kwargs. - default_slopegraph_kwargs = {"linewidth": 1, "alpha": 0.5} - if plot_kwargs["slopegraph_kwargs"] is None: - slopegraph_kwargs = default_slopegraph_kwargs - else: - slopegraph_kwargs = merge_two_dicts( - default_slopegraph_kwargs, plot_kwargs["slopegraph_kwargs"] - ) - - # Zero reference-line kwargs. - default_reflines_kwargs = { - "linestyle": "solid", - "linewidth": 0.75, - "zorder": 2, - "color": ytick_color, - } - if plot_kwargs["reflines_kwargs"] is None: - reflines_kwargs = default_reflines_kwargs - else: - reflines_kwargs = merge_two_dicts( - default_reflines_kwargs, plot_kwargs["reflines_kwargs"] - ) - - # Legend kwargs. - default_legend_kwargs = {"loc": "upper left", "frameon": False} - if plot_kwargs["legend_kwargs"] is None: - legend_kwargs = default_legend_kwargs - else: - legend_kwargs = merge_two_dicts( - default_legend_kwargs, plot_kwargs["legend_kwargs"] - ) - ################################################### GRIDKEY WIP - extracting arguments gridkey_rows = plot_kwargs["gridkey_rows"] @@ -248,20 +125,6 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): ################################################### END GRIDKEY WIP - extracting arguments - # Group summaries kwargs. - gs_default = {"mean_sd", "median_quartiles", None} - if plot_kwargs["group_summaries"] not in gs_default: - raise ValueError( - "group_summaries must be one of" " these: {}.".format(gs_default) - ) - - default_group_summary_kwargs = {"zorder": 3, "lw": 2, "alpha": 1} - if plot_kwargs["group_summary_kwargs"] is None: - group_summary_kwargs = default_group_summary_kwargs - else: - group_summary_kwargs = merge_two_dicts( - default_group_summary_kwargs, plot_kwargs["group_summary_kwargs"] - ) # Create color palette that will be shared across subplots. color_col = plot_kwargs["color_col"] @@ -1379,7 +1242,6 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): ) ################################################### GRIDKEY MAIN CODE WIP - # if gridkey_rows is None, skip everything here if gridkey_rows is not None: # Raise error if there are more than 2 items in any idx and gridkey_merge_pairs is True and is_paired is not None @@ -1505,11 +1367,9 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): # turns off both x axes rawdata_axes.get_xaxis().set_visible(False) contrast_axes.get_xaxis().set_visible(False) - ####################################################### END GRIDKEY MAIN CODE WIP ################################################### Swarm & Contrast & Summary Bars WIP - # Swarm bars WIP swarm_bars = plot_kwargs["swarm_bars"] default_swarm_bars_kwargs = {"color": None, "alpha": 0.3} @@ -1545,10 +1405,9 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): summary_bars_plotter(summary_bars=summary_bars, results=results, ax_to_plot=contrast_axes, float_contrast=float_contrast, summary_bars_kwargs=summary_bars_kwargs, ci_type=ci_type, ticks_to_plot=ticks_to_plot, color_col=color_col, swarm_colors=swarm_colors, proportional=proportional, is_paired=is_paired) - ################################################### Swarm & Contrast & Summary Bars WIP END - ################################################### Delta numbers WIP START + ################################################### Delta text WIP START delta_text = plot_kwargs["delta_text"] default_delta_text_kwargs = {"color": None, "alpha": 1, "fontsize": 10, "ha": 'center', "va": 'center', "rotation": 0, "x_location": 'right', "x_coordinates": None, "y_coordinates": None} if plot_kwargs["delta_text_kwargs"] is None: @@ -1561,9 +1420,7 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): is_paired=is_paired,proportional=proportional, float_contrast=float_contrast, show_mini_meta=show_mini_meta, mini_meta_delta=mini_meta_delta if show_mini_meta else None, show_delta2=show_delta2, delta_delta=delta_delta if show_delta2 else None) - - ################################################### Delta numbers WIP END - + ################################################### Delta text WIP END # Make sure no stray ticks appear! rawdata_axes.xaxis.set_ticks_position("bottom") diff --git a/nbs/API/misc_tools.ipynb b/nbs/API/misc_tools.ipynb index 0395a57c..ab8f366a 100644 --- a/nbs/API/misc_tools.ipynb +++ b/nbs/API/misc_tools.ipynb @@ -55,6 +55,7 @@ "source": [ "#| export\n", "import datetime as dt\n", + "import numpy as np\n", "from numpy import repeat" ] }, @@ -125,7 +126,162 @@ " matching_vars = [k for k, v in globals().items() if v is obj]\n", " if len(matching_vars) > 0:\n", " return matching_vars[0]\n", - " return \"\"" + " return \"\"\n", + "\n", + "def get_params(effectsize_df, plot_kwargs):\n", + " face_color = plot_kwargs[\"face_color\"]\n", + "\n", + " if plot_kwargs[\"face_color\"] is None:\n", + " face_color = \"white\"\n", + "\n", + " dabest_obj = effectsize_df.dabest_obj\n", + " plot_data = effectsize_df._plot_data\n", + " xvar = effectsize_df.xvar\n", + " yvar = effectsize_df.yvar\n", + " is_paired = effectsize_df.is_paired\n", + " delta2 = effectsize_df.delta2\n", + " mini_meta = effectsize_df.mini_meta\n", + " effect_size = effectsize_df.effect_size\n", + " proportional = effectsize_df.proportional\n", + "\n", + " all_plot_groups = dabest_obj._all_plot_groups\n", + " idx = dabest_obj.idx\n", + "\n", + " if effect_size not in [\"mean_diff\", \"delta_g\"] or not delta2:\n", + " show_delta2 = False\n", + " else:\n", + " show_delta2 = plot_kwargs[\"show_delta2\"]\n", + "\n", + " if effect_size != \"mean_diff\" or not mini_meta:\n", + " show_mini_meta = False\n", + " else:\n", + " show_mini_meta = plot_kwargs[\"show_mini_meta\"]\n", + "\n", + " if show_delta2 and show_mini_meta: raise ValueError(\"`show_delta2` and `show_mini_meta` cannot be True at the same time.\")\n", + "\n", + " # Disable Gardner-Altman plotting if any of the idxs comprise of more than\n", + " # two groups or if it is a delta-delta plot.\n", + " float_contrast = plot_kwargs[\"float_contrast\"]\n", + " effect_size_type = effectsize_df.effect_size\n", + " if len(idx) > 1 or len(idx[0]) > 2:\n", + " float_contrast = False\n", + "\n", + " if effect_size_type in [\"cliffs_delta\"]:\n", + " float_contrast = False\n", + "\n", + " if show_delta2 or show_mini_meta:\n", + " float_contrast = False\n", + "\n", + " if not is_paired:\n", + " show_pairs = False\n", + " else:\n", + " show_pairs = plot_kwargs[\"show_pairs\"]\n", + "\n", + " return (face_color, dabest_obj, plot_data, xvar, yvar, is_paired, delta2, mini_meta, effect_size, proportional, all_plot_groups, idx, \n", + " show_delta2, show_mini_meta, float_contrast, show_pairs, effect_size_type)\n", + "\n", + "def get_kwargs(plot_kwargs, ytick_color):\n", + " from .misc_tools import merge_two_dicts\n", + "\n", + " # Swarmplot kwargs\n", + " default_swarmplot_kwargs = {\"size\": plot_kwargs[\"raw_marker_size\"]}\n", + " if plot_kwargs[\"swarmplot_kwargs\"] is None:\n", + " swarmplot_kwargs = default_swarmplot_kwargs\n", + " else:\n", + " swarmplot_kwargs = merge_two_dicts(\n", + " default_swarmplot_kwargs, plot_kwargs[\"swarmplot_kwargs\"]\n", + " )\n", + "\n", + " # Barplot kwargs\n", + " default_barplot_kwargs = {\"estimator\": np.mean, \"errorbar\": plot_kwargs[\"ci\"]}\n", + " if plot_kwargs[\"barplot_kwargs\"] is None:\n", + " barplot_kwargs = default_barplot_kwargs\n", + " else:\n", + " barplot_kwargs = merge_two_dicts(\n", + " default_barplot_kwargs, plot_kwargs[\"barplot_kwargs\"]\n", + " )\n", + "\n", + " # Sankey Diagram kwargs\n", + " default_sankey_kwargs = {\n", + " \"width\": 0.4,\n", + " \"align\": \"center\",\n", + " \"sankey\": True,\n", + " \"flow\": True,\n", + " \"alpha\": 0.4,\n", + " \"rightColor\": False,\n", + " \"bar_width\": 0.2,\n", + " }\n", + " if plot_kwargs[\"sankey_kwargs\"] is None:\n", + " sankey_kwargs = default_sankey_kwargs\n", + " else:\n", + " sankey_kwargs = merge_two_dicts(\n", + " default_sankey_kwargs, plot_kwargs[\"sankey_kwargs\"]\n", + " )\n", + "\n", + " # Violinplot kwargs.\n", + " default_violinplot_kwargs = {\n", + " \"widths\": 0.5,\n", + " \"vert\": True,\n", + " \"showextrema\": False,\n", + " \"showmedians\": False,\n", + " }\n", + " if plot_kwargs[\"violinplot_kwargs\"] is None:\n", + " violinplot_kwargs = default_violinplot_kwargs\n", + " else:\n", + " violinplot_kwargs = merge_two_dicts(\n", + " default_violinplot_kwargs, plot_kwargs[\"violinplot_kwargs\"]\n", + " )\n", + "\n", + " # Slopegraph kwargs.\n", + " default_slopegraph_kwargs = {\"linewidth\": 1, \"alpha\": 0.5}\n", + " if plot_kwargs[\"slopegraph_kwargs\"] is None:\n", + " slopegraph_kwargs = default_slopegraph_kwargs\n", + " else:\n", + " slopegraph_kwargs = merge_two_dicts(\n", + " default_slopegraph_kwargs, plot_kwargs[\"slopegraph_kwargs\"]\n", + " )\n", + "\n", + " # Zero reference-line kwargs.\n", + " default_reflines_kwargs = {\n", + " \"linestyle\": \"solid\",\n", + " \"linewidth\": 0.75,\n", + " \"zorder\": 2,\n", + " \"color\": ytick_color,\n", + " }\n", + " if plot_kwargs[\"reflines_kwargs\"] is None:\n", + " reflines_kwargs = default_reflines_kwargs\n", + " else:\n", + " reflines_kwargs = merge_two_dicts(\n", + " default_reflines_kwargs, plot_kwargs[\"reflines_kwargs\"]\n", + " )\n", + "\n", + " # Legend kwargs.\n", + " default_legend_kwargs = {\"loc\": \"upper left\", \"frameon\": False}\n", + " if plot_kwargs[\"legend_kwargs\"] is None:\n", + " legend_kwargs = default_legend_kwargs\n", + " else:\n", + " legend_kwargs = merge_two_dicts(\n", + " default_legend_kwargs, plot_kwargs[\"legend_kwargs\"]\n", + " )\n", + "\n", + " # Group summaries kwargs.\n", + " gs_default = {\"mean_sd\", \"median_quartiles\", None}\n", + " if plot_kwargs[\"group_summaries\"] not in gs_default:\n", + " raise ValueError(\n", + " \"group_summaries must be one of\" \" these: {}.\".format(gs_default)\n", + " )\n", + "\n", + " default_group_summary_kwargs = {\"zorder\": 3, \"lw\": 2, \"alpha\": 1}\n", + " if plot_kwargs[\"group_summary_kwargs\"] is None:\n", + " group_summary_kwargs = default_group_summary_kwargs\n", + " else:\n", + " group_summary_kwargs = merge_two_dicts(\n", + " default_group_summary_kwargs, plot_kwargs[\"group_summary_kwargs\"]\n", + " )\n", + "\n", + " return (swarmplot_kwargs, barplot_kwargs, sankey_kwargs, violinplot_kwargs, slopegraph_kwargs, \n", + " reflines_kwargs, legend_kwargs, group_summary_kwargs)\n", + " ..." ] } ], diff --git a/nbs/API/plotter.ipynb b/nbs/API/plotter.ipynb index 8c9f4560..3819814c 100644 --- a/nbs/API/plotter.ipynb +++ b/nbs/API/plotter.ipynb @@ -118,7 +118,10 @@ " delta_text=True, delta_text_kwargs=None,\n", " delta_dot=True, delta_dot_kwargs=None,\n", " \"\"\"\n", - " from .misc_tools import merge_two_dicts\n", + " from .misc_tools import (merge_two_dicts,\n", + " get_params,\n", + " get_kwargs,\n", + " )\n", " from .plot_tools import (\n", " halfviolin,\n", " get_swarm_spans,\n", @@ -151,149 +154,23 @@ " original_rcParams[parameter] = plt.rcParams[parameter]\n", "\n", " plt.rcParams[\"axes.grid\"] = False\n", - "\n", " ytick_color = plt.rcParams[\"ytick.color\"]\n", - " face_color = plot_kwargs[\"face_color\"]\n", - "\n", - " if plot_kwargs[\"face_color\"] is None:\n", - " face_color = \"white\"\n", - "\n", - " dabest_obj = effectsize_df.dabest_obj\n", - " plot_data = effectsize_df._plot_data\n", - " xvar = effectsize_df.xvar\n", - " yvar = effectsize_df.yvar\n", - " is_paired = effectsize_df.is_paired\n", - " delta2 = effectsize_df.delta2\n", - " mini_meta = effectsize_df.mini_meta\n", - " effect_size = effectsize_df.effect_size\n", - " proportional = effectsize_df.proportional\n", - "\n", - " all_plot_groups = dabest_obj._all_plot_groups\n", - " idx = dabest_obj.idx\n", - "\n", - " if effect_size not in [\"mean_diff\", \"delta_g\"] or not delta2:\n", - " show_delta2 = False\n", - " else:\n", - " show_delta2 = plot_kwargs[\"show_delta2\"]\n", - "\n", - " if effect_size != \"mean_diff\" or not mini_meta:\n", - " show_mini_meta = False\n", - " else:\n", - " show_mini_meta = plot_kwargs[\"show_mini_meta\"]\n", - "\n", - " if show_delta2 and show_mini_meta:\n", - " err0 = \"`show_delta2` and `show_mini_meta` cannot be True at the same time.\"\n", - " raise ValueError(err0)\n", - "\n", - " # Disable Gardner-Altman plotting if any of the idxs comprise of more than\n", - " # two groups or if it is a delta-delta plot.\n", - " float_contrast = plot_kwargs[\"float_contrast\"]\n", - " effect_size_type = effectsize_df.effect_size\n", - " if len(idx) > 1 or len(idx[0]) > 2:\n", - " float_contrast = False\n", - "\n", - " if effect_size_type in [\"cliffs_delta\"]:\n", - " float_contrast = False\n", - "\n", - " if show_delta2 or show_mini_meta:\n", - " float_contrast = False\n", - "\n", - " if not is_paired:\n", - " show_pairs = False\n", - " else:\n", - " show_pairs = plot_kwargs[\"show_pairs\"]\n", "\n", - " # Set default kwargs first, then merge with user-dictated ones.\n", - " # Swarmplot kwargs\n", - " default_swarmplot_kwargs = {\"size\": plot_kwargs[\"raw_marker_size\"]}\n", - " if plot_kwargs[\"swarmplot_kwargs\"] is None:\n", - " swarmplot_kwargs = default_swarmplot_kwargs\n", - " else:\n", - " swarmplot_kwargs = merge_two_dicts(\n", - " default_swarmplot_kwargs, plot_kwargs[\"swarmplot_kwargs\"]\n", - " )\n", - " asymmetric_side = (\n", - " \"left\" # TODO: allow users to control side for swarms of swarmplot.\n", - " )\n", + " # Extract parameters and set default kwargs\n", + " (face_color, dabest_obj, plot_data, xvar, yvar, is_paired, delta2, mini_meta, effect_size, proportional, all_plot_groups, idx, \n", + " show_delta2, show_mini_meta, float_contrast, show_pairs, effect_size_type) = get_params(effectsize_df=effectsize_df, plot_kwargs=plot_kwargs)\n", "\n", - " # Barplot kwargs\n", - " default_barplot_kwargs = {\"estimator\": np.mean, \"errorbar\": plot_kwargs[\"ci\"]}\n", + " (swarmplot_kwargs, barplot_kwargs, sankey_kwargs, violinplot_kwargs, slopegraph_kwargs, \n", + " reflines_kwargs, legend_kwargs, group_summary_kwargs) = get_kwargs(plot_kwargs=plot_kwargs, ytick_color=ytick_color)\n", "\n", - " if plot_kwargs[\"barplot_kwargs\"] is None:\n", - " barplot_kwargs = default_barplot_kwargs\n", - " else:\n", - " barplot_kwargs = merge_two_dicts(\n", - " default_barplot_kwargs, plot_kwargs[\"barplot_kwargs\"]\n", - " )\n", + " # Extract parameters and set default kwargs\n", "\n", - " # Sankey Diagram kwargs\n", - " default_sankey_kwargs = {\n", - " \"width\": 0.4,\n", - " \"align\": \"center\",\n", - " \"sankey\": True,\n", - " \"flow\": True,\n", - " \"alpha\": 0.4,\n", - " \"rightColor\": False,\n", - " \"bar_width\": 0.2,\n", - " }\n", - " if plot_kwargs[\"sankey_kwargs\"] is None:\n", - " sankey_kwargs = default_sankey_kwargs\n", - " else:\n", - " sankey_kwargs = merge_two_dicts(\n", - " default_sankey_kwargs, plot_kwargs[\"sankey_kwargs\"]\n", - " )\n", " # We also need to extract the `sankey` and `flow` from the kwargs for plotter.py\n", " # to use for varying different kinds of paired proportional plots\n", " # We also don't want to pop the parameter from the kwargs\n", " sankey = sankey_kwargs[\"sankey\"]\n", " flow = sankey_kwargs[\"flow\"]\n", "\n", - " # Violinplot kwargs.\n", - " default_violinplot_kwargs = {\n", - " \"widths\": 0.5,\n", - " \"vert\": True,\n", - " \"showextrema\": False,\n", - " \"showmedians\": False,\n", - " }\n", - " if plot_kwargs[\"violinplot_kwargs\"] is None:\n", - " violinplot_kwargs = default_violinplot_kwargs\n", - " else:\n", - " violinplot_kwargs = merge_two_dicts(\n", - " default_violinplot_kwargs, plot_kwargs[\"violinplot_kwargs\"]\n", - " )\n", - "\n", - " # Slopegraph kwargs.\n", - " default_slopegraph_kwargs = {\"linewidth\": 1, \"alpha\": 0.5}\n", - " if plot_kwargs[\"slopegraph_kwargs\"] is None:\n", - " slopegraph_kwargs = default_slopegraph_kwargs\n", - " else:\n", - " slopegraph_kwargs = merge_two_dicts(\n", - " default_slopegraph_kwargs, plot_kwargs[\"slopegraph_kwargs\"]\n", - " )\n", - "\n", - " # Zero reference-line kwargs.\n", - " default_reflines_kwargs = {\n", - " \"linestyle\": \"solid\",\n", - " \"linewidth\": 0.75,\n", - " \"zorder\": 2,\n", - " \"color\": ytick_color,\n", - " }\n", - " if plot_kwargs[\"reflines_kwargs\"] is None:\n", - " reflines_kwargs = default_reflines_kwargs\n", - " else:\n", - " reflines_kwargs = merge_two_dicts(\n", - " default_reflines_kwargs, plot_kwargs[\"reflines_kwargs\"]\n", - " )\n", - "\n", - " # Legend kwargs.\n", - " default_legend_kwargs = {\"loc\": \"upper left\", \"frameon\": False}\n", - " if plot_kwargs[\"legend_kwargs\"] is None:\n", - " legend_kwargs = default_legend_kwargs\n", - " else:\n", - " legend_kwargs = merge_two_dicts(\n", - " default_legend_kwargs, plot_kwargs[\"legend_kwargs\"]\n", - " )\n", - "\n", " ################################################### GRIDKEY WIP - extracting arguments\n", "\n", " gridkey_rows = plot_kwargs[\"gridkey_rows\"]\n", @@ -307,20 +184,6 @@ "\n", " ################################################### END GRIDKEY WIP - extracting arguments\n", "\n", - " # Group summaries kwargs.\n", - " gs_default = {\"mean_sd\", \"median_quartiles\", None}\n", - " if plot_kwargs[\"group_summaries\"] not in gs_default:\n", - " raise ValueError(\n", - " \"group_summaries must be one of\" \" these: {}.\".format(gs_default)\n", - " )\n", - "\n", - " default_group_summary_kwargs = {\"zorder\": 3, \"lw\": 2, \"alpha\": 1}\n", - " if plot_kwargs[\"group_summary_kwargs\"] is None:\n", - " group_summary_kwargs = default_group_summary_kwargs\n", - " else:\n", - " group_summary_kwargs = merge_two_dicts(\n", - " default_group_summary_kwargs, plot_kwargs[\"group_summary_kwargs\"]\n", - " )\n", "\n", " # Create color palette that will be shared across subplots.\n", " color_col = plot_kwargs[\"color_col\"]\n", @@ -1438,7 +1301,6 @@ " )\n", "\n", " ################################################### GRIDKEY MAIN CODE WIP\n", - "\n", " # if gridkey_rows is None, skip everything here\n", " if gridkey_rows is not None:\n", " # Raise error if there are more than 2 items in any idx and gridkey_merge_pairs is True and is_paired is not None\n", @@ -1564,11 +1426,9 @@ " # turns off both x axes\n", " rawdata_axes.get_xaxis().set_visible(False)\n", " contrast_axes.get_xaxis().set_visible(False)\n", - "\n", " ####################################################### END GRIDKEY MAIN CODE WIP\n", " \n", " ################################################### Swarm & Contrast & Summary Bars WIP\n", - "\n", " # Swarm bars WIP\n", " swarm_bars = plot_kwargs[\"swarm_bars\"]\n", " default_swarm_bars_kwargs = {\"color\": None, \"alpha\": 0.3}\n", @@ -1604,10 +1464,9 @@ " summary_bars_plotter(summary_bars=summary_bars, results=results, ax_to_plot=contrast_axes, float_contrast=float_contrast,\n", " summary_bars_kwargs=summary_bars_kwargs, ci_type=ci_type, ticks_to_plot=ticks_to_plot, color_col=color_col,\n", " swarm_colors=swarm_colors, proportional=proportional, is_paired=is_paired)\n", - " \n", " ################################################### Swarm & Contrast & Summary Bars WIP END\n", "\n", - " ################################################### Delta numbers WIP START\n", + " ################################################### Delta text WIP START\n", " delta_text = plot_kwargs[\"delta_text\"]\n", " default_delta_text_kwargs = {\"color\": None, \"alpha\": 1, \"fontsize\": 10, \"ha\": 'center', \"va\": 'center', \"rotation\": 0, \"x_location\": 'right', \"x_coordinates\": None, \"y_coordinates\": None}\n", " if plot_kwargs[\"delta_text_kwargs\"] is None:\n", @@ -1620,9 +1479,7 @@ " is_paired=is_paired,proportional=proportional, float_contrast=float_contrast, show_mini_meta=show_mini_meta, \n", " mini_meta_delta=mini_meta_delta if show_mini_meta else None, show_delta2=show_delta2, \n", " delta_delta=delta_delta if show_delta2 else None)\n", - "\n", - " ################################################### Delta numbers WIP END\n", - "\n", + " ################################################### Delta text WIP END\n", "\n", " # Make sure no stray ticks appear!\n", " rawdata_axes.xaxis.set_ticks_position(\"bottom\")\n", From f1e287257a1bf3ce16cded25f5fafdf184ab27a6 Mon Sep 17 00:00:00 2001 From: JAnns98 Date: Sun, 8 Sep 2024 20:54:16 +0800 Subject: [PATCH 16/42] Trimmed plotter by creating two new misc_tools functions - get_color_palette and get_fig_size --- dabest/_modidx.py | 4 +- dabest/misc_tools.py | 106 ++++++++++++++++++++++++++++++++++++++- dabest/plotter.py | 97 +++++------------------------------ nbs/API/misc_tools.ipynb | 105 +++++++++++++++++++++++++++++++++++++- nbs/API/plotter.ipynb | 97 +++++------------------------------ 5 files changed, 234 insertions(+), 175 deletions(-) diff --git a/dabest/_modidx.py b/dabest/_modidx.py index 750ec79f..c592e54e 100644 --- a/dabest/_modidx.py +++ b/dabest/_modidx.py @@ -65,7 +65,9 @@ 'dabest/forest_plot.py'), 'dabest.forest_plot.forest_plot': ('API/forest_plot.html#forest_plot', 'dabest/forest_plot.py'), 'dabest.forest_plot.load_plot_data': ('API/forest_plot.html#load_plot_data', 'dabest/forest_plot.py')}, - 'dabest.misc_tools': { 'dabest.misc_tools.get_kwargs': ('API/misc_tools.html#get_kwargs', 'dabest/misc_tools.py'), + 'dabest.misc_tools': { 'dabest.misc_tools.get_color_palette': ('API/misc_tools.html#get_color_palette', 'dabest/misc_tools.py'), + 'dabest.misc_tools.get_fig_size': ('API/misc_tools.html#get_fig_size', 'dabest/misc_tools.py'), + 'dabest.misc_tools.get_kwargs': ('API/misc_tools.html#get_kwargs', 'dabest/misc_tools.py'), 'dabest.misc_tools.get_params': ('API/misc_tools.html#get_params', 'dabest/misc_tools.py'), 'dabest.misc_tools.get_varname': ('API/misc_tools.html#get_varname', 'dabest/misc_tools.py'), 'dabest.misc_tools.merge_two_dicts': ('API/misc_tools.html#merge_two_dicts', 'dabest/misc_tools.py'), diff --git a/dabest/misc_tools.py b/dabest/misc_tools.py index 08e58a9e..36e0a0da 100644 --- a/dabest/misc_tools.py +++ b/dabest/misc_tools.py @@ -1,12 +1,16 @@ # AUTOGENERATED! DO NOT EDIT! File to edit: ../nbs/API/misc_tools.ipynb. # %% auto 0 -__all__ = ['merge_two_dicts', 'unpack_and_add', 'print_greeting', 'get_varname', 'get_params', 'get_kwargs'] +__all__ = ['merge_two_dicts', 'unpack_and_add', 'print_greeting', 'get_varname', 'get_params', 'get_kwargs', 'get_color_palette', + 'get_fig_size'] # %% ../nbs/API/misc_tools.ipynb 4 import datetime as dt import numpy as np from numpy import repeat +import pandas as pd +import seaborn as sns +import matplotlib.pyplot as plt # %% ../nbs/API/misc_tools.ipynb 5 def merge_two_dicts( @@ -223,4 +227,102 @@ def get_kwargs(plot_kwargs, ytick_color): return (swarmplot_kwargs, barplot_kwargs, sankey_kwargs, violinplot_kwargs, slopegraph_kwargs, reflines_kwargs, legend_kwargs, group_summary_kwargs) - ... + + +def get_color_palette(plot_kwargs, plot_data, xvar, show_pairs): + + # Create color palette that will be shared across subplots. + color_col = plot_kwargs["color_col"] + if color_col is None: + color_groups = pd.unique(plot_data[xvar]) + bootstraps_color_by_group = True + else: + if color_col not in plot_data.columns: + raise KeyError("``{}`` is not a column in the data.".format(color_col)) + color_groups = pd.unique(plot_data[color_col]) + bootstraps_color_by_group = False + if show_pairs: + bootstraps_color_by_group = False + + # Handle the color palette. + names = color_groups + n_groups = len(color_groups) + custom_pal = plot_kwargs["custom_palette"] + swarm_desat = plot_kwargs["swarm_desat"] + bar_desat = plot_kwargs["bar_desat"] + contrast_desat = plot_kwargs["halfviolin_desat"] + + if custom_pal is None: + unsat_colors = sns.color_palette(n_colors=n_groups) + else: + if isinstance(custom_pal, dict): + groups_in_palette = { + k: v for k, v in custom_pal.items() if k in color_groups + } + + names = groups_in_palette.keys() + unsat_colors = groups_in_palette.values() + + elif isinstance(custom_pal, list): + unsat_colors = custom_pal[0:n_groups] + + elif isinstance(custom_pal, str): + # check it is in the list of matplotlib palettes. + if custom_pal in plt.colormaps(): + unsat_colors = sns.color_palette(custom_pal, n_groups) + else: + err1 = "The specified `custom_palette` {}".format(custom_pal) + err2 = " is not a matplotlib palette. Please check." + raise ValueError(err1 + err2) + + + if custom_pal is None and color_col is None: + swarm_colors = [sns.desaturate(c, swarm_desat) for c in unsat_colors] + plot_palette_raw = dict(zip(names.categories, swarm_colors)) + + bar_color = [sns.desaturate(c, bar_desat) for c in unsat_colors] + plot_palette_bar = dict(zip(names.categories, bar_color)) + + contrast_colors = [sns.desaturate(c, contrast_desat) for c in unsat_colors] + plot_palette_contrast = dict(zip(names.categories, contrast_colors)) + + # For Sankey Diagram plot, no need to worry about the color, each bar will have the same two colors + # default color palette will be set to "hls" + plot_palette_sankey = None + + else: + swarm_colors = [sns.desaturate(c, swarm_desat) for c in unsat_colors] + plot_palette_raw = dict(zip(names, swarm_colors)) + + bar_color = [sns.desaturate(c, bar_desat) for c in unsat_colors] + plot_palette_bar = dict(zip(names, bar_color)) + + contrast_colors = [sns.desaturate(c, contrast_desat) for c in unsat_colors] + plot_palette_contrast = dict(zip(names, contrast_colors)) + + plot_palette_sankey = custom_pal + + return (color_col, color_groups, bootstraps_color_by_group, names, n_groups, custom_pal, swarm_desat, bar_desat, contrast_desat, + unsat_colors, swarm_colors, plot_palette_raw, bar_color, plot_palette_bar, contrast_colors, plot_palette_contrast, plot_palette_sankey) + +def get_fig_size(plot_kwargs,dabest_obj,show_delta2,show_mini_meta,is_paired,show_pairs,proportional,float_contrast): + fig_size = plot_kwargs["fig_size"] + if fig_size is None: + all_groups_count = np.sum([len(i) for i in dabest_obj.idx]) + # Increase the width for delta-delta graph + if show_delta2 or show_mini_meta: + all_groups_count += 2 + if is_paired and show_pairs and proportional is False: + frac = 0.75 + else: + frac = 1 + if float_contrast: + height_inches = 4 + each_group_width_inches = 2.5 * frac + else: + height_inches = 6 + each_group_width_inches = 1.5 * frac + + width_inches = each_group_width_inches * all_groups_count + fig_size = (width_inches, height_inches) + return fig_size diff --git a/dabest/plotter.py b/dabest/plotter.py index 9420c71f..c60e6f0d 100644 --- a/dabest/plotter.py +++ b/dabest/plotter.py @@ -62,6 +62,8 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): from .misc_tools import (merge_two_dicts, get_params, get_kwargs, + get_color_palette, + get_fig_size, ) from .plot_tools import ( halfviolin, @@ -125,97 +127,22 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): ################################################### END GRIDKEY WIP - extracting arguments + ################################################### Color palette WIP Start - # Create color palette that will be shared across subplots. - color_col = plot_kwargs["color_col"] - if color_col is None: - color_groups = pd.unique(plot_data[xvar]) - bootstraps_color_by_group = True - else: - if color_col not in plot_data.columns: - raise KeyError("``{}`` is not a column in the data.".format(color_col)) - color_groups = pd.unique(plot_data[color_col]) - bootstraps_color_by_group = False - if show_pairs: - bootstraps_color_by_group = False - - # Handle the color palette. - names = color_groups - n_groups = len(color_groups) - custom_pal = plot_kwargs["custom_palette"] - swarm_desat = plot_kwargs["swarm_desat"] - bar_desat = plot_kwargs["bar_desat"] - contrast_desat = plot_kwargs["halfviolin_desat"] - - if custom_pal is None: - unsat_colors = sns.color_palette(n_colors=n_groups) - else: - if isinstance(custom_pal, dict): - groups_in_palette = { - k: v for k, v in custom_pal.items() if k in color_groups - } - - names = groups_in_palette.keys() - unsat_colors = groups_in_palette.values() - - elif isinstance(custom_pal, list): - unsat_colors = custom_pal[0:n_groups] - - elif isinstance(custom_pal, str): - # check it is in the list of matplotlib palettes. - if custom_pal in plt.colormaps(): - unsat_colors = sns.color_palette(custom_pal, n_groups) - else: - err1 = "The specified `custom_palette` {}".format(custom_pal) - err2 = " is not a matplotlib palette. Please check." - raise ValueError(err1 + err2) - - if custom_pal is None and color_col is None: - swarm_colors = [sns.desaturate(c, swarm_desat) for c in unsat_colors] - plot_palette_raw = dict(zip(names.categories, swarm_colors)) - bar_color = [sns.desaturate(c, bar_desat) for c in unsat_colors] - plot_palette_bar = dict(zip(names.categories, bar_color)) + (color_col, color_groups, bootstraps_color_by_group, names, n_groups, custom_pal, swarm_desat, bar_desat, + contrast_desat, unsat_colors, swarm_colors, plot_palette_raw, bar_color, plot_palette_bar, contrast_colors, + plot_palette_contrast, plot_palette_sankey) = get_color_palette(plot_kwargs=plot_kwargs, plot_data=plot_data, + xvar=xvar, show_pairs=show_pairs) + ################################################### Color palette WIP End - contrast_colors = [sns.desaturate(c, contrast_desat) for c in unsat_colors] - plot_palette_contrast = dict(zip(names.categories, contrast_colors)) - # For Sankey Diagram plot, no need to worry about the color, each bar will have the same two colors - # default color palette will be set to "hls" - plot_palette_sankey = None + ################################################### Fig Size WIP End - else: - swarm_colors = [sns.desaturate(c, swarm_desat) for c in unsat_colors] - plot_palette_raw = dict(zip(names, swarm_colors)) - - bar_color = [sns.desaturate(c, bar_desat) for c in unsat_colors] - plot_palette_bar = dict(zip(names, bar_color)) - - contrast_colors = [sns.desaturate(c, contrast_desat) for c in unsat_colors] - plot_palette_contrast = dict(zip(names, contrast_colors)) - - plot_palette_sankey = custom_pal - - # Infer the figsize. - fig_size = plot_kwargs["fig_size"] - if fig_size is None: - all_groups_count = np.sum([len(i) for i in dabest_obj.idx]) - # Increase the width for delta-delta graph - if show_delta2 or show_mini_meta: - all_groups_count += 2 - if is_paired and show_pairs and proportional is False: - frac = 0.75 - else: - frac = 1 - if float_contrast: - height_inches = 4 - each_group_width_inches = 2.5 * frac - else: - height_inches = 6 - each_group_width_inches = 1.5 * frac + fig_size = get_fig_size(plot_kwargs=plot_kwargs,dabest_obj=dabest_obj,show_delta2=show_delta2,show_mini_meta=show_mini_meta, + is_paired=is_paired,show_pairs=show_pairs,proportional=proportional,float_contrast=float_contrast) - width_inches = each_group_width_inches * all_groups_count - fig_size = (width_inches, height_inches) + ################################################### Fig Size WIP End # Initialise the figure. init_fig_kwargs = dict(figsize=fig_size, dpi=plot_kwargs["dpi"], tight_layout=True) diff --git a/nbs/API/misc_tools.ipynb b/nbs/API/misc_tools.ipynb index ab8f366a..d2375790 100644 --- a/nbs/API/misc_tools.ipynb +++ b/nbs/API/misc_tools.ipynb @@ -56,7 +56,10 @@ "#| export\n", "import datetime as dt\n", "import numpy as np\n", - "from numpy import repeat" + "from numpy import repeat\n", + "import pandas as pd\n", + "import seaborn as sns\n", + "import matplotlib.pyplot as plt" ] }, { @@ -281,7 +284,105 @@ "\n", " return (swarmplot_kwargs, barplot_kwargs, sankey_kwargs, violinplot_kwargs, slopegraph_kwargs, \n", " reflines_kwargs, legend_kwargs, group_summary_kwargs)\n", - " ..." + "\n", + "\n", + "def get_color_palette(plot_kwargs, plot_data, xvar, show_pairs):\n", + "\n", + " # Create color palette that will be shared across subplots.\n", + " color_col = plot_kwargs[\"color_col\"]\n", + " if color_col is None:\n", + " color_groups = pd.unique(plot_data[xvar])\n", + " bootstraps_color_by_group = True\n", + " else:\n", + " if color_col not in plot_data.columns:\n", + " raise KeyError(\"``{}`` is not a column in the data.\".format(color_col))\n", + " color_groups = pd.unique(plot_data[color_col])\n", + " bootstraps_color_by_group = False\n", + " if show_pairs:\n", + " bootstraps_color_by_group = False\n", + "\n", + " # Handle the color palette.\n", + " names = color_groups\n", + " n_groups = len(color_groups)\n", + " custom_pal = plot_kwargs[\"custom_palette\"]\n", + " swarm_desat = plot_kwargs[\"swarm_desat\"]\n", + " bar_desat = plot_kwargs[\"bar_desat\"]\n", + " contrast_desat = plot_kwargs[\"halfviolin_desat\"]\n", + "\n", + " if custom_pal is None:\n", + " unsat_colors = sns.color_palette(n_colors=n_groups)\n", + " else:\n", + " if isinstance(custom_pal, dict):\n", + " groups_in_palette = {\n", + " k: v for k, v in custom_pal.items() if k in color_groups\n", + " }\n", + "\n", + " names = groups_in_palette.keys()\n", + " unsat_colors = groups_in_palette.values()\n", + "\n", + " elif isinstance(custom_pal, list):\n", + " unsat_colors = custom_pal[0:n_groups]\n", + "\n", + " elif isinstance(custom_pal, str):\n", + " # check it is in the list of matplotlib palettes.\n", + " if custom_pal in plt.colormaps():\n", + " unsat_colors = sns.color_palette(custom_pal, n_groups)\n", + " else:\n", + " err1 = \"The specified `custom_palette` {}\".format(custom_pal)\n", + " err2 = \" is not a matplotlib palette. Please check.\"\n", + " raise ValueError(err1 + err2)\n", + " \n", + "\n", + " if custom_pal is None and color_col is None:\n", + " swarm_colors = [sns.desaturate(c, swarm_desat) for c in unsat_colors]\n", + " plot_palette_raw = dict(zip(names.categories, swarm_colors))\n", + "\n", + " bar_color = [sns.desaturate(c, bar_desat) for c in unsat_colors]\n", + " plot_palette_bar = dict(zip(names.categories, bar_color))\n", + "\n", + " contrast_colors = [sns.desaturate(c, contrast_desat) for c in unsat_colors]\n", + " plot_palette_contrast = dict(zip(names.categories, contrast_colors))\n", + "\n", + " # For Sankey Diagram plot, no need to worry about the color, each bar will have the same two colors\n", + " # default color palette will be set to \"hls\"\n", + " plot_palette_sankey = None\n", + "\n", + " else:\n", + " swarm_colors = [sns.desaturate(c, swarm_desat) for c in unsat_colors]\n", + " plot_palette_raw = dict(zip(names, swarm_colors))\n", + "\n", + " bar_color = [sns.desaturate(c, bar_desat) for c in unsat_colors]\n", + " plot_palette_bar = dict(zip(names, bar_color))\n", + "\n", + " contrast_colors = [sns.desaturate(c, contrast_desat) for c in unsat_colors]\n", + " plot_palette_contrast = dict(zip(names, contrast_colors))\n", + "\n", + " plot_palette_sankey = custom_pal\n", + "\n", + " return (color_col, color_groups, bootstraps_color_by_group, names, n_groups, custom_pal, swarm_desat, bar_desat, contrast_desat,\n", + " unsat_colors, swarm_colors, plot_palette_raw, bar_color, plot_palette_bar, contrast_colors, plot_palette_contrast, plot_palette_sankey)\n", + "\n", + "def get_fig_size(plot_kwargs,dabest_obj,show_delta2,show_mini_meta,is_paired,show_pairs,proportional,float_contrast):\n", + " fig_size = plot_kwargs[\"fig_size\"]\n", + " if fig_size is None:\n", + " all_groups_count = np.sum([len(i) for i in dabest_obj.idx])\n", + " # Increase the width for delta-delta graph\n", + " if show_delta2 or show_mini_meta:\n", + " all_groups_count += 2\n", + " if is_paired and show_pairs and proportional is False:\n", + " frac = 0.75\n", + " else:\n", + " frac = 1\n", + " if float_contrast:\n", + " height_inches = 4\n", + " each_group_width_inches = 2.5 * frac\n", + " else:\n", + " height_inches = 6\n", + " each_group_width_inches = 1.5 * frac\n", + "\n", + " width_inches = each_group_width_inches * all_groups_count\n", + " fig_size = (width_inches, height_inches)\n", + " return fig_size" ] } ], diff --git a/nbs/API/plotter.ipynb b/nbs/API/plotter.ipynb index 3819814c..38573930 100644 --- a/nbs/API/plotter.ipynb +++ b/nbs/API/plotter.ipynb @@ -121,6 +121,8 @@ " from .misc_tools import (merge_two_dicts,\n", " get_params,\n", " get_kwargs,\n", + " get_color_palette,\n", + " get_fig_size,\n", " )\n", " from .plot_tools import (\n", " halfviolin,\n", @@ -184,97 +186,22 @@ "\n", " ################################################### END GRIDKEY WIP - extracting arguments\n", "\n", + " ################################################### Color palette WIP Start\n", "\n", - " # Create color palette that will be shared across subplots.\n", - " color_col = plot_kwargs[\"color_col\"]\n", - " if color_col is None:\n", - " color_groups = pd.unique(plot_data[xvar])\n", - " bootstraps_color_by_group = True\n", - " else:\n", - " if color_col not in plot_data.columns:\n", - " raise KeyError(\"``{}`` is not a column in the data.\".format(color_col))\n", - " color_groups = pd.unique(plot_data[color_col])\n", - " bootstraps_color_by_group = False\n", - " if show_pairs:\n", - " bootstraps_color_by_group = False\n", - "\n", - " # Handle the color palette.\n", - " names = color_groups\n", - " n_groups = len(color_groups)\n", - " custom_pal = plot_kwargs[\"custom_palette\"]\n", - " swarm_desat = plot_kwargs[\"swarm_desat\"]\n", - " bar_desat = plot_kwargs[\"bar_desat\"]\n", - " contrast_desat = plot_kwargs[\"halfviolin_desat\"]\n", - "\n", - " if custom_pal is None:\n", - " unsat_colors = sns.color_palette(n_colors=n_groups)\n", - " else:\n", - " if isinstance(custom_pal, dict):\n", - " groups_in_palette = {\n", - " k: v for k, v in custom_pal.items() if k in color_groups\n", - " }\n", - "\n", - " names = groups_in_palette.keys()\n", - " unsat_colors = groups_in_palette.values()\n", - "\n", - " elif isinstance(custom_pal, list):\n", - " unsat_colors = custom_pal[0:n_groups]\n", - "\n", - " elif isinstance(custom_pal, str):\n", - " # check it is in the list of matplotlib palettes.\n", - " if custom_pal in plt.colormaps():\n", - " unsat_colors = sns.color_palette(custom_pal, n_groups)\n", - " else:\n", - " err1 = \"The specified `custom_palette` {}\".format(custom_pal)\n", - " err2 = \" is not a matplotlib palette. Please check.\"\n", - " raise ValueError(err1 + err2)\n", - "\n", - " if custom_pal is None and color_col is None:\n", - " swarm_colors = [sns.desaturate(c, swarm_desat) for c in unsat_colors]\n", - " plot_palette_raw = dict(zip(names.categories, swarm_colors))\n", "\n", - " bar_color = [sns.desaturate(c, bar_desat) for c in unsat_colors]\n", - " plot_palette_bar = dict(zip(names.categories, bar_color))\n", + " (color_col, color_groups, bootstraps_color_by_group, names, n_groups, custom_pal, swarm_desat, bar_desat, \n", + " contrast_desat, unsat_colors, swarm_colors, plot_palette_raw, bar_color, plot_palette_bar, contrast_colors, \n", + " plot_palette_contrast, plot_palette_sankey) = get_color_palette(plot_kwargs=plot_kwargs, plot_data=plot_data, \n", + " xvar=xvar, show_pairs=show_pairs)\n", + " ################################################### Color palette WIP End\n", "\n", - " contrast_colors = [sns.desaturate(c, contrast_desat) for c in unsat_colors]\n", - " plot_palette_contrast = dict(zip(names.categories, contrast_colors))\n", "\n", - " # For Sankey Diagram plot, no need to worry about the color, each bar will have the same two colors\n", - " # default color palette will be set to \"hls\"\n", - " plot_palette_sankey = None\n", + " ################################################### Fig Size WIP End\n", "\n", - " else:\n", - " swarm_colors = [sns.desaturate(c, swarm_desat) for c in unsat_colors]\n", - " plot_palette_raw = dict(zip(names, swarm_colors))\n", - "\n", - " bar_color = [sns.desaturate(c, bar_desat) for c in unsat_colors]\n", - " plot_palette_bar = dict(zip(names, bar_color))\n", - "\n", - " contrast_colors = [sns.desaturate(c, contrast_desat) for c in unsat_colors]\n", - " plot_palette_contrast = dict(zip(names, contrast_colors))\n", - "\n", - " plot_palette_sankey = custom_pal\n", - "\n", - " # Infer the figsize.\n", - " fig_size = plot_kwargs[\"fig_size\"]\n", - " if fig_size is None:\n", - " all_groups_count = np.sum([len(i) for i in dabest_obj.idx])\n", - " # Increase the width for delta-delta graph\n", - " if show_delta2 or show_mini_meta:\n", - " all_groups_count += 2\n", - " if is_paired and show_pairs and proportional is False:\n", - " frac = 0.75\n", - " else:\n", - " frac = 1\n", - " if float_contrast:\n", - " height_inches = 4\n", - " each_group_width_inches = 2.5 * frac\n", - " else:\n", - " height_inches = 6\n", - " each_group_width_inches = 1.5 * frac\n", + " fig_size = get_fig_size(plot_kwargs=plot_kwargs,dabest_obj=dabest_obj,show_delta2=show_delta2,show_mini_meta=show_mini_meta,\n", + " is_paired=is_paired,show_pairs=show_pairs,proportional=proportional,float_contrast=float_contrast)\n", "\n", - " width_inches = each_group_width_inches * all_groups_count\n", - " fig_size = (width_inches, height_inches)\n", + " ################################################### Fig Size WIP End\n", "\n", " # Initialise the figure.\n", " init_fig_kwargs = dict(figsize=fig_size, dpi=plot_kwargs[\"dpi\"], tight_layout=True)\n", From c5f8bd26ed2c669d987b65c26dea19f998464105 Mon Sep 17 00:00:00 2001 From: JAnns98 Date: Sun, 8 Sep 2024 21:49:37 +0800 Subject: [PATCH 17/42] Further trimming to plotter, changed get_fig_size function in misc_tools to become initialize_fig function --- dabest/_modidx.py | 2 +- dabest/misc_tools.py | 105 +++++++++++++++++++++++++++-- dabest/plotter.py | 142 ++++++--------------------------------- nbs/API/misc_tools.ipynb | 103 ++++++++++++++++++++++++++-- nbs/API/plotter.ipynb | 142 ++++++--------------------------------- 5 files changed, 236 insertions(+), 258 deletions(-) diff --git a/dabest/_modidx.py b/dabest/_modidx.py index c592e54e..46762dd2 100644 --- a/dabest/_modidx.py +++ b/dabest/_modidx.py @@ -66,10 +66,10 @@ 'dabest.forest_plot.forest_plot': ('API/forest_plot.html#forest_plot', 'dabest/forest_plot.py'), 'dabest.forest_plot.load_plot_data': ('API/forest_plot.html#load_plot_data', 'dabest/forest_plot.py')}, 'dabest.misc_tools': { 'dabest.misc_tools.get_color_palette': ('API/misc_tools.html#get_color_palette', 'dabest/misc_tools.py'), - 'dabest.misc_tools.get_fig_size': ('API/misc_tools.html#get_fig_size', 'dabest/misc_tools.py'), 'dabest.misc_tools.get_kwargs': ('API/misc_tools.html#get_kwargs', 'dabest/misc_tools.py'), 'dabest.misc_tools.get_params': ('API/misc_tools.html#get_params', 'dabest/misc_tools.py'), 'dabest.misc_tools.get_varname': ('API/misc_tools.html#get_varname', 'dabest/misc_tools.py'), + 'dabest.misc_tools.initialize_fig': ('API/misc_tools.html#initialize_fig', 'dabest/misc_tools.py'), 'dabest.misc_tools.merge_two_dicts': ('API/misc_tools.html#merge_two_dicts', 'dabest/misc_tools.py'), 'dabest.misc_tools.print_greeting': ('API/misc_tools.html#print_greeting', 'dabest/misc_tools.py'), 'dabest.misc_tools.unpack_and_add': ('API/misc_tools.html#unpack_and_add', 'dabest/misc_tools.py')}, diff --git a/dabest/misc_tools.py b/dabest/misc_tools.py index 36e0a0da..f1adc6a2 100644 --- a/dabest/misc_tools.py +++ b/dabest/misc_tools.py @@ -2,7 +2,7 @@ # %% auto 0 __all__ = ['merge_two_dicts', 'unpack_and_add', 'print_greeting', 'get_varname', 'get_params', 'get_kwargs', 'get_color_palette', - 'get_fig_size'] + 'initialize_fig'] # %% ../nbs/API/misc_tools.ipynb 4 import datetime as dt @@ -123,7 +123,7 @@ def get_params(effectsize_df, plot_kwargs): else: show_pairs = plot_kwargs["show_pairs"] - return (face_color, dabest_obj, plot_data, xvar, yvar, is_paired, delta2, mini_meta, effect_size, proportional, all_plot_groups, idx, + return (face_color, dabest_obj, plot_data, xvar, yvar, is_paired, effect_size, proportional, all_plot_groups, idx, show_delta2, show_mini_meta, float_contrast, show_pairs, effect_size_type) def get_kwargs(plot_kwargs, ytick_color): @@ -225,8 +225,24 @@ def get_kwargs(plot_kwargs, ytick_color): default_group_summary_kwargs, plot_kwargs["group_summary_kwargs"] ) + # Redraw axes kwargs. + redraw_axes_kwargs = { + "colors": ytick_color, + "facecolors": ytick_color, + "lw": 1, + "zorder": 10, + "clip_on": False, + } + + # Delta dots kwargs. + default_delta_dot_kwargs = {"marker": "^", "alpha": 0.5, "zorder": 2, "size": 3, "side": "right"} + if plot_kwargs["delta_dot_kwargs"] is None: + delta_dot_kwargs = default_delta_dot_kwargs + else: + delta_dot_kwargs = merge_two_dicts(default_delta_dot_kwargs, plot_kwargs["delta_dot_kwargs"]) + return (swarmplot_kwargs, barplot_kwargs, sankey_kwargs, violinplot_kwargs, slopegraph_kwargs, - reflines_kwargs, legend_kwargs, group_summary_kwargs) + reflines_kwargs, legend_kwargs, group_summary_kwargs, redraw_axes_kwargs, delta_dot_kwargs) def get_color_palette(plot_kwargs, plot_data, xvar, show_pairs): @@ -302,10 +318,11 @@ def get_color_palette(plot_kwargs, plot_data, xvar, show_pairs): plot_palette_sankey = custom_pal - return (color_col, color_groups, bootstraps_color_by_group, names, n_groups, custom_pal, swarm_desat, bar_desat, contrast_desat, - unsat_colors, swarm_colors, plot_palette_raw, bar_color, plot_palette_bar, contrast_colors, plot_palette_contrast, plot_palette_sankey) + return (color_col, bootstraps_color_by_group, n_groups, swarm_colors, plot_palette_raw, + bar_color, plot_palette_bar, plot_palette_contrast, plot_palette_sankey) -def get_fig_size(plot_kwargs,dabest_obj,show_delta2,show_mini_meta,is_paired,show_pairs,proportional,float_contrast): +def initialize_fig(plot_kwargs, dabest_obj, show_delta2, show_mini_meta, is_paired, show_pairs, proportional, + float_contrast, face_color, h_space_cummings): fig_size = plot_kwargs["fig_size"] if fig_size is None: all_groups_count = np.sum([len(i) for i in dabest_obj.idx]) @@ -325,4 +342,78 @@ def get_fig_size(plot_kwargs,dabest_obj,show_delta2,show_mini_meta,is_paired,sho width_inches = each_group_width_inches * all_groups_count fig_size = (width_inches, height_inches) - return fig_size + + init_fig_kwargs = dict(figsize=fig_size, dpi=plot_kwargs["dpi"], tight_layout=True) + width_ratios_ga = [2.5, 1] + + if plot_kwargs["ax"] is not None: + # New in v0.2.6. + # Use inset axes to create the estimation plot inside a single axes. + # Author: Adam L Nekimken. (PR #73) + rawdata_axes = plot_kwargs["ax"] + ax_position = rawdata_axes.get_position() # [[x0, y0], [x1, y1]] + + fig = rawdata_axes.get_figure() + fig.patch.set_facecolor(face_color) + + if float_contrast: + axins = rawdata_axes.inset_axes( + [1, 0, width_ratios_ga[1] / width_ratios_ga[0], 1] + ) + rawdata_axes.set_position( # [l, b, w, h] + [ + ax_position.x0, + ax_position.y0, + (ax_position.x1 - ax_position.x0) + * (width_ratios_ga[0] / sum(width_ratios_ga)), + (ax_position.y1 - ax_position.y0), + ] + ) + + contrast_axes = axins + else: + axins = rawdata_axes.inset_axes([0, -1 - h_space_cummings, 1, 1]) + plot_height = (ax_position.y1 - ax_position.y0) / (2 + h_space_cummings) + rawdata_axes.set_position( + [ + ax_position.x0, + ax_position.y0 + (1 + h_space_cummings) * plot_height, + (ax_position.x1 - ax_position.x0), + plot_height, + ] + ) + + contrast_axes = axins + rawdata_axes.contrast_axes = axins + + else: + # Here, we hardcode some figure parameters. + if float_contrast: + fig, axx = plt.subplots( + ncols=2, + gridspec_kw={"width_ratios": width_ratios_ga, "wspace": 0}, + **init_fig_kwargs + ) + fig.patch.set_facecolor(face_color) + + else: + fig, axx = plt.subplots( + nrows=2, gridspec_kw={"hspace": h_space_cummings}, **init_fig_kwargs + ) + fig.patch.set_facecolor(face_color) + + # Title + title = plot_kwargs["title"] + fontsize_title = plot_kwargs["fontsize_title"] + if title is not None: + fig.suptitle(title, fontsize=fontsize_title) + rawdata_axes = axx[0] + contrast_axes = axx[1] + rawdata_axes.set_frame_on(False) + contrast_axes.set_frame_on(False) + + swarm_ylim = plot_kwargs["swarm_ylim"] + if swarm_ylim is not None: + rawdata_axes.set_ylim(swarm_ylim) + + return fig, rawdata_axes, contrast_axes, swarm_ylim diff --git a/dabest/plotter.py b/dabest/plotter.py index c60e6f0d..edf9032e 100644 --- a/dabest/plotter.py +++ b/dabest/plotter.py @@ -63,7 +63,7 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): get_params, get_kwargs, get_color_palette, - get_fig_size, + initialize_fig, ) from .plot_tools import ( halfviolin, @@ -99,20 +99,25 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): plt.rcParams["axes.grid"] = False ytick_color = plt.rcParams["ytick.color"] - # Extract parameters and set default kwargs - (face_color, dabest_obj, plot_data, xvar, yvar, is_paired, delta2, mini_meta, effect_size, proportional, all_plot_groups, idx, + # Extract parameters and set kwargs + (face_color, dabest_obj, plot_data, xvar, yvar, is_paired, effect_size, proportional, all_plot_groups, idx, show_delta2, show_mini_meta, float_contrast, show_pairs, effect_size_type) = get_params(effectsize_df=effectsize_df, plot_kwargs=plot_kwargs) (swarmplot_kwargs, barplot_kwargs, sankey_kwargs, violinplot_kwargs, slopegraph_kwargs, - reflines_kwargs, legend_kwargs, group_summary_kwargs) = get_kwargs(plot_kwargs=plot_kwargs, ytick_color=ytick_color) - - # Extract parameters and set default kwargs + reflines_kwargs, legend_kwargs, group_summary_kwargs, redraw_axes_kwargs, + delta_dot_kwargs) = get_kwargs(plot_kwargs=plot_kwargs, ytick_color=ytick_color) # We also need to extract the `sankey` and `flow` from the kwargs for plotter.py # to use for varying different kinds of paired proportional plots # We also don't want to pop the parameter from the kwargs sankey = sankey_kwargs["sankey"] flow = sankey_kwargs["flow"] + one_sankey = ( + False if is_paired is not None else None + ) # Flag to indicate if only one sankey is plotted. + two_col_sankey = ( + True if proportional and not one_sankey and sankey and not flow else False + ) ################################################### GRIDKEY WIP - extracting arguments @@ -124,127 +129,24 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): if gridkey_rows is None: gridkey_show_Ns = False gridkey_show_es = False + h_space_cummings = 0.3 + else: + h_space_cummings = 0.1 ################################################### END GRIDKEY WIP - extracting arguments ################################################### Color palette WIP Start - - (color_col, color_groups, bootstraps_color_by_group, names, n_groups, custom_pal, swarm_desat, bar_desat, - contrast_desat, unsat_colors, swarm_colors, plot_palette_raw, bar_color, plot_palette_bar, contrast_colors, + (color_col, bootstraps_color_by_group, n_groups, swarm_colors, plot_palette_raw, bar_color, plot_palette_bar, plot_palette_contrast, plot_palette_sankey) = get_color_palette(plot_kwargs=plot_kwargs, plot_data=plot_data, xvar=xvar, show_pairs=show_pairs) ################################################### Color palette WIP End - - ################################################### Fig Size WIP End - - fig_size = get_fig_size(plot_kwargs=plot_kwargs,dabest_obj=dabest_obj,show_delta2=show_delta2,show_mini_meta=show_mini_meta, - is_paired=is_paired,show_pairs=show_pairs,proportional=proportional,float_contrast=float_contrast) - - ################################################### Fig Size WIP End - # Initialise the figure. - init_fig_kwargs = dict(figsize=fig_size, dpi=plot_kwargs["dpi"], tight_layout=True) - - width_ratios_ga = [2.5, 1] - - ###################### GRIDKEY HSPACE ALTERATION - - # Sets hspace for cummings plots if gridkey is shown. - if gridkey_rows is not None: - h_space_cummings = 0.1 - else: - h_space_cummings = 0.3 - - ###################### END GRIDKEY HSPACE ALTERATION - - if plot_kwargs["ax"] is not None: - # New in v0.2.6. - # Use inset axes to create the estimation plot inside a single axes. - # Author: Adam L Nekimken. (PR #73) - rawdata_axes = plot_kwargs["ax"] - ax_position = rawdata_axes.get_position() # [[x0, y0], [x1, y1]] - - fig = rawdata_axes.get_figure() - fig.patch.set_facecolor(face_color) - - if float_contrast: - axins = rawdata_axes.inset_axes( - [1, 0, width_ratios_ga[1] / width_ratios_ga[0], 1] - ) - rawdata_axes.set_position( # [l, b, w, h] - [ - ax_position.x0, - ax_position.y0, - (ax_position.x1 - ax_position.x0) - * (width_ratios_ga[0] / sum(width_ratios_ga)), - (ax_position.y1 - ax_position.y0), - ] - ) - - contrast_axes = axins - - else: - axins = rawdata_axes.inset_axes([0, -1 - h_space_cummings, 1, 1]) - plot_height = (ax_position.y1 - ax_position.y0) / (2 + h_space_cummings) - rawdata_axes.set_position( - [ - ax_position.x0, - ax_position.y0 + (1 + h_space_cummings) * plot_height, - (ax_position.x1 - ax_position.x0), - plot_height, - ] - ) - - contrast_axes = axins - rawdata_axes.contrast_axes = axins - - else: - # Here, we hardcode some figure parameters. - if float_contrast: - fig, axx = plt.subplots( - ncols=2, - gridspec_kw={"width_ratios": width_ratios_ga, "wspace": 0}, - **init_fig_kwargs - ) - fig.patch.set_facecolor(face_color) - - else: - fig, axx = plt.subplots( - nrows=2, gridspec_kw={"hspace": h_space_cummings}, **init_fig_kwargs - ) - fig.patch.set_facecolor(face_color) - - # Title - title = plot_kwargs["title"] - fontsize_title = plot_kwargs["fontsize_title"] - if title is not None: - fig.suptitle(title, fontsize=fontsize_title) - rawdata_axes = axx[0] - contrast_axes = axx[1] - rawdata_axes.set_frame_on(False) - contrast_axes.set_frame_on(False) - - redraw_axes_kwargs = { - "colors": ytick_color, - "facecolors": ytick_color, - "lw": 1, - "zorder": 10, - "clip_on": False, - } - - swarm_ylim = plot_kwargs["swarm_ylim"] - - if swarm_ylim is not None: - rawdata_axes.set_ylim(swarm_ylim) - - one_sankey = ( - False if is_paired is not None else None - ) # Flag to indicate if only one sankey is plotted. - two_col_sankey = ( - True if proportional and not one_sankey and sankey and not flow else False - ) + fig, rawdata_axes, contrast_axes, swarm_ylim = initialize_fig(plot_kwargs=plot_kwargs, dabest_obj=dabest_obj, show_delta2=show_delta2, + show_mini_meta=show_mini_meta, is_paired=is_paired, show_pairs=show_pairs, + proportional=proportional, float_contrast=float_contrast, face_color=face_color, + h_space_cummings=h_space_cummings) if show_pairs: # Determine temp_idx based on is_paired and proportional conditions @@ -304,16 +206,12 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): ##################### DELTA PTS ON CONTRAST PLOT WIP show_delta_dots = plot_kwargs["delta_dot"] - default_delta_dot_kwargs = {"marker": "^", "alpha": 0.5, "zorder": 2, "size": 3, "side": "right"} - if plot_kwargs["delta_dot_kwargs"] is None: - delta_dot_kwargs = default_delta_dot_kwargs - else: - delta_dot_kwargs = merge_two_dicts(default_delta_dot_kwargs, plot_kwargs["delta_dot_kwargs"]) if show_delta_dots and is_paired is not None: DeltaDotsPlotter(plot_data=plot_data, contrast_axes=contrast_axes, delta_id_col=dabest_obj.id_col, idx=idx, xvar=xvar, yvar=yvar, is_paired=is_paired, color_col=color_col, float_contrast=float_contrast, plot_palette_raw=plot_palette_raw, delta_dot_kwargs=delta_dot_kwargs) + ##################### DELTA PTS ON CONTRAST PLOT WIP END # Set the tick labels, because the slopegraph plotting doesn't. diff --git a/nbs/API/misc_tools.ipynb b/nbs/API/misc_tools.ipynb index d2375790..d4eb386c 100644 --- a/nbs/API/misc_tools.ipynb +++ b/nbs/API/misc_tools.ipynb @@ -180,7 +180,7 @@ " else:\n", " show_pairs = plot_kwargs[\"show_pairs\"]\n", "\n", - " return (face_color, dabest_obj, plot_data, xvar, yvar, is_paired, delta2, mini_meta, effect_size, proportional, all_plot_groups, idx, \n", + " return (face_color, dabest_obj, plot_data, xvar, yvar, is_paired, effect_size, proportional, all_plot_groups, idx, \n", " show_delta2, show_mini_meta, float_contrast, show_pairs, effect_size_type)\n", "\n", "def get_kwargs(plot_kwargs, ytick_color):\n", @@ -282,8 +282,24 @@ " default_group_summary_kwargs, plot_kwargs[\"group_summary_kwargs\"]\n", " )\n", "\n", + " # Redraw axes kwargs.\n", + " redraw_axes_kwargs = {\n", + " \"colors\": ytick_color,\n", + " \"facecolors\": ytick_color,\n", + " \"lw\": 1,\n", + " \"zorder\": 10,\n", + " \"clip_on\": False,\n", + " }\n", + " \n", + " # Delta dots kwargs.\n", + " default_delta_dot_kwargs = {\"marker\": \"^\", \"alpha\": 0.5, \"zorder\": 2, \"size\": 3, \"side\": \"right\"}\n", + " if plot_kwargs[\"delta_dot_kwargs\"] is None:\n", + " delta_dot_kwargs = default_delta_dot_kwargs\n", + " else:\n", + " delta_dot_kwargs = merge_two_dicts(default_delta_dot_kwargs, plot_kwargs[\"delta_dot_kwargs\"])\n", + "\n", " return (swarmplot_kwargs, barplot_kwargs, sankey_kwargs, violinplot_kwargs, slopegraph_kwargs, \n", - " reflines_kwargs, legend_kwargs, group_summary_kwargs)\n", + " reflines_kwargs, legend_kwargs, group_summary_kwargs, redraw_axes_kwargs, delta_dot_kwargs)\n", "\n", "\n", "def get_color_palette(plot_kwargs, plot_data, xvar, show_pairs):\n", @@ -359,10 +375,11 @@ "\n", " plot_palette_sankey = custom_pal\n", "\n", - " return (color_col, color_groups, bootstraps_color_by_group, names, n_groups, custom_pal, swarm_desat, bar_desat, contrast_desat,\n", - " unsat_colors, swarm_colors, plot_palette_raw, bar_color, plot_palette_bar, contrast_colors, plot_palette_contrast, plot_palette_sankey)\n", + " return (color_col, bootstraps_color_by_group, n_groups, swarm_colors, plot_palette_raw, \n", + " bar_color, plot_palette_bar, plot_palette_contrast, plot_palette_sankey)\n", "\n", - "def get_fig_size(plot_kwargs,dabest_obj,show_delta2,show_mini_meta,is_paired,show_pairs,proportional,float_contrast):\n", + "def initialize_fig(plot_kwargs, dabest_obj, show_delta2, show_mini_meta, is_paired, show_pairs, proportional,\n", + " float_contrast, face_color, h_space_cummings):\n", " fig_size = plot_kwargs[\"fig_size\"]\n", " if fig_size is None:\n", " all_groups_count = np.sum([len(i) for i in dabest_obj.idx])\n", @@ -382,7 +399,81 @@ "\n", " width_inches = each_group_width_inches * all_groups_count\n", " fig_size = (width_inches, height_inches)\n", - " return fig_size" + "\n", + " init_fig_kwargs = dict(figsize=fig_size, dpi=plot_kwargs[\"dpi\"], tight_layout=True)\n", + " width_ratios_ga = [2.5, 1]\n", + "\n", + " if plot_kwargs[\"ax\"] is not None:\n", + " # New in v0.2.6.\n", + " # Use inset axes to create the estimation plot inside a single axes.\n", + " # Author: Adam L Nekimken. (PR #73)\n", + " rawdata_axes = plot_kwargs[\"ax\"]\n", + " ax_position = rawdata_axes.get_position() # [[x0, y0], [x1, y1]]\n", + "\n", + " fig = rawdata_axes.get_figure()\n", + " fig.patch.set_facecolor(face_color)\n", + "\n", + " if float_contrast:\n", + " axins = rawdata_axes.inset_axes(\n", + " [1, 0, width_ratios_ga[1] / width_ratios_ga[0], 1]\n", + " )\n", + " rawdata_axes.set_position( # [l, b, w, h]\n", + " [\n", + " ax_position.x0,\n", + " ax_position.y0,\n", + " (ax_position.x1 - ax_position.x0)\n", + " * (width_ratios_ga[0] / sum(width_ratios_ga)),\n", + " (ax_position.y1 - ax_position.y0),\n", + " ]\n", + " )\n", + "\n", + " contrast_axes = axins\n", + " else:\n", + " axins = rawdata_axes.inset_axes([0, -1 - h_space_cummings, 1, 1])\n", + " plot_height = (ax_position.y1 - ax_position.y0) / (2 + h_space_cummings)\n", + " rawdata_axes.set_position(\n", + " [\n", + " ax_position.x0,\n", + " ax_position.y0 + (1 + h_space_cummings) * plot_height,\n", + " (ax_position.x1 - ax_position.x0),\n", + " plot_height,\n", + " ]\n", + " )\n", + "\n", + " contrast_axes = axins\n", + " rawdata_axes.contrast_axes = axins\n", + "\n", + " else:\n", + " # Here, we hardcode some figure parameters.\n", + " if float_contrast:\n", + " fig, axx = plt.subplots(\n", + " ncols=2,\n", + " gridspec_kw={\"width_ratios\": width_ratios_ga, \"wspace\": 0},\n", + " **init_fig_kwargs\n", + " )\n", + " fig.patch.set_facecolor(face_color)\n", + "\n", + " else:\n", + " fig, axx = plt.subplots(\n", + " nrows=2, gridspec_kw={\"hspace\": h_space_cummings}, **init_fig_kwargs\n", + " )\n", + " fig.patch.set_facecolor(face_color)\n", + "\n", + " # Title\n", + " title = plot_kwargs[\"title\"]\n", + " fontsize_title = plot_kwargs[\"fontsize_title\"]\n", + " if title is not None:\n", + " fig.suptitle(title, fontsize=fontsize_title)\n", + " rawdata_axes = axx[0]\n", + " contrast_axes = axx[1]\n", + " rawdata_axes.set_frame_on(False)\n", + " contrast_axes.set_frame_on(False)\n", + "\n", + " swarm_ylim = plot_kwargs[\"swarm_ylim\"]\n", + " if swarm_ylim is not None:\n", + " rawdata_axes.set_ylim(swarm_ylim)\n", + "\n", + " return fig, rawdata_axes, contrast_axes, swarm_ylim" ] } ], diff --git a/nbs/API/plotter.ipynb b/nbs/API/plotter.ipynb index 38573930..66dc24b4 100644 --- a/nbs/API/plotter.ipynb +++ b/nbs/API/plotter.ipynb @@ -122,7 +122,7 @@ " get_params,\n", " get_kwargs,\n", " get_color_palette,\n", - " get_fig_size,\n", + " initialize_fig,\n", " )\n", " from .plot_tools import (\n", " halfviolin,\n", @@ -158,20 +158,25 @@ " plt.rcParams[\"axes.grid\"] = False\n", " ytick_color = plt.rcParams[\"ytick.color\"]\n", "\n", - " # Extract parameters and set default kwargs\n", - " (face_color, dabest_obj, plot_data, xvar, yvar, is_paired, delta2, mini_meta, effect_size, proportional, all_plot_groups, idx, \n", + " # Extract parameters and set kwargs\n", + " (face_color, dabest_obj, plot_data, xvar, yvar, is_paired, effect_size, proportional, all_plot_groups, idx, \n", " show_delta2, show_mini_meta, float_contrast, show_pairs, effect_size_type) = get_params(effectsize_df=effectsize_df, plot_kwargs=plot_kwargs)\n", "\n", " (swarmplot_kwargs, barplot_kwargs, sankey_kwargs, violinplot_kwargs, slopegraph_kwargs, \n", - " reflines_kwargs, legend_kwargs, group_summary_kwargs) = get_kwargs(plot_kwargs=plot_kwargs, ytick_color=ytick_color)\n", - "\n", - " # Extract parameters and set default kwargs\n", + " reflines_kwargs, legend_kwargs, group_summary_kwargs, redraw_axes_kwargs, \n", + " delta_dot_kwargs) = get_kwargs(plot_kwargs=plot_kwargs, ytick_color=ytick_color)\n", "\n", " # We also need to extract the `sankey` and `flow` from the kwargs for plotter.py\n", " # to use for varying different kinds of paired proportional plots\n", " # We also don't want to pop the parameter from the kwargs\n", " sankey = sankey_kwargs[\"sankey\"]\n", " flow = sankey_kwargs[\"flow\"]\n", + " one_sankey = (\n", + " False if is_paired is not None else None\n", + " ) # Flag to indicate if only one sankey is plotted.\n", + " two_col_sankey = (\n", + " True if proportional and not one_sankey and sankey and not flow else False\n", + " )\n", "\n", " ################################################### GRIDKEY WIP - extracting arguments\n", "\n", @@ -183,127 +188,24 @@ " if gridkey_rows is None:\n", " gridkey_show_Ns = False\n", " gridkey_show_es = False\n", + " h_space_cummings = 0.3\n", + " else:\n", + " h_space_cummings = 0.1\n", "\n", " ################################################### END GRIDKEY WIP - extracting arguments\n", "\n", " ################################################### Color palette WIP Start\n", "\n", - "\n", - " (color_col, color_groups, bootstraps_color_by_group, names, n_groups, custom_pal, swarm_desat, bar_desat, \n", - " contrast_desat, unsat_colors, swarm_colors, plot_palette_raw, bar_color, plot_palette_bar, contrast_colors, \n", + " (color_col, bootstraps_color_by_group, n_groups, swarm_colors, plot_palette_raw, bar_color, plot_palette_bar, \n", " plot_palette_contrast, plot_palette_sankey) = get_color_palette(plot_kwargs=plot_kwargs, plot_data=plot_data, \n", " xvar=xvar, show_pairs=show_pairs)\n", " ################################################### Color palette WIP End\n", "\n", - "\n", - " ################################################### Fig Size WIP End\n", - "\n", - " fig_size = get_fig_size(plot_kwargs=plot_kwargs,dabest_obj=dabest_obj,show_delta2=show_delta2,show_mini_meta=show_mini_meta,\n", - " is_paired=is_paired,show_pairs=show_pairs,proportional=proportional,float_contrast=float_contrast)\n", - "\n", - " ################################################### Fig Size WIP End\n", - "\n", " # Initialise the figure.\n", - " init_fig_kwargs = dict(figsize=fig_size, dpi=plot_kwargs[\"dpi\"], tight_layout=True)\n", - "\n", - " width_ratios_ga = [2.5, 1]\n", - "\n", - " ###################### GRIDKEY HSPACE ALTERATION\n", - "\n", - " # Sets hspace for cummings plots if gridkey is shown.\n", - " if gridkey_rows is not None:\n", - " h_space_cummings = 0.1\n", - " else:\n", - " h_space_cummings = 0.3\n", - "\n", - " ###################### END GRIDKEY HSPACE ALTERATION\n", - "\n", - " if plot_kwargs[\"ax\"] is not None:\n", - " # New in v0.2.6.\n", - " # Use inset axes to create the estimation plot inside a single axes.\n", - " # Author: Adam L Nekimken. (PR #73)\n", - " rawdata_axes = plot_kwargs[\"ax\"]\n", - " ax_position = rawdata_axes.get_position() # [[x0, y0], [x1, y1]]\n", - "\n", - " fig = rawdata_axes.get_figure()\n", - " fig.patch.set_facecolor(face_color)\n", - "\n", - " if float_contrast:\n", - " axins = rawdata_axes.inset_axes(\n", - " [1, 0, width_ratios_ga[1] / width_ratios_ga[0], 1]\n", - " )\n", - " rawdata_axes.set_position( # [l, b, w, h]\n", - " [\n", - " ax_position.x0,\n", - " ax_position.y0,\n", - " (ax_position.x1 - ax_position.x0)\n", - " * (width_ratios_ga[0] / sum(width_ratios_ga)),\n", - " (ax_position.y1 - ax_position.y0),\n", - " ]\n", - " )\n", - "\n", - " contrast_axes = axins\n", - "\n", - " else:\n", - " axins = rawdata_axes.inset_axes([0, -1 - h_space_cummings, 1, 1])\n", - " plot_height = (ax_position.y1 - ax_position.y0) / (2 + h_space_cummings)\n", - " rawdata_axes.set_position(\n", - " [\n", - " ax_position.x0,\n", - " ax_position.y0 + (1 + h_space_cummings) * plot_height,\n", - " (ax_position.x1 - ax_position.x0),\n", - " plot_height,\n", - " ]\n", - " )\n", - "\n", - " contrast_axes = axins\n", - " rawdata_axes.contrast_axes = axins\n", - "\n", - " else:\n", - " # Here, we hardcode some figure parameters.\n", - " if float_contrast:\n", - " fig, axx = plt.subplots(\n", - " ncols=2,\n", - " gridspec_kw={\"width_ratios\": width_ratios_ga, \"wspace\": 0},\n", - " **init_fig_kwargs\n", - " )\n", - " fig.patch.set_facecolor(face_color)\n", - "\n", - " else:\n", - " fig, axx = plt.subplots(\n", - " nrows=2, gridspec_kw={\"hspace\": h_space_cummings}, **init_fig_kwargs\n", - " )\n", - " fig.patch.set_facecolor(face_color)\n", - "\n", - " # Title\n", - " title = plot_kwargs[\"title\"]\n", - " fontsize_title = plot_kwargs[\"fontsize_title\"]\n", - " if title is not None:\n", - " fig.suptitle(title, fontsize=fontsize_title)\n", - " rawdata_axes = axx[0]\n", - " contrast_axes = axx[1]\n", - " rawdata_axes.set_frame_on(False)\n", - " contrast_axes.set_frame_on(False)\n", - "\n", - " redraw_axes_kwargs = {\n", - " \"colors\": ytick_color,\n", - " \"facecolors\": ytick_color,\n", - " \"lw\": 1,\n", - " \"zorder\": 10,\n", - " \"clip_on\": False,\n", - " }\n", - "\n", - " swarm_ylim = plot_kwargs[\"swarm_ylim\"]\n", - "\n", - " if swarm_ylim is not None:\n", - " rawdata_axes.set_ylim(swarm_ylim)\n", - "\n", - " one_sankey = (\n", - " False if is_paired is not None else None\n", - " ) # Flag to indicate if only one sankey is plotted.\n", - " two_col_sankey = (\n", - " True if proportional and not one_sankey and sankey and not flow else False\n", - " )\n", + " fig, rawdata_axes, contrast_axes, swarm_ylim = initialize_fig(plot_kwargs=plot_kwargs, dabest_obj=dabest_obj, show_delta2=show_delta2, \n", + " show_mini_meta=show_mini_meta, is_paired=is_paired, show_pairs=show_pairs, \n", + " proportional=proportional, float_contrast=float_contrast, face_color=face_color, \n", + " h_space_cummings=h_space_cummings)\n", "\n", " if show_pairs:\n", " # Determine temp_idx based on is_paired and proportional conditions\n", @@ -363,16 +265,12 @@ "\n", " ##################### DELTA PTS ON CONTRAST PLOT WIP\n", " show_delta_dots = plot_kwargs[\"delta_dot\"]\n", - " default_delta_dot_kwargs = {\"marker\": \"^\", \"alpha\": 0.5, \"zorder\": 2, \"size\": 3, \"side\": \"right\"}\n", - " if plot_kwargs[\"delta_dot_kwargs\"] is None:\n", - " delta_dot_kwargs = default_delta_dot_kwargs\n", - " else:\n", - " delta_dot_kwargs = merge_two_dicts(default_delta_dot_kwargs, plot_kwargs[\"delta_dot_kwargs\"])\n", "\n", " if show_delta_dots and is_paired is not None:\n", " DeltaDotsPlotter(plot_data=plot_data, contrast_axes=contrast_axes, delta_id_col=dabest_obj.id_col, \n", " idx=idx, xvar=xvar, yvar=yvar, is_paired=is_paired, color_col=color_col, \n", " float_contrast=float_contrast, plot_palette_raw=plot_palette_raw, delta_dot_kwargs=delta_dot_kwargs)\n", + " \n", " ##################### DELTA PTS ON CONTRAST PLOT WIP END\n", "\n", " # Set the tick labels, because the slopegraph plotting doesn't.\n", From b5542bc482499cd353b418ba6054004e673959d0 Mon Sep 17 00:00:00 2001 From: JAnns98 Date: Mon, 9 Sep 2024 10:21:11 +0800 Subject: [PATCH 18/42] minor edits --- dabest/misc_tools.py | 17 +++++++++++++++++ nbs/API/misc_tools.ipynb | 17 +++++++++++++++++ 2 files changed, 34 insertions(+) diff --git a/dabest/misc_tools.py b/dabest/misc_tools.py index f1adc6a2..512362a8 100644 --- a/dabest/misc_tools.py +++ b/dabest/misc_tools.py @@ -75,6 +75,14 @@ def get_varname(obj): return "" def get_params(effectsize_df, plot_kwargs): + """ + Parameters + ---------- + effectsize_df : object (Dataframe) + A `dabest` EffectSizeDataFrame object. + plot_kwargs : dict + Kwargs passed to the plot function. + """ face_color = plot_kwargs["face_color"] if plot_kwargs["face_color"] is None: @@ -122,11 +130,20 @@ def get_params(effectsize_df, plot_kwargs): show_pairs = False else: show_pairs = plot_kwargs["show_pairs"] + return (face_color, dabest_obj, plot_data, xvar, yvar, is_paired, effect_size, proportional, all_plot_groups, idx, show_delta2, show_mini_meta, float_contrast, show_pairs, effect_size_type) def get_kwargs(plot_kwargs, ytick_color): + """ + Parameters + ---------- + plot_kwargs : dict + Kwargs passed to the plot function. + ytick_color : str + Color of the yticks. + """ from .misc_tools import merge_two_dicts # Swarmplot kwargs diff --git a/nbs/API/misc_tools.ipynb b/nbs/API/misc_tools.ipynb index d4eb386c..06a79162 100644 --- a/nbs/API/misc_tools.ipynb +++ b/nbs/API/misc_tools.ipynb @@ -132,6 +132,14 @@ " return \"\"\n", "\n", "def get_params(effectsize_df, plot_kwargs):\n", + " \"\"\"\n", + " Parameters\n", + " ----------\n", + " effectsize_df : object (Dataframe)\n", + " A `dabest` EffectSizeDataFrame object.\n", + " plot_kwargs : dict\n", + " Kwargs passed to the plot function.\n", + " \"\"\"\n", " face_color = plot_kwargs[\"face_color\"]\n", "\n", " if plot_kwargs[\"face_color\"] is None:\n", @@ -179,11 +187,20 @@ " show_pairs = False\n", " else:\n", " show_pairs = plot_kwargs[\"show_pairs\"]\n", + " \n", "\n", " return (face_color, dabest_obj, plot_data, xvar, yvar, is_paired, effect_size, proportional, all_plot_groups, idx, \n", " show_delta2, show_mini_meta, float_contrast, show_pairs, effect_size_type)\n", "\n", "def get_kwargs(plot_kwargs, ytick_color):\n", + " \"\"\"\n", + " Parameters\n", + " ----------\n", + " plot_kwargs : dict\n", + " Kwargs passed to the plot function.\n", + " ytick_color : str\n", + " Color of the yticks.\n", + " \"\"\"\n", " from .misc_tools import merge_two_dicts\n", "\n", " # Swarmplot kwargs\n", From a14be86dc09140a340d9aa8b0a978615a4d66885 Mon Sep 17 00:00:00 2001 From: JAnns98 Date: Mon, 9 Sep 2024 10:33:54 +0800 Subject: [PATCH 19/42] More trimming and move code to misc_tools --- dabest/misc_tools.py | 31 ++++++++++++++++++++++++++++++- dabest/plotter.py | 36 ++++++------------------------------ nbs/API/misc_tools.ipynb | 31 ++++++++++++++++++++++++++++++- nbs/API/plotter.ipynb | 36 ++++++------------------------------ 4 files changed, 72 insertions(+), 62 deletions(-) diff --git a/dabest/misc_tools.py b/dabest/misc_tools.py index 512362a8..9a38c0c5 100644 --- a/dabest/misc_tools.py +++ b/dabest/misc_tools.py @@ -258,8 +258,37 @@ def get_kwargs(plot_kwargs, ytick_color): else: delta_dot_kwargs = merge_two_dicts(default_delta_dot_kwargs, plot_kwargs["delta_dot_kwargs"]) + # Delta text kwargs. + default_delta_text_kwargs = {"color": None, "alpha": 1, "fontsize": 10, "ha": 'center', "va": 'center', "rotation": 0, "x_location": 'right', "x_coordinates": None, "y_coordinates": None} + if plot_kwargs["delta_text_kwargs"] is None: + delta_text_kwargs = default_delta_text_kwargs + else: + delta_text_kwargs = merge_two_dicts(default_delta_text_kwargs, plot_kwargs["delta_text_kwargs"]) + + # Summary bars kwargs. + default_summary_bars_kwargs = {"color": None, "alpha": 0.15} + if plot_kwargs["summary_bars_kwargs"] is None: + summary_bars_kwargs = default_summary_bars_kwargs + else: + summary_bars_kwargs = merge_two_dicts(default_summary_bars_kwargs, plot_kwargs["summary_bars_kwargs"]) + + # Swarm bars kwargs. + default_swarm_bars_kwargs = {"color": None, "alpha": 0.3} + if plot_kwargs["swarm_bars_kwargs"] is None: + swarm_bars_kwargs = default_swarm_bars_kwargs + else: + swarm_bars_kwargs = merge_two_dicts(default_swarm_bars_kwargs, plot_kwargs["swarm_bars_kwargs"]) + + # Contrast bars kwargs. + default_contrast_bars_kwargs = {"color": None, "alpha": 0.3} + if plot_kwargs["contrast_bars_kwargs"] is None: + contrast_bars_kwargs = default_contrast_bars_kwargs + else: + contrast_bars_kwargs = merge_two_dicts(default_contrast_bars_kwargs, plot_kwargs["contrast_bars_kwargs"]) + return (swarmplot_kwargs, barplot_kwargs, sankey_kwargs, violinplot_kwargs, slopegraph_kwargs, - reflines_kwargs, legend_kwargs, group_summary_kwargs, redraw_axes_kwargs, delta_dot_kwargs) + reflines_kwargs, legend_kwargs, group_summary_kwargs, redraw_axes_kwargs, delta_dot_kwargs, + delta_text_kwargs, summary_bars_kwargs, swarm_bars_kwargs, contrast_bars_kwargs) def get_color_palette(plot_kwargs, plot_data, xvar, show_pairs): diff --git a/dabest/plotter.py b/dabest/plotter.py index edf9032e..7104e390 100644 --- a/dabest/plotter.py +++ b/dabest/plotter.py @@ -104,8 +104,8 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): show_delta2, show_mini_meta, float_contrast, show_pairs, effect_size_type) = get_params(effectsize_df=effectsize_df, plot_kwargs=plot_kwargs) (swarmplot_kwargs, barplot_kwargs, sankey_kwargs, violinplot_kwargs, slopegraph_kwargs, - reflines_kwargs, legend_kwargs, group_summary_kwargs, redraw_axes_kwargs, - delta_dot_kwargs) = get_kwargs(plot_kwargs=plot_kwargs, ytick_color=ytick_color) + reflines_kwargs, legend_kwargs, group_summary_kwargs, redraw_axes_kwargs, delta_dot_kwargs, + delta_text_kwargs, summary_bars_kwargs, swarm_bars_kwargs, contrast_bars_kwargs) = get_kwargs(plot_kwargs=plot_kwargs, ytick_color=ytick_color) # We also need to extract the `sankey` and `flow` from the kwargs for plotter.py # to use for varying different kinds of paired proportional plots @@ -206,7 +206,6 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): ##################### DELTA PTS ON CONTRAST PLOT WIP show_delta_dots = plot_kwargs["delta_dot"] - if show_delta_dots and is_paired is not None: DeltaDotsPlotter(plot_data=plot_data, contrast_axes=contrast_axes, delta_id_col=dabest_obj.id_col, idx=idx, xvar=xvar, yvar=yvar, is_paired=is_paired, color_col=color_col, @@ -1194,25 +1193,15 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): contrast_axes.get_xaxis().set_visible(False) ####################################################### END GRIDKEY MAIN CODE WIP - ################################################### Swarm & Contrast & Summary Bars WIP + ################################################### Swarm & Contrast & Summary Bars & Delta text WIP # Swarm bars WIP swarm_bars = plot_kwargs["swarm_bars"] - default_swarm_bars_kwargs = {"color": None, "alpha": 0.3} - if plot_kwargs["swarm_bars_kwargs"] is None: - swarm_bars_kwargs = default_swarm_bars_kwargs - else: - swarm_bars_kwargs = merge_two_dicts(default_swarm_bars_kwargs, plot_kwargs["swarm_bars_kwargs"]) if swarm_bars and not proportional: swarm_bars_plotter(plot_data=plot_data, xvar=xvar, yvar=yvar, ax=rawdata_axes, swarm_bars_kwargs=swarm_bars_kwargs, color_col=color_col, swarm_colors=swarm_colors, is_paired=is_paired) # Contrast bars WIP contrast_bars = plot_kwargs["contrast_bars"] - default_contrast_bars_kwargs = {"color": None, "alpha": 0.3} - if plot_kwargs["contrast_bars_kwargs"] is None: - contrast_bars_kwargs = default_contrast_bars_kwargs - else: - contrast_bars_kwargs = merge_two_dicts(default_contrast_bars_kwargs, plot_kwargs["contrast_bars_kwargs"]) if contrast_bars: contrast_bars_plotter(results=results, ax_to_plot=contrast_axes, swarm_plot_ax=rawdata_axes,ticks_to_plot=ticks_to_plot, contrast_bars_kwargs=contrast_bars_kwargs, color_col=color_col, swarm_colors=swarm_colors, show_mini_meta=show_mini_meta, @@ -1221,31 +1210,18 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): # Summary bars WIP summary_bars = plot_kwargs["summary_bars"] - default_summary_bars_kwargs = {"color": None, "alpha": 0.15} - if plot_kwargs["summary_bars_kwargs"] is None: - summary_bars_kwargs = default_summary_bars_kwargs - else: - summary_bars_kwargs = merge_two_dicts(default_summary_bars_kwargs, plot_kwargs["summary_bars_kwargs"]) if summary_bars is not None: summary_bars_plotter(summary_bars=summary_bars, results=results, ax_to_plot=contrast_axes, float_contrast=float_contrast, summary_bars_kwargs=summary_bars_kwargs, ci_type=ci_type, ticks_to_plot=ticks_to_plot, color_col=color_col, swarm_colors=swarm_colors, proportional=proportional, is_paired=is_paired) - ################################################### Swarm & Contrast & Summary Bars WIP END - - ################################################### Delta text WIP START + # Delta text WIP delta_text = plot_kwargs["delta_text"] - default_delta_text_kwargs = {"color": None, "alpha": 1, "fontsize": 10, "ha": 'center', "va": 'center', "rotation": 0, "x_location": 'right', "x_coordinates": None, "y_coordinates": None} - if plot_kwargs["delta_text_kwargs"] is None: - delta_text_kwargs = default_delta_text_kwargs - else: - delta_text_kwargs = merge_two_dicts(default_delta_text_kwargs, plot_kwargs["delta_text_kwargs"]) - - if delta_text: + if delta_text: delta_text_plotter(results=results, ax_to_plot=contrast_axes, swarm_plot_ax=rawdata_axes, ticks_to_plot=ticks_to_plot, delta_text_kwargs=delta_text_kwargs, color_col=color_col, swarm_colors=swarm_colors, is_paired=is_paired,proportional=proportional, float_contrast=float_contrast, show_mini_meta=show_mini_meta, mini_meta_delta=mini_meta_delta if show_mini_meta else None, show_delta2=show_delta2, delta_delta=delta_delta if show_delta2 else None) - ################################################### Delta text WIP END + ################################################### Swarm & Contrast & Summary Bars & Delta text WIP END # Make sure no stray ticks appear! rawdata_axes.xaxis.set_ticks_position("bottom") diff --git a/nbs/API/misc_tools.ipynb b/nbs/API/misc_tools.ipynb index 06a79162..1e6762e6 100644 --- a/nbs/API/misc_tools.ipynb +++ b/nbs/API/misc_tools.ipynb @@ -315,8 +315,37 @@ " else:\n", " delta_dot_kwargs = merge_two_dicts(default_delta_dot_kwargs, plot_kwargs[\"delta_dot_kwargs\"])\n", "\n", + " # Delta text kwargs.\n", + " default_delta_text_kwargs = {\"color\": None, \"alpha\": 1, \"fontsize\": 10, \"ha\": 'center', \"va\": 'center', \"rotation\": 0, \"x_location\": 'right', \"x_coordinates\": None, \"y_coordinates\": None}\n", + " if plot_kwargs[\"delta_text_kwargs\"] is None:\n", + " delta_text_kwargs = default_delta_text_kwargs\n", + " else:\n", + " delta_text_kwargs = merge_two_dicts(default_delta_text_kwargs, plot_kwargs[\"delta_text_kwargs\"])\n", + "\n", + " # Summary bars kwargs.\n", + " default_summary_bars_kwargs = {\"color\": None, \"alpha\": 0.15}\n", + " if plot_kwargs[\"summary_bars_kwargs\"] is None:\n", + " summary_bars_kwargs = default_summary_bars_kwargs\n", + " else:\n", + " summary_bars_kwargs = merge_two_dicts(default_summary_bars_kwargs, plot_kwargs[\"summary_bars_kwargs\"])\n", + "\n", + " # Swarm bars kwargs.\n", + " default_swarm_bars_kwargs = {\"color\": None, \"alpha\": 0.3}\n", + " if plot_kwargs[\"swarm_bars_kwargs\"] is None:\n", + " swarm_bars_kwargs = default_swarm_bars_kwargs\n", + " else:\n", + " swarm_bars_kwargs = merge_two_dicts(default_swarm_bars_kwargs, plot_kwargs[\"swarm_bars_kwargs\"])\n", + "\n", + " # Contrast bars kwargs.\n", + " default_contrast_bars_kwargs = {\"color\": None, \"alpha\": 0.3}\n", + " if plot_kwargs[\"contrast_bars_kwargs\"] is None:\n", + " contrast_bars_kwargs = default_contrast_bars_kwargs\n", + " else:\n", + " contrast_bars_kwargs = merge_two_dicts(default_contrast_bars_kwargs, plot_kwargs[\"contrast_bars_kwargs\"])\n", + "\n", " return (swarmplot_kwargs, barplot_kwargs, sankey_kwargs, violinplot_kwargs, slopegraph_kwargs, \n", - " reflines_kwargs, legend_kwargs, group_summary_kwargs, redraw_axes_kwargs, delta_dot_kwargs)\n", + " reflines_kwargs, legend_kwargs, group_summary_kwargs, redraw_axes_kwargs, delta_dot_kwargs,\n", + " delta_text_kwargs, summary_bars_kwargs, swarm_bars_kwargs, contrast_bars_kwargs)\n", "\n", "\n", "def get_color_palette(plot_kwargs, plot_data, xvar, show_pairs):\n", diff --git a/nbs/API/plotter.ipynb b/nbs/API/plotter.ipynb index 66dc24b4..31f96a7d 100644 --- a/nbs/API/plotter.ipynb +++ b/nbs/API/plotter.ipynb @@ -163,8 +163,8 @@ " show_delta2, show_mini_meta, float_contrast, show_pairs, effect_size_type) = get_params(effectsize_df=effectsize_df, plot_kwargs=plot_kwargs)\n", "\n", " (swarmplot_kwargs, barplot_kwargs, sankey_kwargs, violinplot_kwargs, slopegraph_kwargs, \n", - " reflines_kwargs, legend_kwargs, group_summary_kwargs, redraw_axes_kwargs, \n", - " delta_dot_kwargs) = get_kwargs(plot_kwargs=plot_kwargs, ytick_color=ytick_color)\n", + " reflines_kwargs, legend_kwargs, group_summary_kwargs, redraw_axes_kwargs, delta_dot_kwargs, \n", + " delta_text_kwargs, summary_bars_kwargs, swarm_bars_kwargs, contrast_bars_kwargs) = get_kwargs(plot_kwargs=plot_kwargs, ytick_color=ytick_color)\n", "\n", " # We also need to extract the `sankey` and `flow` from the kwargs for plotter.py\n", " # to use for varying different kinds of paired proportional plots\n", @@ -265,7 +265,6 @@ "\n", " ##################### DELTA PTS ON CONTRAST PLOT WIP\n", " show_delta_dots = plot_kwargs[\"delta_dot\"]\n", - "\n", " if show_delta_dots and is_paired is not None:\n", " DeltaDotsPlotter(plot_data=plot_data, contrast_axes=contrast_axes, delta_id_col=dabest_obj.id_col, \n", " idx=idx, xvar=xvar, yvar=yvar, is_paired=is_paired, color_col=color_col, \n", @@ -1253,25 +1252,15 @@ " contrast_axes.get_xaxis().set_visible(False)\n", " ####################################################### END GRIDKEY MAIN CODE WIP\n", " \n", - " ################################################### Swarm & Contrast & Summary Bars WIP\n", + " ################################################### Swarm & Contrast & Summary Bars & Delta text WIP\n", " # Swarm bars WIP\n", " swarm_bars = plot_kwargs[\"swarm_bars\"]\n", - " default_swarm_bars_kwargs = {\"color\": None, \"alpha\": 0.3}\n", - " if plot_kwargs[\"swarm_bars_kwargs\"] is None:\n", - " swarm_bars_kwargs = default_swarm_bars_kwargs\n", - " else:\n", - " swarm_bars_kwargs = merge_two_dicts(default_swarm_bars_kwargs, plot_kwargs[\"swarm_bars_kwargs\"])\n", " if swarm_bars and not proportional:\n", " swarm_bars_plotter(plot_data=plot_data, xvar=xvar, yvar=yvar, ax=rawdata_axes, swarm_bars_kwargs=swarm_bars_kwargs, \n", " color_col=color_col, swarm_colors=swarm_colors, is_paired=is_paired)\n", "\n", " # Contrast bars WIP\n", " contrast_bars = plot_kwargs[\"contrast_bars\"]\n", - " default_contrast_bars_kwargs = {\"color\": None, \"alpha\": 0.3}\n", - " if plot_kwargs[\"contrast_bars_kwargs\"] is None:\n", - " contrast_bars_kwargs = default_contrast_bars_kwargs\n", - " else:\n", - " contrast_bars_kwargs = merge_two_dicts(default_contrast_bars_kwargs, plot_kwargs[\"contrast_bars_kwargs\"])\n", " if contrast_bars:\n", " contrast_bars_plotter(results=results, ax_to_plot=contrast_axes, swarm_plot_ax=rawdata_axes,ticks_to_plot=ticks_to_plot, \n", " contrast_bars_kwargs=contrast_bars_kwargs, color_col=color_col, swarm_colors=swarm_colors, show_mini_meta=show_mini_meta, \n", @@ -1280,31 +1269,18 @@ "\n", " # Summary bars WIP\n", " summary_bars = plot_kwargs[\"summary_bars\"]\n", - " default_summary_bars_kwargs = {\"color\": None, \"alpha\": 0.15}\n", - " if plot_kwargs[\"summary_bars_kwargs\"] is None:\n", - " summary_bars_kwargs = default_summary_bars_kwargs\n", - " else:\n", - " summary_bars_kwargs = merge_two_dicts(default_summary_bars_kwargs, plot_kwargs[\"summary_bars_kwargs\"])\n", " if summary_bars is not None:\n", " summary_bars_plotter(summary_bars=summary_bars, results=results, ax_to_plot=contrast_axes, float_contrast=float_contrast,\n", " summary_bars_kwargs=summary_bars_kwargs, ci_type=ci_type, ticks_to_plot=ticks_to_plot, color_col=color_col,\n", " swarm_colors=swarm_colors, proportional=proportional, is_paired=is_paired)\n", - " ################################################### Swarm & Contrast & Summary Bars WIP END\n", - "\n", - " ################################################### Delta text WIP START\n", + " # Delta text WIP\n", " delta_text = plot_kwargs[\"delta_text\"]\n", - " default_delta_text_kwargs = {\"color\": None, \"alpha\": 1, \"fontsize\": 10, \"ha\": 'center', \"va\": 'center', \"rotation\": 0, \"x_location\": 'right', \"x_coordinates\": None, \"y_coordinates\": None}\n", - " if plot_kwargs[\"delta_text_kwargs\"] is None:\n", - " delta_text_kwargs = default_delta_text_kwargs\n", - " else:\n", - " delta_text_kwargs = merge_two_dicts(default_delta_text_kwargs, plot_kwargs[\"delta_text_kwargs\"])\n", - "\n", - " if delta_text:\n", + " if delta_text: \n", " delta_text_plotter(results=results, ax_to_plot=contrast_axes, swarm_plot_ax=rawdata_axes, ticks_to_plot=ticks_to_plot, delta_text_kwargs=delta_text_kwargs, color_col=color_col, swarm_colors=swarm_colors, \n", " is_paired=is_paired,proportional=proportional, float_contrast=float_contrast, show_mini_meta=show_mini_meta, \n", " mini_meta_delta=mini_meta_delta if show_mini_meta else None, show_delta2=show_delta2, \n", " delta_delta=delta_delta if show_delta2 else None)\n", - " ################################################### Delta text WIP END\n", + " ################################################### Swarm & Contrast & Summary Bars & Delta text WIP END\n", "\n", " # Make sure no stray ticks appear!\n", " rawdata_axes.xaxis.set_ticks_position(\"bottom\")\n", From 3f657775964eb171f4a6b9ee71580d47c7921221 Mon Sep 17 00:00:00 2001 From: JAnns98 Date: Mon, 9 Sep 2024 10:39:33 +0800 Subject: [PATCH 20/42] bug fix for 'gridkey' missing argument --- dabest/plotter.py | 4 ++-- nbs/API/plotter.ipynb | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/dabest/plotter.py b/dabest/plotter.py index 7104e390..221500f4 100644 --- a/dabest/plotter.py +++ b/dabest/plotter.py @@ -1146,10 +1146,10 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): ].iloc[0] curr_esval_str = np.format_float_positional( curr_esval, - precision=es_sf, + precision=2, sign=True, trim="k", - min_digits=es_sf, + min_digits=2, ) effsize_list.append(curr_esval_str) else: diff --git a/nbs/API/plotter.ipynb b/nbs/API/plotter.ipynb index 31f96a7d..c6f02240 100644 --- a/nbs/API/plotter.ipynb +++ b/nbs/API/plotter.ipynb @@ -1205,10 +1205,10 @@ " ].iloc[0]\n", " curr_esval_str = np.format_float_positional(\n", " curr_esval,\n", - " precision=es_sf,\n", + " precision=2,\n", " sign=True,\n", " trim=\"k\",\n", - " min_digits=es_sf,\n", + " min_digits=2,\n", " )\n", " effsize_list.append(curr_esval_str)\n", " else:\n", From 667909b20f0426026784071c914c1e72d1fdfe4a Mon Sep 17 00:00:00 2001 From: JAnns98 Date: Mon, 9 Sep 2024 10:56:58 +0800 Subject: [PATCH 21/42] Created a slopegraph_plotter function in plot_tools and trimmed plotter --- dabest/_modidx.py | 2 ++ dabest/plot_tools.py | 43 ++++++++++++++++++++++++++++++++++++++- dabest/plotter.py | 44 +++++++--------------------------------- nbs/API/plot_tools.ipynb | 43 ++++++++++++++++++++++++++++++++++++++- nbs/API/plotter.ipynb | 44 +++++++--------------------------------- 5 files changed, 100 insertions(+), 76 deletions(-) diff --git a/dabest/_modidx.py b/dabest/_modidx.py index 46762dd2..cd1ca511 100644 --- a/dabest/_modidx.py +++ b/dabest/_modidx.py @@ -99,6 +99,8 @@ 'dabest.plot_tools.normalize_dict': ('API/plot_tools.html#normalize_dict', 'dabest/plot_tools.py'), 'dabest.plot_tools.sankeydiag': ('API/plot_tools.html#sankeydiag', 'dabest/plot_tools.py'), 'dabest.plot_tools.single_sankey': ('API/plot_tools.html#single_sankey', 'dabest/plot_tools.py'), + 'dabest.plot_tools.slopegraph_plotter': ( 'API/plot_tools.html#slopegraph_plotter', + 'dabest/plot_tools.py'), 'dabest.plot_tools.summary_bars_plotter': ( 'API/plot_tools.html#summary_bars_plotter', 'dabest/plot_tools.py'), 'dabest.plot_tools.swarm_bars_plotter': ( 'API/plot_tools.html#swarm_bars_plotter', diff --git a/dabest/plot_tools.py b/dabest/plot_tools.py index 4ce90cdd..4fc4fdbc 100644 --- a/dabest/plot_tools.py +++ b/dabest/plot_tools.py @@ -6,7 +6,7 @@ # %% auto 0 __all__ = ['halfviolin', 'get_swarm_spans', 'error_bar', 'check_data_matches_labels', 'normalize_dict', 'width_determine', 'single_sankey', 'sankeydiag', 'summary_bars_plotter', 'contrast_bars_plotter', 'swarm_bars_plotter', - 'delta_text_plotter', 'DeltaDotsPlotter', 'swarmplot', 'SwarmPlot'] + 'delta_text_plotter', 'DeltaDotsPlotter', 'slopegraph_plotter', 'swarmplot', 'SwarmPlot'] # %% ../nbs/API/plot_tools.ipynb 4 import math @@ -1108,6 +1108,47 @@ def DeltaDotsPlotter(plot_data, contrast_axes, delta_id_col, idx, xvar, yvar, is **delta_dot_kwargs) contrast_axes.legend().set_visible(False) + +def slopegraph_plotter(dabest_obj, plot_data, xvar, yvar, color_col, plot_palette_raw, slopegraph_kwargs, rawdata_axes, ytick_color, temp_idx): + + # Pivot the long (melted) data. + if color_col is None: + pivot_values = [yvar] + else: + pivot_values = [yvar, color_col] + pivoted_plot_data = pd.pivot( + data=plot_data, + index=dabest_obj.id_col, + columns=xvar, + values=pivot_values, + ) + + x_start = 0 + for ii, current_tuple in enumerate(temp_idx): + current_pair = pivoted_plot_data.loc[ + :, pd.MultiIndex.from_product([pivot_values, current_tuple]) + ].dropna() + grp_count = len(current_tuple) + # Iterate through the data for the current tuple. + for ID, observation in current_pair.iterrows(): + x_points = [t for t in range(x_start, x_start + grp_count)] + y_points = observation[yvar].tolist() + + if color_col is None: + slopegraph_kwargs["color"] = ytick_color + else: + color_key = observation[color_col][0] + if isinstance(color_key, (str, np.int64, np.float64)): + slopegraph_kwargs["color"] = plot_palette_raw[color_key] + slopegraph_kwargs["label"] = color_key + + rawdata_axes.plot(x_points, y_points, **slopegraph_kwargs) + + x_start = x_start + grp_count + + + ... + # %% ../nbs/API/plot_tools.ipynb 6 def swarmplot( data: pd.DataFrame, diff --git a/dabest/plotter.py b/dabest/plotter.py index 221500f4..a261f074 100644 --- a/dabest/plotter.py +++ b/dabest/plotter.py @@ -76,6 +76,7 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): summary_bars_plotter, delta_text_plotter, DeltaDotsPlotter, + slopegraph_plotter, ) from ._stats_tools.effsize import ( _compute_standardizers, @@ -135,19 +136,19 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): ################################################### END GRIDKEY WIP - extracting arguments - ################################################### Color palette WIP Start + # Extract Color palette (color_col, bootstraps_color_by_group, n_groups, swarm_colors, plot_palette_raw, bar_color, plot_palette_bar, plot_palette_contrast, plot_palette_sankey) = get_color_palette(plot_kwargs=plot_kwargs, plot_data=plot_data, xvar=xvar, show_pairs=show_pairs) - ################################################### Color palette WIP End # Initialise the figure. fig, rawdata_axes, contrast_axes, swarm_ylim = initialize_fig(plot_kwargs=plot_kwargs, dabest_obj=dabest_obj, show_delta2=show_delta2, show_mini_meta=show_mini_meta, is_paired=is_paired, show_pairs=show_pairs, proportional=proportional, float_contrast=float_contrast, face_color=face_color, h_space_cummings=h_space_cummings) - + + # Plotting. if show_pairs: # Determine temp_idx based on is_paired and proportional conditions if is_paired == "baseline": @@ -169,40 +170,9 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): if not proportional: # Plot the raw data as a slopegraph. - # Pivot the long (melted) data. - if color_col is None: - pivot_values = [yvar] - else: - pivot_values = [yvar, color_col] - pivoted_plot_data = pd.pivot( - data=plot_data, - index=dabest_obj.id_col, - columns=xvar, - values=pivot_values, - ) - x_start = 0 - for ii, current_tuple in enumerate(temp_idx): - current_pair = pivoted_plot_data.loc[ - :, pd.MultiIndex.from_product([pivot_values, current_tuple]) - ].dropna() - grp_count = len(current_tuple) - # Iterate through the data for the current tuple. - for ID, observation in current_pair.iterrows(): - x_points = [t for t in range(x_start, x_start + grp_count)] - y_points = observation[yvar].tolist() - - if color_col is None: - slopegraph_kwargs["color"] = ytick_color - else: - color_key = observation[color_col][0] - if isinstance(color_key, (str, np.int64, np.float64)): - slopegraph_kwargs["color"] = plot_palette_raw[color_key] - slopegraph_kwargs["label"] = color_key - - rawdata_axes.plot(x_points, y_points, **slopegraph_kwargs) - - x_start = x_start + grp_count - + slopegraph_plotter(dabest_obj=dabest_obj, plot_data=plot_data, xvar=xvar, yvar=yvar, color_col=color_col, + plot_palette_raw=plot_palette_raw, slopegraph_kwargs=slopegraph_kwargs, rawdata_axes=rawdata_axes, + ytick_color=ytick_color, temp_idx=temp_idx) ##################### DELTA PTS ON CONTRAST PLOT WIP show_delta_dots = plot_kwargs["delta_dot"] diff --git a/nbs/API/plot_tools.ipynb b/nbs/API/plot_tools.ipynb index aacba92b..78753731 100644 --- a/nbs/API/plot_tools.ipynb +++ b/nbs/API/plot_tools.ipynb @@ -1160,7 +1160,48 @@ " is_drop_gutter=True,\n", " gutter_limit=1,\n", " **delta_dot_kwargs)\n", - " contrast_axes.legend().set_visible(False)" + " contrast_axes.legend().set_visible(False)\n", + "\n", + "\n", + "def slopegraph_plotter(dabest_obj, plot_data, xvar, yvar, color_col, plot_palette_raw, slopegraph_kwargs, rawdata_axes, ytick_color, temp_idx):\n", + " \n", + " # Pivot the long (melted) data.\n", + " if color_col is None:\n", + " pivot_values = [yvar]\n", + " else:\n", + " pivot_values = [yvar, color_col]\n", + " pivoted_plot_data = pd.pivot(\n", + " data=plot_data,\n", + " index=dabest_obj.id_col,\n", + " columns=xvar,\n", + " values=pivot_values,\n", + " )\n", + "\n", + " x_start = 0\n", + " for ii, current_tuple in enumerate(temp_idx):\n", + " current_pair = pivoted_plot_data.loc[\n", + " :, pd.MultiIndex.from_product([pivot_values, current_tuple])\n", + " ].dropna()\n", + " grp_count = len(current_tuple)\n", + " # Iterate through the data for the current tuple.\n", + " for ID, observation in current_pair.iterrows():\n", + " x_points = [t for t in range(x_start, x_start + grp_count)]\n", + " y_points = observation[yvar].tolist()\n", + "\n", + " if color_col is None:\n", + " slopegraph_kwargs[\"color\"] = ytick_color\n", + " else:\n", + " color_key = observation[color_col][0]\n", + " if isinstance(color_key, (str, np.int64, np.float64)):\n", + " slopegraph_kwargs[\"color\"] = plot_palette_raw[color_key]\n", + " slopegraph_kwargs[\"label\"] = color_key\n", + "\n", + " rawdata_axes.plot(x_points, y_points, **slopegraph_kwargs)\n", + "\n", + " x_start = x_start + grp_count\n", + "\n", + "\n", + " ..." ] }, { diff --git a/nbs/API/plotter.ipynb b/nbs/API/plotter.ipynb index c6f02240..fc863349 100644 --- a/nbs/API/plotter.ipynb +++ b/nbs/API/plotter.ipynb @@ -135,6 +135,7 @@ " summary_bars_plotter,\n", " delta_text_plotter,\n", " DeltaDotsPlotter,\n", + " slopegraph_plotter,\n", " )\n", " from ._stats_tools.effsize import (\n", " _compute_standardizers,\n", @@ -194,19 +195,19 @@ "\n", " ################################################### END GRIDKEY WIP - extracting arguments\n", "\n", - " ################################################### Color palette WIP Start\n", + " # Extract Color palette\n", "\n", " (color_col, bootstraps_color_by_group, n_groups, swarm_colors, plot_palette_raw, bar_color, plot_palette_bar, \n", " plot_palette_contrast, plot_palette_sankey) = get_color_palette(plot_kwargs=plot_kwargs, plot_data=plot_data, \n", " xvar=xvar, show_pairs=show_pairs)\n", - " ################################################### Color palette WIP End\n", "\n", " # Initialise the figure.\n", " fig, rawdata_axes, contrast_axes, swarm_ylim = initialize_fig(plot_kwargs=plot_kwargs, dabest_obj=dabest_obj, show_delta2=show_delta2, \n", " show_mini_meta=show_mini_meta, is_paired=is_paired, show_pairs=show_pairs, \n", " proportional=proportional, float_contrast=float_contrast, face_color=face_color, \n", " h_space_cummings=h_space_cummings)\n", - "\n", + " \n", + " # Plotting.\n", " if show_pairs:\n", " # Determine temp_idx based on is_paired and proportional conditions\n", " if is_paired == \"baseline\":\n", @@ -228,40 +229,9 @@ "\n", " if not proportional:\n", " # Plot the raw data as a slopegraph.\n", - " # Pivot the long (melted) data.\n", - " if color_col is None:\n", - " pivot_values = [yvar]\n", - " else:\n", - " pivot_values = [yvar, color_col]\n", - " pivoted_plot_data = pd.pivot(\n", - " data=plot_data,\n", - " index=dabest_obj.id_col,\n", - " columns=xvar,\n", - " values=pivot_values,\n", - " )\n", - " x_start = 0\n", - " for ii, current_tuple in enumerate(temp_idx):\n", - " current_pair = pivoted_plot_data.loc[\n", - " :, pd.MultiIndex.from_product([pivot_values, current_tuple])\n", - " ].dropna()\n", - " grp_count = len(current_tuple)\n", - " # Iterate through the data for the current tuple.\n", - " for ID, observation in current_pair.iterrows():\n", - " x_points = [t for t in range(x_start, x_start + grp_count)]\n", - " y_points = observation[yvar].tolist()\n", - "\n", - " if color_col is None:\n", - " slopegraph_kwargs[\"color\"] = ytick_color\n", - " else:\n", - " color_key = observation[color_col][0]\n", - " if isinstance(color_key, (str, np.int64, np.float64)):\n", - " slopegraph_kwargs[\"color\"] = plot_palette_raw[color_key]\n", - " slopegraph_kwargs[\"label\"] = color_key\n", - "\n", - " rawdata_axes.plot(x_points, y_points, **slopegraph_kwargs)\n", - "\n", - " x_start = x_start + grp_count\n", - "\n", + " slopegraph_plotter(dabest_obj=dabest_obj, plot_data=plot_data, xvar=xvar, yvar=yvar, color_col=color_col, \n", + " plot_palette_raw=plot_palette_raw, slopegraph_kwargs=slopegraph_kwargs, rawdata_axes=rawdata_axes, \n", + " ytick_color=ytick_color, temp_idx=temp_idx)\n", "\n", " ##################### DELTA PTS ON CONTRAST PLOT WIP\n", " show_delta_dots = plot_kwargs[\"delta_dot\"]\n", From 889bede69ebd69fe0ec72d5777525146284bd306 Mon Sep 17 00:00:00 2001 From: JAnns98 Date: Mon, 9 Sep 2024 11:10:00 +0800 Subject: [PATCH 22/42] Further trimming and moving extra params to misc_tools to help prevent duplicate code in plotter --- dabest/misc_tools.py | 12 +++++++++++- dabest/plotter.py | 24 ++++-------------------- nbs/API/misc_tools.ipynb | 12 +++++++++++- nbs/API/plotter.ipynb | 24 ++++-------------------- 4 files changed, 30 insertions(+), 42 deletions(-) diff --git a/dabest/misc_tools.py b/dabest/misc_tools.py index 9a38c0c5..523b6045 100644 --- a/dabest/misc_tools.py +++ b/dabest/misc_tools.py @@ -130,10 +130,20 @@ def get_params(effectsize_df, plot_kwargs): show_pairs = False else: show_pairs = plot_kwargs["show_pairs"] + + # Group summaries + group_summaries = plot_kwargs["group_summaries"] + if group_summaries is None: + group_summaries = "mean_sd" + + # Error bar color + err_color = plot_kwargs["err_color"] + if err_color is None: + err_color = "black" return (face_color, dabest_obj, plot_data, xvar, yvar, is_paired, effect_size, proportional, all_plot_groups, idx, - show_delta2, show_mini_meta, float_contrast, show_pairs, effect_size_type) + show_delta2, show_mini_meta, float_contrast, show_pairs, effect_size_type, group_summaries, err_color) def get_kwargs(plot_kwargs, ytick_color): """ diff --git a/dabest/plotter.py b/dabest/plotter.py index a261f074..6755753a 100644 --- a/dabest/plotter.py +++ b/dabest/plotter.py @@ -101,8 +101,9 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): ytick_color = plt.rcParams["ytick.color"] # Extract parameters and set kwargs - (face_color, dabest_obj, plot_data, xvar, yvar, is_paired, effect_size, proportional, all_plot_groups, idx, - show_delta2, show_mini_meta, float_contrast, show_pairs, effect_size_type) = get_params(effectsize_df=effectsize_df, plot_kwargs=plot_kwargs) + (face_color, dabest_obj, plot_data, xvar, yvar, is_paired, effect_size, proportional, + all_plot_groups, idx, show_delta2, show_mini_meta, float_contrast, show_pairs, + effect_size_type, group_summaries, err_color) = get_params(effectsize_df=effectsize_df, plot_kwargs=plot_kwargs) (swarmplot_kwargs, barplot_kwargs, sankey_kwargs, violinplot_kwargs, slopegraph_kwargs, reflines_kwargs, legend_kwargs, group_summary_kwargs, redraw_axes_kwargs, delta_dot_kwargs, @@ -137,7 +138,6 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): ################################################### END GRIDKEY WIP - extracting arguments # Extract Color palette - (color_col, bootstraps_color_by_group, n_groups, swarm_colors, plot_palette_raw, bar_color, plot_palette_bar, plot_palette_contrast, plot_palette_sankey) = get_color_palette(plot_kwargs=plot_kwargs, plot_data=plot_data, xvar=xvar, show_pairs=show_pairs) @@ -174,14 +174,12 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): plot_palette_raw=plot_palette_raw, slopegraph_kwargs=slopegraph_kwargs, rawdata_axes=rawdata_axes, ytick_color=ytick_color, temp_idx=temp_idx) - ##################### DELTA PTS ON CONTRAST PLOT WIP + # DELTA PTS ON CONTRAST PLOT WIP show_delta_dots = plot_kwargs["delta_dot"] if show_delta_dots and is_paired is not None: DeltaDotsPlotter(plot_data=plot_data, contrast_axes=contrast_axes, delta_id_col=dabest_obj.id_col, idx=idx, xvar=xvar, yvar=yvar, is_paired=is_paired, color_col=color_col, float_contrast=float_contrast, plot_palette_raw=plot_palette_raw, delta_dot_kwargs=delta_dot_kwargs) - - ##################### DELTA PTS ON CONTRAST PLOT WIP END # Set the tick labels, because the slopegraph plotting doesn't. rawdata_axes.set_xticks(np.arange(0, len(temp_all_plot_groups))) @@ -189,13 +187,6 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): else: # Plot the raw data as a set of Sankey Diagrams aligned like barplot. - group_summaries = plot_kwargs["group_summaries"] - if group_summaries is None: - group_summaries = "mean_sd" - err_color = plot_kwargs["err_color"] - if err_color is None: - err_color = "black" - if show_pairs: sankey_control_group = [] sankey_test_group = [] @@ -320,10 +311,6 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): # Plot the gapped line summaries, if this is not a Cumming plot. # Also, we will not plot gapped lines for paired plots. For now. - group_summaries = plot_kwargs["group_summaries"] - if group_summaries is None: - group_summaries = "mean_sd" - if group_summaries is not None and not proportional: # Create list to gather xspans. xspans = [] @@ -366,9 +353,6 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): ) if group_summaries is not None and proportional: - err_color = plot_kwargs["err_color"] - if err_color is None: - err_color = "black" error_bar( plot_data, x=xvar, diff --git a/nbs/API/misc_tools.ipynb b/nbs/API/misc_tools.ipynb index 1e6762e6..a8670ab3 100644 --- a/nbs/API/misc_tools.ipynb +++ b/nbs/API/misc_tools.ipynb @@ -187,10 +187,20 @@ " show_pairs = False\n", " else:\n", " show_pairs = plot_kwargs[\"show_pairs\"]\n", + "\n", + " # Group summaries\n", + " group_summaries = plot_kwargs[\"group_summaries\"]\n", + " if group_summaries is None:\n", + " group_summaries = \"mean_sd\"\n", + "\n", + " # Error bar color\n", + " err_color = plot_kwargs[\"err_color\"]\n", + " if err_color is None: \n", + " err_color = \"black\"\n", " \n", "\n", " return (face_color, dabest_obj, plot_data, xvar, yvar, is_paired, effect_size, proportional, all_plot_groups, idx, \n", - " show_delta2, show_mini_meta, float_contrast, show_pairs, effect_size_type)\n", + " show_delta2, show_mini_meta, float_contrast, show_pairs, effect_size_type, group_summaries, err_color)\n", "\n", "def get_kwargs(plot_kwargs, ytick_color):\n", " \"\"\"\n", diff --git a/nbs/API/plotter.ipynb b/nbs/API/plotter.ipynb index fc863349..aaf803d5 100644 --- a/nbs/API/plotter.ipynb +++ b/nbs/API/plotter.ipynb @@ -160,8 +160,9 @@ " ytick_color = plt.rcParams[\"ytick.color\"]\n", "\n", " # Extract parameters and set kwargs\n", - " (face_color, dabest_obj, plot_data, xvar, yvar, is_paired, effect_size, proportional, all_plot_groups, idx, \n", - " show_delta2, show_mini_meta, float_contrast, show_pairs, effect_size_type) = get_params(effectsize_df=effectsize_df, plot_kwargs=plot_kwargs)\n", + " (face_color, dabest_obj, plot_data, xvar, yvar, is_paired, effect_size, proportional, \n", + " all_plot_groups, idx, show_delta2, show_mini_meta, float_contrast, show_pairs, \n", + " effect_size_type, group_summaries, err_color) = get_params(effectsize_df=effectsize_df, plot_kwargs=plot_kwargs)\n", "\n", " (swarmplot_kwargs, barplot_kwargs, sankey_kwargs, violinplot_kwargs, slopegraph_kwargs, \n", " reflines_kwargs, legend_kwargs, group_summary_kwargs, redraw_axes_kwargs, delta_dot_kwargs, \n", @@ -196,7 +197,6 @@ " ################################################### END GRIDKEY WIP - extracting arguments\n", "\n", " # Extract Color palette\n", - "\n", " (color_col, bootstraps_color_by_group, n_groups, swarm_colors, plot_palette_raw, bar_color, plot_palette_bar, \n", " plot_palette_contrast, plot_palette_sankey) = get_color_palette(plot_kwargs=plot_kwargs, plot_data=plot_data, \n", " xvar=xvar, show_pairs=show_pairs)\n", @@ -233,14 +233,12 @@ " plot_palette_raw=plot_palette_raw, slopegraph_kwargs=slopegraph_kwargs, rawdata_axes=rawdata_axes, \n", " ytick_color=ytick_color, temp_idx=temp_idx)\n", "\n", - " ##################### DELTA PTS ON CONTRAST PLOT WIP\n", + " # DELTA PTS ON CONTRAST PLOT WIP\n", " show_delta_dots = plot_kwargs[\"delta_dot\"]\n", " if show_delta_dots and is_paired is not None:\n", " DeltaDotsPlotter(plot_data=plot_data, contrast_axes=contrast_axes, delta_id_col=dabest_obj.id_col, \n", " idx=idx, xvar=xvar, yvar=yvar, is_paired=is_paired, color_col=color_col, \n", " float_contrast=float_contrast, plot_palette_raw=plot_palette_raw, delta_dot_kwargs=delta_dot_kwargs)\n", - " \n", - " ##################### DELTA PTS ON CONTRAST PLOT WIP END\n", "\n", " # Set the tick labels, because the slopegraph plotting doesn't.\n", " rawdata_axes.set_xticks(np.arange(0, len(temp_all_plot_groups)))\n", @@ -248,13 +246,6 @@ "\n", " else:\n", " # Plot the raw data as a set of Sankey Diagrams aligned like barplot.\n", - " group_summaries = plot_kwargs[\"group_summaries\"]\n", - " if group_summaries is None:\n", - " group_summaries = \"mean_sd\"\n", - " err_color = plot_kwargs[\"err_color\"]\n", - " if err_color is None:\n", - " err_color = \"black\"\n", - "\n", " if show_pairs:\n", " sankey_control_group = []\n", " sankey_test_group = []\n", @@ -379,10 +370,6 @@ "\n", " # Plot the gapped line summaries, if this is not a Cumming plot.\n", " # Also, we will not plot gapped lines for paired plots. For now.\n", - " group_summaries = plot_kwargs[\"group_summaries\"]\n", - " if group_summaries is None:\n", - " group_summaries = \"mean_sd\"\n", - "\n", " if group_summaries is not None and not proportional:\n", " # Create list to gather xspans.\n", " xspans = []\n", @@ -425,9 +412,6 @@ " )\n", "\n", " if group_summaries is not None and proportional:\n", - " err_color = plot_kwargs[\"err_color\"]\n", - " if err_color is None:\n", - " err_color = \"black\"\n", " error_bar(\n", " plot_data,\n", " x=xvar,\n", From fb26eb008a139fc77563362e45a3e07a63ef11df Mon Sep 17 00:00:00 2001 From: JAnns98 Date: Mon, 9 Sep 2024 11:26:06 +0800 Subject: [PATCH 23/42] removed redundant code --- dabest/plotter.py | 55 ++++++++++++++++--------------------------- nbs/API/plotter.ipynb | 55 ++++++++++++++++--------------------------- 2 files changed, 40 insertions(+), 70 deletions(-) diff --git a/dabest/plotter.py b/dabest/plotter.py index 6755753a..4e0dd32b 100644 --- a/dabest/plotter.py +++ b/dabest/plotter.py @@ -187,22 +187,21 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): else: # Plot the raw data as a set of Sankey Diagrams aligned like barplot. - if show_pairs: - sankey_control_group = [] - sankey_test_group = [] - # Design for Sankey Flow Diagram - sankey_idx = ( - [ - (control, test) - for i in idx - for control, test in zip(i[:], (i[1:] + (i[0],))) - ] - if flow - else temp_idx - ) - for i in sankey_idx: - sankey_control_group.append(i[0]) - sankey_test_group.append(i[1]) + sankey_control_group = [] + sankey_test_group = [] + # Design for Sankey Flow Diagram + sankey_idx = ( + [ + (control, test) + for i in idx + for control, test in zip(i[:], (i[1:] + (i[0],))) + ] + if flow + else temp_idx + ) + for i in sankey_idx: + sankey_control_group.append(i[0]) + sankey_test_group.append(i[1]) if len(temp_all_plot_groups) == 2: one_sankey = True @@ -241,14 +240,14 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): else: jitter = 1 - if color_col is None: # Determine the use of hue - rawdata_plot = swarmplot( + swarmplot_hue = xvar if color_col is None else color_col + rawdata_plot = swarmplot( data=plot_data, x=xvar, y=yvar, ax=rawdata_axes, order=all_plot_groups, - hue=xvar, + hue=swarmplot_hue, palette=plot_palette_raw, zorder=1, side=asymmetric_side, @@ -257,23 +256,9 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): gutter_limit=0.45, **swarmplot_kwargs ) + if color_col is None: rawdata_plot.legend().set_visible(False) - else: - rawdata_plot = swarmplot( - data=plot_data, - x=xvar, - y=yvar, - ax=rawdata_axes, - order=all_plot_groups, - hue=color_col, - palette=plot_palette_raw, - zorder=1, - side=asymmetric_side, - jitter=jitter, - is_drop_gutter=True, - gutter_limit=0.45, - **swarmplot_kwargs - ) + else: # Plot the raw data as a barplot. bar1_df = pd.DataFrame( diff --git a/nbs/API/plotter.ipynb b/nbs/API/plotter.ipynb index aaf803d5..97f98146 100644 --- a/nbs/API/plotter.ipynb +++ b/nbs/API/plotter.ipynb @@ -246,22 +246,21 @@ "\n", " else:\n", " # Plot the raw data as a set of Sankey Diagrams aligned like barplot.\n", - " if show_pairs:\n", - " sankey_control_group = []\n", - " sankey_test_group = []\n", - " # Design for Sankey Flow Diagram\n", - " sankey_idx = (\n", - " [\n", - " (control, test)\n", - " for i in idx\n", - " for control, test in zip(i[:], (i[1:] + (i[0],)))\n", - " ]\n", - " if flow\n", - " else temp_idx\n", - " )\n", - " for i in sankey_idx:\n", - " sankey_control_group.append(i[0])\n", - " sankey_test_group.append(i[1])\n", + " sankey_control_group = []\n", + " sankey_test_group = []\n", + " # Design for Sankey Flow Diagram\n", + " sankey_idx = (\n", + " [\n", + " (control, test)\n", + " for i in idx\n", + " for control, test in zip(i[:], (i[1:] + (i[0],)))\n", + " ]\n", + " if flow\n", + " else temp_idx\n", + " )\n", + " for i in sankey_idx:\n", + " sankey_control_group.append(i[0])\n", + " sankey_test_group.append(i[1])\n", "\n", " if len(temp_all_plot_groups) == 2:\n", " one_sankey = True\n", @@ -300,14 +299,14 @@ " else:\n", " jitter = 1\n", "\n", - " if color_col is None: # Determine the use of hue\n", - " rawdata_plot = swarmplot(\n", + " swarmplot_hue = xvar if color_col is None else color_col\n", + " rawdata_plot = swarmplot(\n", " data=plot_data,\n", " x=xvar,\n", " y=yvar,\n", " ax=rawdata_axes,\n", " order=all_plot_groups,\n", - " hue=xvar,\n", + " hue=swarmplot_hue,\n", " palette=plot_palette_raw,\n", " zorder=1,\n", " side=asymmetric_side,\n", @@ -316,23 +315,9 @@ " gutter_limit=0.45,\n", " **swarmplot_kwargs\n", " )\n", + " if color_col is None:\n", " rawdata_plot.legend().set_visible(False)\n", - " else:\n", - " rawdata_plot = swarmplot(\n", - " data=plot_data,\n", - " x=xvar,\n", - " y=yvar,\n", - " ax=rawdata_axes,\n", - " order=all_plot_groups,\n", - " hue=color_col,\n", - " palette=plot_palette_raw,\n", - " zorder=1,\n", - " side=asymmetric_side,\n", - " jitter=jitter,\n", - " is_drop_gutter=True,\n", - " gutter_limit=0.45,\n", - " **swarmplot_kwargs\n", - " )\n", + "\n", " else:\n", " # Plot the raw data as a barplot.\n", " bar1_df = pd.DataFrame(\n", From ac364892d6a27174473884a06f1848dbe3063b37 Mon Sep 17 00:00:00 2001 From: JAnns98 Date: Mon, 9 Sep 2024 11:50:05 +0800 Subject: [PATCH 24/42] Further trimming to group_summaries section of plotter --- dabest/plot_tools.py | 3 -- dabest/plotter.py | 84 ++++++++++++++++++---------------------- nbs/API/plot_tools.ipynb | 5 +-- nbs/API/plotter.ipynb | 84 ++++++++++++++++++---------------------- 4 files changed, 77 insertions(+), 99 deletions(-) diff --git a/dabest/plot_tools.py b/dabest/plot_tools.py index 4fc4fdbc..5d1cef4e 100644 --- a/dabest/plot_tools.py +++ b/dabest/plot_tools.py @@ -1146,9 +1146,6 @@ def slopegraph_plotter(dabest_obj, plot_data, xvar, yvar, color_col, plot_palett x_start = x_start + grp_count - - ... - # %% ../nbs/API/plot_tools.ipynb 6 def swarmplot( data: pd.DataFrame, diff --git a/dabest/plotter.py b/dabest/plotter.py index 4e0dd32b..0787c680 100644 --- a/dabest/plotter.py +++ b/dabest/plotter.py @@ -294,60 +294,52 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): bar.set_x(centre - bar_width / 2.0) bar.set_width(bar_width) - # Plot the gapped line summaries, if this is not a Cumming plot. - # Also, we will not plot gapped lines for paired plots. For now. - if group_summaries is not None and not proportional: - # Create list to gather xspans. - xspans = [] - line_colors = [] - for jj, c in enumerate(rawdata_axes.collections): - try: - if asymmetric_side == "right": - # currently offset is hardcoded with value of -0.2 - x_max_span = -0.2 - else: - _, x_max, _, _ = get_swarm_spans(c) - x_max_span = x_max - jj - xspans.append(x_max_span) - except TypeError: - # we have got a None, so skip and move on. - pass - - if bootstraps_color_by_group: - line_colors.append(plot_palette_raw[all_plot_groups[jj]]) - - # Break the loop since hue in Seaborn adds collections to axes and it will result in index out of range - if jj >= n_groups - 1 and color_col is None: - break - - if len(line_colors) != len(all_plot_groups): - line_colors = ytick_color - - error_bar( - plot_data, - x=xvar, - y=yvar, - # Hardcoded offset... - offset=xspans + np.array(plot_kwargs["group_summaries_offset"]), - line_color=line_colors, - gap_width_percent=1.5, - type=group_summaries, - ax=rawdata_axes, - method="gapped_lines", - **group_summary_kwargs - ) + if group_summaries is not None: + if proportional: + group_summaries_method = "proportional_error_bar" + group_summaries_offset = 0 + group_summaries_line_color = err_color + else: + # Create list to gather xspans. + xspans = [] + line_colors = [] + for jj, c in enumerate(rawdata_axes.collections): + try: + if asymmetric_side == "right": + # currently offset is hardcoded with value of -0.2 + x_max_span = -0.2 + else: + _, x_max, _, _ = get_swarm_spans(c) + x_max_span = x_max - jj + xspans.append(x_max_span) + except TypeError: + # we have got a None, so skip and move on. + pass + + if bootstraps_color_by_group: + line_colors.append(plot_palette_raw[all_plot_groups[jj]]) + + # Break the loop since hue in Seaborn adds collections to axes and it will result in index out of range + if jj >= n_groups - 1 and color_col is None: + break + + if len(line_colors) != len(all_plot_groups): + line_colors = ytick_color + + group_summaries_method = "gapped_lines" + group_summaries_offset = xspans + np.array(plot_kwargs["group_summaries_offset"]) + group_summaries_line_color = line_colors - if group_summaries is not None and proportional: error_bar( plot_data, x=xvar, y=yvar, - offset=0, - line_color=err_color, + offset=group_summaries_offset, + line_color=group_summaries_line_color, gap_width_percent=1.5, type=group_summaries, ax=rawdata_axes, - method="proportional_error_bar", + method=group_summaries_method, **group_summary_kwargs ) diff --git a/nbs/API/plot_tools.ipynb b/nbs/API/plot_tools.ipynb index 78753731..8a59f750 100644 --- a/nbs/API/plot_tools.ipynb +++ b/nbs/API/plot_tools.ipynb @@ -1198,10 +1198,7 @@ "\n", " rawdata_axes.plot(x_points, y_points, **slopegraph_kwargs)\n", "\n", - " x_start = x_start + grp_count\n", - "\n", - "\n", - " ..." + " x_start = x_start + grp_count" ] }, { diff --git a/nbs/API/plotter.ipynb b/nbs/API/plotter.ipynb index 97f98146..61436086 100644 --- a/nbs/API/plotter.ipynb +++ b/nbs/API/plotter.ipynb @@ -353,60 +353,52 @@ " bar.set_x(centre - bar_width / 2.0)\n", " bar.set_width(bar_width)\n", "\n", - " # Plot the gapped line summaries, if this is not a Cumming plot.\n", - " # Also, we will not plot gapped lines for paired plots. For now.\n", - " if group_summaries is not None and not proportional:\n", - " # Create list to gather xspans.\n", - " xspans = []\n", - " line_colors = []\n", - " for jj, c in enumerate(rawdata_axes.collections):\n", - " try:\n", - " if asymmetric_side == \"right\":\n", - " # currently offset is hardcoded with value of -0.2\n", - " x_max_span = -0.2\n", - " else:\n", - " _, x_max, _, _ = get_swarm_spans(c)\n", - " x_max_span = x_max - jj\n", - " xspans.append(x_max_span)\n", - " except TypeError:\n", - " # we have got a None, so skip and move on.\n", - " pass\n", - "\n", - " if bootstraps_color_by_group:\n", - " line_colors.append(plot_palette_raw[all_plot_groups[jj]])\n", - "\n", - " # Break the loop since hue in Seaborn adds collections to axes and it will result in index out of range\n", - " if jj >= n_groups - 1 and color_col is None:\n", - " break\n", - "\n", - " if len(line_colors) != len(all_plot_groups):\n", - " line_colors = ytick_color\n", - "\n", - " error_bar(\n", - " plot_data,\n", - " x=xvar,\n", - " y=yvar,\n", - " # Hardcoded offset...\n", - " offset=xspans + np.array(plot_kwargs[\"group_summaries_offset\"]),\n", - " line_color=line_colors,\n", - " gap_width_percent=1.5,\n", - " type=group_summaries,\n", - " ax=rawdata_axes,\n", - " method=\"gapped_lines\",\n", - " **group_summary_kwargs\n", - " )\n", + " if group_summaries is not None:\n", + " if proportional:\n", + " group_summaries_method = \"proportional_error_bar\"\n", + " group_summaries_offset = 0\n", + " group_summaries_line_color = err_color\n", + " else:\n", + " # Create list to gather xspans.\n", + " xspans = []\n", + " line_colors = []\n", + " for jj, c in enumerate(rawdata_axes.collections):\n", + " try:\n", + " if asymmetric_side == \"right\":\n", + " # currently offset is hardcoded with value of -0.2\n", + " x_max_span = -0.2\n", + " else:\n", + " _, x_max, _, _ = get_swarm_spans(c)\n", + " x_max_span = x_max - jj\n", + " xspans.append(x_max_span)\n", + " except TypeError:\n", + " # we have got a None, so skip and move on.\n", + " pass\n", + "\n", + " if bootstraps_color_by_group:\n", + " line_colors.append(plot_palette_raw[all_plot_groups[jj]])\n", + "\n", + " # Break the loop since hue in Seaborn adds collections to axes and it will result in index out of range\n", + " if jj >= n_groups - 1 and color_col is None:\n", + " break\n", + "\n", + " if len(line_colors) != len(all_plot_groups):\n", + " line_colors = ytick_color\n", + "\n", + " group_summaries_method = \"gapped_lines\"\n", + " group_summaries_offset = xspans + np.array(plot_kwargs[\"group_summaries_offset\"])\n", + " group_summaries_line_color = line_colors\n", "\n", - " if group_summaries is not None and proportional:\n", " error_bar(\n", " plot_data,\n", " x=xvar,\n", " y=yvar,\n", - " offset=0,\n", - " line_color=err_color,\n", + " offset=group_summaries_offset,\n", + " line_color=group_summaries_line_color,\n", " gap_width_percent=1.5,\n", " type=group_summaries,\n", " ax=rawdata_axes,\n", - " method=\"proportional_error_bar\",\n", + " method=group_summaries_method,\n", " **group_summary_kwargs\n", " )\n", "\n", From af1efba371492fa5674a1135cba737a8ac855e3b Mon Sep 17 00:00:00 2001 From: JAnns98 Date: Mon, 9 Sep 2024 16:21:15 +0800 Subject: [PATCH 25/42] Edit and moving some sankey code --- dabest/_modidx.py | 1 + dabest/misc_tools.py | 22 +++++++++++++++- dabest/plot_tools.py | 31 ++++++++++++++++++++-- dabest/plotter.py | 57 +++++++--------------------------------- nbs/API/misc_tools.ipynb | 22 +++++++++++++++- nbs/API/plot_tools.ipynb | 31 ++++++++++++++++++++-- nbs/API/plotter.ipynb | 57 +++++++--------------------------------- 7 files changed, 121 insertions(+), 100 deletions(-) diff --git a/dabest/_modidx.py b/dabest/_modidx.py index cd1ca511..b6562007 100644 --- a/dabest/_modidx.py +++ b/dabest/_modidx.py @@ -68,6 +68,7 @@ 'dabest.misc_tools': { 'dabest.misc_tools.get_color_palette': ('API/misc_tools.html#get_color_palette', 'dabest/misc_tools.py'), 'dabest.misc_tools.get_kwargs': ('API/misc_tools.html#get_kwargs', 'dabest/misc_tools.py'), 'dabest.misc_tools.get_params': ('API/misc_tools.html#get_params', 'dabest/misc_tools.py'), + 'dabest.misc_tools.get_plot_groups': ('API/misc_tools.html#get_plot_groups', 'dabest/misc_tools.py'), 'dabest.misc_tools.get_varname': ('API/misc_tools.html#get_varname', 'dabest/misc_tools.py'), 'dabest.misc_tools.initialize_fig': ('API/misc_tools.html#initialize_fig', 'dabest/misc_tools.py'), 'dabest.misc_tools.merge_two_dicts': ('API/misc_tools.html#merge_two_dicts', 'dabest/misc_tools.py'), diff --git a/dabest/misc_tools.py b/dabest/misc_tools.py index 523b6045..131bbf03 100644 --- a/dabest/misc_tools.py +++ b/dabest/misc_tools.py @@ -2,7 +2,7 @@ # %% auto 0 __all__ = ['merge_two_dicts', 'unpack_and_add', 'print_greeting', 'get_varname', 'get_params', 'get_kwargs', 'get_color_palette', - 'initialize_fig'] + 'initialize_fig', 'get_plot_groups'] # %% ../nbs/API/misc_tools.ipynb 4 import datetime as dt @@ -473,3 +473,23 @@ def initialize_fig(plot_kwargs, dabest_obj, show_delta2, show_mini_meta, is_pair rawdata_axes.set_ylim(swarm_ylim) return fig, rawdata_axes, contrast_axes, swarm_ylim + +def get_plot_groups(is_paired, idx, proportional, all_plot_groups): + + if is_paired == "baseline": + idx_pairs = [ + (control, test) + for i in idx + for control, test in zip([i[0]] * (len(i) - 1), i[1:]) + ] + temp_idx = idx if not proportional else idx_pairs + else: + idx_pairs = [ + (control, test) for i in idx for control, test in zip(i[:-1], i[1:]) + ] + temp_idx = idx if not proportional else idx_pairs + + # Determine temp_all_plot_groups based on proportional condition + plot_groups = [item for i in temp_idx for item in i] + temp_all_plot_groups = all_plot_groups if not proportional else plot_groups + return temp_idx, temp_all_plot_groups diff --git a/dabest/plot_tools.py b/dabest/plot_tools.py index 5d1cef4e..ef73e95b 100644 --- a/dabest/plot_tools.py +++ b/dabest/plot_tools.py @@ -622,8 +622,9 @@ def sankeydiag( data: pd.DataFrame, xvar: str, # x column to be plotted. yvar: str, # y column to be plotted. - left_idx: str, # the value in column xvar that is on the left side of each sankey diagram - right_idx: str, # the value in column xvar that is on the right side of each sankey diagram, if len(left_idx) == 1, it will be broadcasted to the same length as right_idx, otherwise it should have the same length as right_idx + temp_all_plot_groups: list, + idx: list, + temp_idx: list, left_labels: list = None, # labels for the left side of the diagram. The diagram will be sorted by these labels. right_labels: list = None, # labels for the right side of the diagram. The diagram will be sorted by these labels. palette: str | dict = None, @@ -669,6 +670,30 @@ def sankeydiag( if ax is None: ax = plt.gca() + left_idx = [] + right_idx = [] + # Design for Sankey Flow Diagram + sankey_idx = ( + [ + (control, test) + for i in idx + for control, test in zip(i[:], (i[1:] + (i[0],))) + ] + if flow + else temp_idx + ) + for i in sankey_idx: + left_idx.append(i[0]) + right_idx.append(i[1]) + + if len(temp_all_plot_groups) == 2: + one_sankey = True + left_idx.pop() + right_idx.pop() # Remove the last element from two lists + + # two_col_sankey = True if proportional == True and one_sankey == False and sankey == True and flow == False else False + + allLabels = pd.Series(np.sort(data[yvar].unique())[::-1]).unique() # Check if all the elements in left_idx and right_idx are in xvar column @@ -780,6 +805,8 @@ def sankeydiag( ax.set_xticks([0, 1]) ax.set_xticklabels(sankey_ticks) + return left_idx, right_idx + def summary_bars_plotter(summary_bars: list, results: object, ax_to_plot: object, float_contrast: bool,summary_bars_kwargs: dict, ci_type: str, ticks_to_plot: list, color_col: str, swarm_colors: list, diff --git a/dabest/plotter.py b/dabest/plotter.py index 0787c680..3e8f4408 100644 --- a/dabest/plotter.py +++ b/dabest/plotter.py @@ -64,6 +64,7 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): get_kwargs, get_color_palette, initialize_fig, + get_plot_groups, ) from .plot_tools import ( halfviolin, @@ -150,24 +151,8 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): # Plotting. if show_pairs: - # Determine temp_idx based on is_paired and proportional conditions - if is_paired == "baseline": - idx_pairs = [ - (control, test) - for i in idx - for control, test in zip([i[0]] * (len(i) - 1), i[1:]) - ] - temp_idx = idx if not proportional else idx_pairs - else: - idx_pairs = [ - (control, test) for i in idx for control, test in zip(i[:-1], i[1:]) - ] - temp_idx = idx if not proportional else idx_pairs - - # Determine temp_all_plot_groups based on proportional condition - plot_groups = [item for i in temp_idx for item in i] - temp_all_plot_groups = all_plot_groups if not proportional else plot_groups - + temp_idx, temp_all_plot_groups = get_plot_groups(is_paired=is_paired, idx=idx, proportional=proportional, + all_plot_groups=all_plot_groups) if not proportional: # Plot the raw data as a slopegraph. slopegraph_plotter(dabest_obj=dabest_obj, plot_data=plot_data, xvar=xvar, yvar=yvar, color_col=color_col, @@ -187,42 +172,17 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): else: # Plot the raw data as a set of Sankey Diagrams aligned like barplot. - sankey_control_group = [] - sankey_test_group = [] - # Design for Sankey Flow Diagram - sankey_idx = ( - [ - (control, test) - for i in idx - for control, test in zip(i[:], (i[1:] + (i[0],))) - ] - if flow - else temp_idx - ) - for i in sankey_idx: - sankey_control_group.append(i[0]) - sankey_test_group.append(i[1]) - - if len(temp_all_plot_groups) == 2: - one_sankey = True - sankey_control_group.pop() - sankey_test_group.pop() # Remove the last element from two lists - - # two_col_sankey = True if proportional == True and one_sankey == False and sankey == True and flow == False else False - - # Replace the paired proportional plot with sankey diagram - sankeyplot = sankeydiag( + sankey_control_group, sankey_test_group = sankeydiag( plot_data, xvar=xvar, yvar=yvar, - left_idx=sankey_control_group, - right_idx=sankey_test_group, + temp_all_plot_groups=temp_all_plot_groups, + idx=idx, + temp_idx=temp_idx, palette=plot_palette_sankey, ax=rawdata_axes, - one_sankey=one_sankey, **sankey_kwargs ) - else: if not proportional: # Plot the raw data as a swarmplot. @@ -294,7 +254,9 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): bar.set_x(centre - bar_width / 2.0) bar.set_width(bar_width) + # Plot the error bars. if group_summaries is not None: + if proportional: group_summaries_method = "proportional_error_bar" group_summaries_offset = 0 @@ -330,6 +292,7 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): group_summaries_offset = xspans + np.array(plot_kwargs["group_summaries_offset"]) group_summaries_line_color = line_colors + # Plot error_bar( plot_data, x=xvar, diff --git a/nbs/API/misc_tools.ipynb b/nbs/API/misc_tools.ipynb index a8670ab3..98ba993a 100644 --- a/nbs/API/misc_tools.ipynb +++ b/nbs/API/misc_tools.ipynb @@ -529,7 +529,27 @@ " if swarm_ylim is not None:\n", " rawdata_axes.set_ylim(swarm_ylim)\n", "\n", - " return fig, rawdata_axes, contrast_axes, swarm_ylim" + " return fig, rawdata_axes, contrast_axes, swarm_ylim\n", + "\n", + "def get_plot_groups(is_paired, idx, proportional, all_plot_groups):\n", + "\n", + " if is_paired == \"baseline\":\n", + " idx_pairs = [\n", + " (control, test)\n", + " for i in idx\n", + " for control, test in zip([i[0]] * (len(i) - 1), i[1:])\n", + " ]\n", + " temp_idx = idx if not proportional else idx_pairs\n", + " else:\n", + " idx_pairs = [\n", + " (control, test) for i in idx for control, test in zip(i[:-1], i[1:])\n", + " ]\n", + " temp_idx = idx if not proportional else idx_pairs\n", + "\n", + " # Determine temp_all_plot_groups based on proportional condition\n", + " plot_groups = [item for i in temp_idx for item in i]\n", + " temp_all_plot_groups = all_plot_groups if not proportional else plot_groups\n", + " return temp_idx, temp_all_plot_groups" ] } ], diff --git a/nbs/API/plot_tools.ipynb b/nbs/API/plot_tools.ipynb index 8a59f750..3638f80d 100644 --- a/nbs/API/plot_tools.ipynb +++ b/nbs/API/plot_tools.ipynb @@ -676,8 +676,9 @@ " data: pd.DataFrame,\n", " xvar: str, # x column to be plotted.\n", " yvar: str, # y column to be plotted.\n", - " left_idx: str, # the value in column xvar that is on the left side of each sankey diagram\n", - " right_idx: str, # the value in column xvar that is on the right side of each sankey diagram, if len(left_idx) == 1, it will be broadcasted to the same length as right_idx, otherwise it should have the same length as right_idx\n", + " temp_all_plot_groups: list,\n", + " idx: list,\n", + " temp_idx: list,\n", " left_labels: list = None, # labels for the left side of the diagram. The diagram will be sorted by these labels.\n", " right_labels: list = None, # labels for the right side of the diagram. The diagram will be sorted by these labels.\n", " palette: str | dict = None,\n", @@ -723,6 +724,30 @@ " if ax is None:\n", " ax = plt.gca()\n", "\n", + " left_idx = []\n", + " right_idx = []\n", + " # Design for Sankey Flow Diagram\n", + " sankey_idx = (\n", + " [\n", + " (control, test)\n", + " for i in idx\n", + " for control, test in zip(i[:], (i[1:] + (i[0],)))\n", + " ]\n", + " if flow\n", + " else temp_idx\n", + " )\n", + " for i in sankey_idx:\n", + " left_idx.append(i[0])\n", + " right_idx.append(i[1])\n", + "\n", + " if len(temp_all_plot_groups) == 2:\n", + " one_sankey = True\n", + " left_idx.pop()\n", + " right_idx.pop() # Remove the last element from two lists\n", + "\n", + " # two_col_sankey = True if proportional == True and one_sankey == False and sankey == True and flow == False else False\n", + "\n", + "\n", " allLabels = pd.Series(np.sort(data[yvar].unique())[::-1]).unique()\n", "\n", " # Check if all the elements in left_idx and right_idx are in xvar column\n", @@ -834,6 +859,8 @@ " ax.set_xticks([0, 1])\n", " ax.set_xticklabels(sankey_ticks)\n", "\n", + " return left_idx, right_idx\n", + "\n", "def summary_bars_plotter(summary_bars: list, results: object, ax_to_plot: object,\n", " float_contrast: bool,summary_bars_kwargs: dict, ci_type: str,\n", " ticks_to_plot: list, color_col: str, swarm_colors: list, \n", diff --git a/nbs/API/plotter.ipynb b/nbs/API/plotter.ipynb index 61436086..4fbc667f 100644 --- a/nbs/API/plotter.ipynb +++ b/nbs/API/plotter.ipynb @@ -123,6 +123,7 @@ " get_kwargs,\n", " get_color_palette,\n", " initialize_fig,\n", + " get_plot_groups,\n", " )\n", " from .plot_tools import (\n", " halfviolin,\n", @@ -209,24 +210,8 @@ " \n", " # Plotting.\n", " if show_pairs:\n", - " # Determine temp_idx based on is_paired and proportional conditions\n", - " if is_paired == \"baseline\":\n", - " idx_pairs = [\n", - " (control, test)\n", - " for i in idx\n", - " for control, test in zip([i[0]] * (len(i) - 1), i[1:])\n", - " ]\n", - " temp_idx = idx if not proportional else idx_pairs\n", - " else:\n", - " idx_pairs = [\n", - " (control, test) for i in idx for control, test in zip(i[:-1], i[1:])\n", - " ]\n", - " temp_idx = idx if not proportional else idx_pairs\n", - "\n", - " # Determine temp_all_plot_groups based on proportional condition\n", - " plot_groups = [item for i in temp_idx for item in i]\n", - " temp_all_plot_groups = all_plot_groups if not proportional else plot_groups\n", - "\n", + " temp_idx, temp_all_plot_groups = get_plot_groups(is_paired=is_paired, idx=idx, proportional=proportional, \n", + " all_plot_groups=all_plot_groups)\n", " if not proportional:\n", " # Plot the raw data as a slopegraph.\n", " slopegraph_plotter(dabest_obj=dabest_obj, plot_data=plot_data, xvar=xvar, yvar=yvar, color_col=color_col, \n", @@ -246,42 +231,17 @@ "\n", " else:\n", " # Plot the raw data as a set of Sankey Diagrams aligned like barplot.\n", - " sankey_control_group = []\n", - " sankey_test_group = []\n", - " # Design for Sankey Flow Diagram\n", - " sankey_idx = (\n", - " [\n", - " (control, test)\n", - " for i in idx\n", - " for control, test in zip(i[:], (i[1:] + (i[0],)))\n", - " ]\n", - " if flow\n", - " else temp_idx\n", - " )\n", - " for i in sankey_idx:\n", - " sankey_control_group.append(i[0])\n", - " sankey_test_group.append(i[1])\n", - "\n", - " if len(temp_all_plot_groups) == 2:\n", - " one_sankey = True\n", - " sankey_control_group.pop()\n", - " sankey_test_group.pop() # Remove the last element from two lists\n", - "\n", - " # two_col_sankey = True if proportional == True and one_sankey == False and sankey == True and flow == False else False\n", - "\n", - " # Replace the paired proportional plot with sankey diagram\n", - " sankeyplot = sankeydiag(\n", + " sankey_control_group, sankey_test_group = sankeydiag(\n", " plot_data,\n", " xvar=xvar,\n", " yvar=yvar,\n", - " left_idx=sankey_control_group,\n", - " right_idx=sankey_test_group,\n", + " temp_all_plot_groups=temp_all_plot_groups,\n", + " idx=idx,\n", + " temp_idx=temp_idx,\n", " palette=plot_palette_sankey,\n", " ax=rawdata_axes,\n", - " one_sankey=one_sankey,\n", " **sankey_kwargs\n", " )\n", - "\n", " else:\n", " if not proportional:\n", " # Plot the raw data as a swarmplot.\n", @@ -353,7 +313,9 @@ " bar.set_x(centre - bar_width / 2.0)\n", " bar.set_width(bar_width)\n", "\n", + " # Plot the error bars.\n", " if group_summaries is not None:\n", + "\n", " if proportional:\n", " group_summaries_method = \"proportional_error_bar\"\n", " group_summaries_offset = 0\n", @@ -389,6 +351,7 @@ " group_summaries_offset = xspans + np.array(plot_kwargs[\"group_summaries_offset\"])\n", " group_summaries_line_color = line_colors\n", "\n", + " # Plot\n", " error_bar(\n", " plot_data,\n", " x=xvar,\n", From 6f8cb0d0022594e9a3ff729a82374791d523ca93 Mon Sep 17 00:00:00 2001 From: JAnns98 Date: Mon, 9 Sep 2024 16:50:58 +0800 Subject: [PATCH 26/42] Created a function in plot_tools to plot the contrast curve for the extra mini meta and delta delta --- dabest/_modidx.py | 2 + dabest/plot_tools.py | 64 +++++++++++++++++++- dabest/plotter.py | 122 +++++++++++++++++++++------------------ nbs/API/plot_tools.ipynb | 63 +++++++++++++++++++- nbs/API/plotter.ipynb | 122 +++++++++++++++++++++------------------ 5 files changed, 257 insertions(+), 116 deletions(-) diff --git a/dabest/_modidx.py b/dabest/_modidx.py index b6562007..bb659f0c 100644 --- a/dabest/_modidx.py +++ b/dabest/_modidx.py @@ -98,6 +98,8 @@ 'dabest.plot_tools.get_swarm_spans': ('API/plot_tools.html#get_swarm_spans', 'dabest/plot_tools.py'), 'dabest.plot_tools.halfviolin': ('API/plot_tools.html#halfviolin', 'dabest/plot_tools.py'), 'dabest.plot_tools.normalize_dict': ('API/plot_tools.html#normalize_dict', 'dabest/plot_tools.py'), + 'dabest.plot_tools.plot_minimeta_or_deltadelta_violins': ( 'API/plot_tools.html#plot_minimeta_or_deltadelta_violins', + 'dabest/plot_tools.py'), 'dabest.plot_tools.sankeydiag': ('API/plot_tools.html#sankeydiag', 'dabest/plot_tools.py'), 'dabest.plot_tools.single_sankey': ('API/plot_tools.html#single_sankey', 'dabest/plot_tools.py'), 'dabest.plot_tools.slopegraph_plotter': ( 'API/plot_tools.html#slopegraph_plotter', diff --git a/dabest/plot_tools.py b/dabest/plot_tools.py index ef73e95b..80b7f437 100644 --- a/dabest/plot_tools.py +++ b/dabest/plot_tools.py @@ -6,7 +6,8 @@ # %% auto 0 __all__ = ['halfviolin', 'get_swarm_spans', 'error_bar', 'check_data_matches_labels', 'normalize_dict', 'width_determine', 'single_sankey', 'sankeydiag', 'summary_bars_plotter', 'contrast_bars_plotter', 'swarm_bars_plotter', - 'delta_text_plotter', 'DeltaDotsPlotter', 'slopegraph_plotter', 'swarmplot', 'SwarmPlot'] + 'delta_text_plotter', 'DeltaDotsPlotter', 'slopegraph_plotter', 'plot_minimeta_or_deltadelta_violins', + 'swarmplot', 'SwarmPlot'] # %% ../nbs/API/plot_tools.ipynb 4 import math @@ -1173,6 +1174,67 @@ def slopegraph_plotter(dabest_obj, plot_data, xvar, yvar, color_col, plot_palett x_start = x_start + grp_count +def plot_minimeta_or_deltadelta_violins(show_mini_meta, effectsize_df, ci_type, rawdata_axes, + contrast_axes, violinplot_kwargs, halfviolin_alpha, ytick_color, + es_marker_size, group_summary_kwargs, contrast_xtick_labels, effect_size + ): + if show_mini_meta: + mini_meta_delta = effectsize_df.mini_meta_delta + data = mini_meta_delta.bootstraps_weighted_delta + difference = mini_meta_delta.difference + if ci_type == "bca": + ci_low = mini_meta_delta.bca_low + ci_high = mini_meta_delta.bca_high + else: + ci_low = mini_meta_delta.pct_low + ci_high = mini_meta_delta.pct_high + else: + delta_delta = effectsize_df.delta_delta + data = delta_delta.bootstraps_delta_delta + difference = delta_delta.difference + if ci_type == "bca": + ci_low = delta_delta.bca_low + ci_high = delta_delta.bca_high + else: + ci_low = delta_delta.pct_low + ci_high = delta_delta.pct_high + # Create the violinplot. + # New in v0.2.6: drop negative infinities before plotting. + position = max(rawdata_axes.get_xticks()) + 2 + v = contrast_axes.violinplot( + data[~np.isinf(data)], positions=[position], **violinplot_kwargs + ) + + fc = "grey" + + halfviolin(v, fill_color=fc, alpha=halfviolin_alpha) + + # Plot the effect size. + contrast_axes.plot( + [position], + difference, + marker="o", + color=ytick_color, + markersize=es_marker_size, + ) + # Plot the confidence interval. + contrast_axes.plot( + [position, position], + [ci_low, ci_high], + linestyle="-", + color=ytick_color, + linewidth=group_summary_kwargs["lw"], + ) + if show_mini_meta: + contrast_xtick_labels.extend(["", "Weighted delta"]) + elif effect_size == "delta_g": + contrast_xtick_labels.extend(["", "deltas' g"]) + else: + contrast_xtick_labels.extend(["", "delta-delta"]) + + return contrast_xtick_labels + ... + # %% ../nbs/API/plot_tools.ipynb 6 def swarmplot( data: pd.DataFrame, diff --git a/dabest/plotter.py b/dabest/plotter.py index 3e8f4408..cb9f5b6f 100644 --- a/dabest/plotter.py +++ b/dabest/plotter.py @@ -78,6 +78,7 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): delta_text_plotter, DeltaDotsPlotter, slopegraph_plotter, + plot_minimeta_or_deltadelta_violins, ) from ._stats_tools.effsize import ( _compute_standardizers, @@ -440,59 +441,66 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): # Plot mini-meta violin if show_mini_meta or show_delta2: - if show_mini_meta: - mini_meta_delta = effectsize_df.mini_meta_delta - data = mini_meta_delta.bootstraps_weighted_delta - difference = mini_meta_delta.difference - if ci_type == "bca": - ci_low = mini_meta_delta.bca_low - ci_high = mini_meta_delta.bca_high - else: - ci_low = mini_meta_delta.pct_low - ci_high = mini_meta_delta.pct_high - else: - delta_delta = effectsize_df.delta_delta - data = delta_delta.bootstraps_delta_delta - difference = delta_delta.difference - if ci_type == "bca": - ci_low = delta_delta.bca_low - ci_high = delta_delta.bca_high - else: - ci_low = delta_delta.pct_low - ci_high = delta_delta.pct_high - # Create the violinplot. - # New in v0.2.6: drop negative infinities before plotting. - position = max(rawdata_axes.get_xticks()) + 2 - v = contrast_axes.violinplot( - data[~np.isinf(data)], positions=[position], **violinplot_kwargs - ) - - fc = "grey" - - halfviolin(v, fill_color=fc, alpha=halfviolin_alpha) - - # Plot the effect size. - contrast_axes.plot( - [position], - difference, - marker="o", - color=ytick_color, - markersize=es_marker_size, - ) - # Plot the confidence interval. - contrast_axes.plot( - [position, position], - [ci_low, ci_high], - linestyle="-", - color=ytick_color, - linewidth=group_summary_kwargs["lw"], - ) - if show_mini_meta: - contrast_xtick_labels.extend(["", "Weighted delta"]) - elif effect_size == "delta_g": - contrast_xtick_labels.extend(["", "deltas' g"]) - else: - contrast_xtick_labels.extend(["", "delta-delta"]) + contrast_xtick_labels = plot_minimeta_or_deltadelta_violins(show_mini_meta=show_mini_meta, effectsize_df=effectsize_df, + ci_type=ci_type, rawdata_axes=rawdata_axes,contrast_axes=contrast_axes, + violinplot_kwargs=violinplot_kwargs, halfviolin_alpha=halfviolin_alpha, + ytick_color=ytick_color, es_marker_size=es_marker_size, group_summary_kwargs=group_summary_kwargs, + contrast_xtick_labels=contrast_xtick_labels, effect_size=effect_size + ) + + # if show_mini_meta: + # mini_meta_delta = effectsize_df.mini_meta_delta + # data = mini_meta_delta.bootstraps_weighted_delta + # difference = mini_meta_delta.difference + # if ci_type == "bca": + # ci_low = mini_meta_delta.bca_low + # ci_high = mini_meta_delta.bca_high + # else: + # ci_low = mini_meta_delta.pct_low + # ci_high = mini_meta_delta.pct_high + # else: + # delta_delta = effectsize_df.delta_delta + # data = delta_delta.bootstraps_delta_delta + # difference = delta_delta.difference + # if ci_type == "bca": + # ci_low = delta_delta.bca_low + # ci_high = delta_delta.bca_high + # else: + # ci_low = delta_delta.pct_low + # ci_high = delta_delta.pct_high + # # Create the violinplot. + # # New in v0.2.6: drop negative infinities before plotting. + # position = max(rawdata_axes.get_xticks()) + 2 + # v = contrast_axes.violinplot( + # data[~np.isinf(data)], positions=[position], **violinplot_kwargs + # ) + + # fc = "grey" + + # halfviolin(v, fill_color=fc, alpha=halfviolin_alpha) + + # # Plot the effect size. + # contrast_axes.plot( + # [position], + # difference, + # marker="o", + # color=ytick_color, + # markersize=es_marker_size, + # ) + # # Plot the confidence interval. + # contrast_axes.plot( + # [position, position], + # [ci_low, ci_high], + # linestyle="-", + # color=ytick_color, + # linewidth=group_summary_kwargs["lw"], + # ) + # if show_mini_meta: + # contrast_xtick_labels.extend(["", "Weighted delta"]) + # elif effect_size == "delta_g": + # contrast_xtick_labels.extend(["", "deltas' g"]) + # else: + # contrast_xtick_labels.extend(["", "delta-delta"]) # Make sure the contrast_axes x-lims match the rawdata_axes xlims, # and add an extra violinplot tick for delta-delta plot. @@ -1099,8 +1107,8 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): if contrast_bars: contrast_bars_plotter(results=results, ax_to_plot=contrast_axes, swarm_plot_ax=rawdata_axes,ticks_to_plot=ticks_to_plot, contrast_bars_kwargs=contrast_bars_kwargs, color_col=color_col, swarm_colors=swarm_colors, show_mini_meta=show_mini_meta, - mini_meta_delta=mini_meta_delta if show_mini_meta else None, show_delta2=show_delta2, - delta_delta=delta_delta if show_delta2 else None, proportional=proportional, is_paired=is_paired) + mini_meta_delta=effectsize_df.mini_meta_delta if show_mini_meta else None, show_delta2=show_delta2, + delta_delta=effectsize_df.delta_delta if show_delta2 else None, proportional=proportional, is_paired=is_paired) # Summary bars WIP summary_bars = plot_kwargs["summary_bars"] @@ -1113,8 +1121,8 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): if delta_text: delta_text_plotter(results=results, ax_to_plot=contrast_axes, swarm_plot_ax=rawdata_axes, ticks_to_plot=ticks_to_plot, delta_text_kwargs=delta_text_kwargs, color_col=color_col, swarm_colors=swarm_colors, is_paired=is_paired,proportional=proportional, float_contrast=float_contrast, show_mini_meta=show_mini_meta, - mini_meta_delta=mini_meta_delta if show_mini_meta else None, show_delta2=show_delta2, - delta_delta=delta_delta if show_delta2 else None) + mini_meta_delta=effectsize_df.mini_meta_delta if show_mini_meta else None, show_delta2=show_delta2, + delta_delta=effectsize_df.delta_delta if show_delta2 else None) ################################################### Swarm & Contrast & Summary Bars & Delta text WIP END # Make sure no stray ticks appear! diff --git a/nbs/API/plot_tools.ipynb b/nbs/API/plot_tools.ipynb index 3638f80d..45cd1838 100644 --- a/nbs/API/plot_tools.ipynb +++ b/nbs/API/plot_tools.ipynb @@ -1225,7 +1225,68 @@ "\n", " rawdata_axes.plot(x_points, y_points, **slopegraph_kwargs)\n", "\n", - " x_start = x_start + grp_count" + " x_start = x_start + grp_count\n", + "\n", + "def plot_minimeta_or_deltadelta_violins(show_mini_meta, effectsize_df, ci_type, rawdata_axes,\n", + " contrast_axes, violinplot_kwargs, halfviolin_alpha, ytick_color, \n", + " es_marker_size, group_summary_kwargs, contrast_xtick_labels, effect_size\n", + " ):\n", + " if show_mini_meta:\n", + " mini_meta_delta = effectsize_df.mini_meta_delta\n", + " data = mini_meta_delta.bootstraps_weighted_delta\n", + " difference = mini_meta_delta.difference\n", + " if ci_type == \"bca\":\n", + " ci_low = mini_meta_delta.bca_low\n", + " ci_high = mini_meta_delta.bca_high\n", + " else:\n", + " ci_low = mini_meta_delta.pct_low\n", + " ci_high = mini_meta_delta.pct_high\n", + " else:\n", + " delta_delta = effectsize_df.delta_delta\n", + " data = delta_delta.bootstraps_delta_delta\n", + " difference = delta_delta.difference\n", + " if ci_type == \"bca\":\n", + " ci_low = delta_delta.bca_low\n", + " ci_high = delta_delta.bca_high\n", + " else:\n", + " ci_low = delta_delta.pct_low\n", + " ci_high = delta_delta.pct_high\n", + " # Create the violinplot.\n", + " # New in v0.2.6: drop negative infinities before plotting.\n", + " position = max(rawdata_axes.get_xticks()) + 2\n", + " v = contrast_axes.violinplot(\n", + " data[~np.isinf(data)], positions=[position], **violinplot_kwargs\n", + " )\n", + "\n", + " fc = \"grey\"\n", + "\n", + " halfviolin(v, fill_color=fc, alpha=halfviolin_alpha)\n", + "\n", + " # Plot the effect size.\n", + " contrast_axes.plot(\n", + " [position],\n", + " difference,\n", + " marker=\"o\",\n", + " color=ytick_color,\n", + " markersize=es_marker_size,\n", + " )\n", + " # Plot the confidence interval.\n", + " contrast_axes.plot(\n", + " [position, position],\n", + " [ci_low, ci_high],\n", + " linestyle=\"-\",\n", + " color=ytick_color,\n", + " linewidth=group_summary_kwargs[\"lw\"],\n", + " )\n", + " if show_mini_meta:\n", + " contrast_xtick_labels.extend([\"\", \"Weighted delta\"])\n", + " elif effect_size == \"delta_g\":\n", + " contrast_xtick_labels.extend([\"\", \"deltas' g\"])\n", + " else:\n", + " contrast_xtick_labels.extend([\"\", \"delta-delta\"])\n", + " \n", + " return contrast_xtick_labels\n", + " ..." ] }, { diff --git a/nbs/API/plotter.ipynb b/nbs/API/plotter.ipynb index 4fbc667f..ff99ec02 100644 --- a/nbs/API/plotter.ipynb +++ b/nbs/API/plotter.ipynb @@ -137,6 +137,7 @@ " delta_text_plotter,\n", " DeltaDotsPlotter,\n", " slopegraph_plotter,\n", + " plot_minimeta_or_deltadelta_violins,\n", " )\n", " from ._stats_tools.effsize import (\n", " _compute_standardizers,\n", @@ -499,59 +500,66 @@ "\n", " # Plot mini-meta violin\n", " if show_mini_meta or show_delta2:\n", - " if show_mini_meta:\n", - " mini_meta_delta = effectsize_df.mini_meta_delta\n", - " data = mini_meta_delta.bootstraps_weighted_delta\n", - " difference = mini_meta_delta.difference\n", - " if ci_type == \"bca\":\n", - " ci_low = mini_meta_delta.bca_low\n", - " ci_high = mini_meta_delta.bca_high\n", - " else:\n", - " ci_low = mini_meta_delta.pct_low\n", - " ci_high = mini_meta_delta.pct_high\n", - " else:\n", - " delta_delta = effectsize_df.delta_delta\n", - " data = delta_delta.bootstraps_delta_delta\n", - " difference = delta_delta.difference\n", - " if ci_type == \"bca\":\n", - " ci_low = delta_delta.bca_low\n", - " ci_high = delta_delta.bca_high\n", - " else:\n", - " ci_low = delta_delta.pct_low\n", - " ci_high = delta_delta.pct_high\n", - " # Create the violinplot.\n", - " # New in v0.2.6: drop negative infinities before plotting.\n", - " position = max(rawdata_axes.get_xticks()) + 2\n", - " v = contrast_axes.violinplot(\n", - " data[~np.isinf(data)], positions=[position], **violinplot_kwargs\n", - " )\n", - "\n", - " fc = \"grey\"\n", - "\n", - " halfviolin(v, fill_color=fc, alpha=halfviolin_alpha)\n", - "\n", - " # Plot the effect size.\n", - " contrast_axes.plot(\n", - " [position],\n", - " difference,\n", - " marker=\"o\",\n", - " color=ytick_color,\n", - " markersize=es_marker_size,\n", - " )\n", - " # Plot the confidence interval.\n", - " contrast_axes.plot(\n", - " [position, position],\n", - " [ci_low, ci_high],\n", - " linestyle=\"-\",\n", - " color=ytick_color,\n", - " linewidth=group_summary_kwargs[\"lw\"],\n", - " )\n", - " if show_mini_meta:\n", - " contrast_xtick_labels.extend([\"\", \"Weighted delta\"])\n", - " elif effect_size == \"delta_g\":\n", - " contrast_xtick_labels.extend([\"\", \"deltas' g\"])\n", - " else:\n", - " contrast_xtick_labels.extend([\"\", \"delta-delta\"])\n", + " contrast_xtick_labels = plot_minimeta_or_deltadelta_violins(show_mini_meta=show_mini_meta, effectsize_df=effectsize_df, \n", + " ci_type=ci_type, rawdata_axes=rawdata_axes,contrast_axes=contrast_axes, \n", + " violinplot_kwargs=violinplot_kwargs, halfviolin_alpha=halfviolin_alpha, \n", + " ytick_color=ytick_color, es_marker_size=es_marker_size, group_summary_kwargs=group_summary_kwargs, \n", + " contrast_xtick_labels=contrast_xtick_labels, effect_size=effect_size\n", + " )\n", + "\n", + " # if show_mini_meta:\n", + " # mini_meta_delta = effectsize_df.mini_meta_delta\n", + " # data = mini_meta_delta.bootstraps_weighted_delta\n", + " # difference = mini_meta_delta.difference\n", + " # if ci_type == \"bca\":\n", + " # ci_low = mini_meta_delta.bca_low\n", + " # ci_high = mini_meta_delta.bca_high\n", + " # else:\n", + " # ci_low = mini_meta_delta.pct_low\n", + " # ci_high = mini_meta_delta.pct_high\n", + " # else:\n", + " # delta_delta = effectsize_df.delta_delta\n", + " # data = delta_delta.bootstraps_delta_delta\n", + " # difference = delta_delta.difference\n", + " # if ci_type == \"bca\":\n", + " # ci_low = delta_delta.bca_low\n", + " # ci_high = delta_delta.bca_high\n", + " # else:\n", + " # ci_low = delta_delta.pct_low\n", + " # ci_high = delta_delta.pct_high\n", + " # # Create the violinplot.\n", + " # # New in v0.2.6: drop negative infinities before plotting.\n", + " # position = max(rawdata_axes.get_xticks()) + 2\n", + " # v = contrast_axes.violinplot(\n", + " # data[~np.isinf(data)], positions=[position], **violinplot_kwargs\n", + " # )\n", + "\n", + " # fc = \"grey\"\n", + "\n", + " # halfviolin(v, fill_color=fc, alpha=halfviolin_alpha)\n", + "\n", + " # # Plot the effect size.\n", + " # contrast_axes.plot(\n", + " # [position],\n", + " # difference,\n", + " # marker=\"o\",\n", + " # color=ytick_color,\n", + " # markersize=es_marker_size,\n", + " # )\n", + " # # Plot the confidence interval.\n", + " # contrast_axes.plot(\n", + " # [position, position],\n", + " # [ci_low, ci_high],\n", + " # linestyle=\"-\",\n", + " # color=ytick_color,\n", + " # linewidth=group_summary_kwargs[\"lw\"],\n", + " # )\n", + " # if show_mini_meta:\n", + " # contrast_xtick_labels.extend([\"\", \"Weighted delta\"])\n", + " # elif effect_size == \"delta_g\":\n", + " # contrast_xtick_labels.extend([\"\", \"deltas' g\"])\n", + " # else:\n", + " # contrast_xtick_labels.extend([\"\", \"delta-delta\"])\n", "\n", " # Make sure the contrast_axes x-lims match the rawdata_axes xlims,\n", " # and add an extra violinplot tick for delta-delta plot.\n", @@ -1158,8 +1166,8 @@ " if contrast_bars:\n", " contrast_bars_plotter(results=results, ax_to_plot=contrast_axes, swarm_plot_ax=rawdata_axes,ticks_to_plot=ticks_to_plot, \n", " contrast_bars_kwargs=contrast_bars_kwargs, color_col=color_col, swarm_colors=swarm_colors, show_mini_meta=show_mini_meta, \n", - " mini_meta_delta=mini_meta_delta if show_mini_meta else None, show_delta2=show_delta2, \n", - " delta_delta=delta_delta if show_delta2 else None, proportional=proportional, is_paired=is_paired)\n", + " mini_meta_delta=effectsize_df.mini_meta_delta if show_mini_meta else None, show_delta2=show_delta2, \n", + " delta_delta=effectsize_df.delta_delta if show_delta2 else None, proportional=proportional, is_paired=is_paired)\n", "\n", " # Summary bars WIP\n", " summary_bars = plot_kwargs[\"summary_bars\"]\n", @@ -1172,8 +1180,8 @@ " if delta_text: \n", " delta_text_plotter(results=results, ax_to_plot=contrast_axes, swarm_plot_ax=rawdata_axes, ticks_to_plot=ticks_to_plot, delta_text_kwargs=delta_text_kwargs, color_col=color_col, swarm_colors=swarm_colors, \n", " is_paired=is_paired,proportional=proportional, float_contrast=float_contrast, show_mini_meta=show_mini_meta, \n", - " mini_meta_delta=mini_meta_delta if show_mini_meta else None, show_delta2=show_delta2, \n", - " delta_delta=delta_delta if show_delta2 else None)\n", + " mini_meta_delta=effectsize_df.mini_meta_delta if show_mini_meta else None, show_delta2=show_delta2, \n", + " delta_delta=effectsize_df.delta_delta if show_delta2 else None)\n", " ################################################### Swarm & Contrast & Summary Bars & Delta text WIP END\n", "\n", " # Make sure no stray ticks appear!\n", From 21509c9e0f9279c0d0ad2b5fa23605feae438ff0 Mon Sep 17 00:00:00 2001 From: JAnns98 Date: Tue, 10 Sep 2024 11:00:52 +0800 Subject: [PATCH 27/42] Further trimmed plotter and created function in misc_tools to extract the contrast ticks to plot --- dabest/_modidx.py | 6 +- dabest/misc_tools.py | 71 ++++++++++++++++++++- dabest/plot_tools.py | 1 - dabest/plotter.py | 129 +++++---------------------------------- nbs/API/misc_tools.ipynb | 73 +++++++++++++++++++++- nbs/API/plot_tools.ipynb | 3 +- nbs/API/plotter.ipynb | 129 +++++---------------------------------- 7 files changed, 179 insertions(+), 233 deletions(-) diff --git a/dabest/_modidx.py b/dabest/_modidx.py index bb659f0c..cd70aec9 100644 --- a/dabest/_modidx.py +++ b/dabest/_modidx.py @@ -65,7 +65,11 @@ 'dabest/forest_plot.py'), 'dabest.forest_plot.forest_plot': ('API/forest_plot.html#forest_plot', 'dabest/forest_plot.py'), 'dabest.forest_plot.load_plot_data': ('API/forest_plot.html#load_plot_data', 'dabest/forest_plot.py')}, - 'dabest.misc_tools': { 'dabest.misc_tools.get_color_palette': ('API/misc_tools.html#get_color_palette', 'dabest/misc_tools.py'), + 'dabest.misc_tools': { 'dabest.misc_tools.add_counts_to_ticks': ( 'API/misc_tools.html#add_counts_to_ticks', + 'dabest/misc_tools.py'), + 'dabest.misc_tools.extract_contrast_plotting_ticks': ( 'API/misc_tools.html#extract_contrast_plotting_ticks', + 'dabest/misc_tools.py'), + 'dabest.misc_tools.get_color_palette': ('API/misc_tools.html#get_color_palette', 'dabest/misc_tools.py'), 'dabest.misc_tools.get_kwargs': ('API/misc_tools.html#get_kwargs', 'dabest/misc_tools.py'), 'dabest.misc_tools.get_params': ('API/misc_tools.html#get_params', 'dabest/misc_tools.py'), 'dabest.misc_tools.get_plot_groups': ('API/misc_tools.html#get_plot_groups', 'dabest/misc_tools.py'), diff --git a/dabest/misc_tools.py b/dabest/misc_tools.py index 131bbf03..a45cce1b 100644 --- a/dabest/misc_tools.py +++ b/dabest/misc_tools.py @@ -2,7 +2,7 @@ # %% auto 0 __all__ = ['merge_two_dicts', 'unpack_and_add', 'print_greeting', 'get_varname', 'get_params', 'get_kwargs', 'get_color_palette', - 'initialize_fig', 'get_plot_groups'] + 'initialize_fig', 'get_plot_groups', 'add_counts_to_ticks', 'extract_contrast_plotting_ticks'] # %% ../nbs/API/misc_tools.ipynb 4 import datetime as dt @@ -11,6 +11,7 @@ import pandas as pd import seaborn as sns import matplotlib.pyplot as plt +import matplotlib # %% ../nbs/API/misc_tools.ipynb 5 def merge_two_dicts( @@ -493,3 +494,71 @@ def get_plot_groups(is_paired, idx, proportional, all_plot_groups): plot_groups = [item for i in temp_idx for item in i] temp_all_plot_groups = all_plot_groups if not proportional else plot_groups return temp_idx, temp_all_plot_groups + + +def add_counts_to_ticks(plot_data, xvar, yvar, rawdata_axes, plot_kwargs): + counts = plot_data.groupby(xvar).count()[yvar] + ticks_with_counts = [] + ticks_loc = rawdata_axes.get_xticks() + rawdata_axes.xaxis.set_major_locator(matplotlib.ticker.FixedLocator(ticks_loc)) + for xticklab in rawdata_axes.xaxis.get_ticklabels(): + t = xticklab.get_text() + if t.rfind("\n") != -1: + te = t[t.rfind("\n") + len("\n") :] + N = str(counts.loc[te]) + te = t + else: + te = t + N = str(counts.loc[te]) + + ticks_with_counts.append("{}\nN = {}".format(te, N)) + + if plot_kwargs["fontsize_rawxlabel"] is not None: + fontsize_rawxlabel = plot_kwargs["fontsize_rawxlabel"] + rawdata_axes.set_xticklabels(ticks_with_counts, fontsize=fontsize_rawxlabel) + + +def extract_contrast_plotting_ticks(is_paired, show_pairs, two_col_sankey, plot_groups, idx, sankey_control_group): + + # Take note of where the `control` groups are. + ticks_to_skip_contrast = None + ticks_to_start_twocol_sankey = None + if is_paired == "baseline" and show_pairs: + if two_col_sankey: + ticks_to_skip = [] + ticks_to_plot = np.arange(0, len(plot_groups) / 2).tolist() + ticks_to_start_twocol_sankey = np.cumsum([len(i) - 1 for i in idx]).tolist() + ticks_to_start_twocol_sankey.pop() + ticks_to_start_twocol_sankey.insert(0, 0) + else: + # ticks_to_skip = np.arange(0, len(temp_all_plot_groups), 2).tolist() + # ticks_to_plot = np.arange(1, len(temp_all_plot_groups), 2).tolist() + ticks_to_skip = np.cumsum([len(t) for t in idx])[:-1].tolist() + ticks_to_skip.insert(0, 0) + # Then obtain the ticks where we have to plot the effect sizes. + ticks_to_plot = [ + t for t in range(0, len(plot_groups)) if t not in ticks_to_skip + ] + ticks_to_skip_contrast = np.cumsum([(len(t)) for t in idx])[:-1].tolist() + ticks_to_skip_contrast.insert(0, 0) + else: + if two_col_sankey: + ticks_to_skip = [len(sankey_control_group)] + # Then obtain the ticks where we have to plot the effect sizes. + ticks_to_plot = [ + t for t in range(0, len(plot_groups)) if t not in ticks_to_skip + ] + ticks_to_skip = [] + ticks_to_start_twocol_sankey = np.cumsum([len(i) - 1 for i in idx]).tolist() + ticks_to_start_twocol_sankey.pop() + ticks_to_start_twocol_sankey.insert(0, 0) + else: + ticks_to_skip = np.cumsum([len(t) for t in idx])[:-1].tolist() + ticks_to_skip.insert(0, 0) + # Then obtain the ticks where we have to plot the effect sizes. + ticks_to_plot = [ + t for t in range(0, len(plot_groups)) if t not in ticks_to_skip + ] + + return ticks_to_skip, ticks_to_plot, ticks_to_skip_contrast, ticks_to_start_twocol_sankey + ... diff --git a/dabest/plot_tools.py b/dabest/plot_tools.py index 80b7f437..0a79767f 100644 --- a/dabest/plot_tools.py +++ b/dabest/plot_tools.py @@ -1233,7 +1233,6 @@ def plot_minimeta_or_deltadelta_violins(show_mini_meta, effectsize_df, ci_type, contrast_xtick_labels.extend(["", "delta-delta"]) return contrast_xtick_labels - ... # %% ../nbs/API/plot_tools.ipynb 6 def swarmplot( diff --git a/dabest/plotter.py b/dabest/plotter.py index cb9f5b6f..8024e5ef 100644 --- a/dabest/plotter.py +++ b/dabest/plotter.py @@ -65,6 +65,8 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): get_color_palette, initialize_fig, get_plot_groups, + add_counts_to_ticks, + extract_contrast_plotting_ticks, ) from .plot_tools import ( halfviolin, @@ -150,7 +152,7 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): proportional=proportional, float_contrast=float_contrast, face_color=face_color, h_space_cummings=h_space_cummings) - # Plotting. + # Plotting the rawdata. if show_pairs: temp_idx, temp_all_plot_groups = get_plot_groups(is_paired=is_paired, idx=idx, proportional=proportional, all_plot_groups=all_plot_groups) @@ -257,7 +259,6 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): # Plot the error bars. if group_summaries is not None: - if proportional: group_summaries_method = "proportional_error_bar" group_summaries_offset = 0 @@ -308,25 +309,7 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): ) # Add the counts to the rawdata axes xticks. - counts = plot_data.groupby(xvar).count()[yvar] - ticks_with_counts = [] - ticks_loc = rawdata_axes.get_xticks() - rawdata_axes.xaxis.set_major_locator(matplotlib.ticker.FixedLocator(ticks_loc)) - for xticklab in rawdata_axes.xaxis.get_ticklabels(): - t = xticklab.get_text() - if t.rfind("\n") != -1: - te = t[t.rfind("\n") + len("\n") :] - N = str(counts.loc[te]) - te = t - else: - te = t - N = str(counts.loc[te]) - - ticks_with_counts.append("{}\nN = {}".format(te, N)) - - if plot_kwargs["fontsize_rawxlabel"] is not None: - fontsize_rawxlabel = plot_kwargs["fontsize_rawxlabel"] - rawdata_axes.set_xticklabels(ticks_with_counts, fontsize=fontsize_rawxlabel) + add_counts_to_ticks(plot_data=plot_data, xvar=xvar, yvar=yvar, rawdata_axes=rawdata_axes, plot_kwargs=plot_kwargs) # Save the handles and labels for the legend. handles, labels = rawdata_axes.get_legend_handles_labels() @@ -335,48 +318,21 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): if bootstraps_color_by_group is False: rawdata_axes.legend().set_visible(False) - # Enforce the xtick of rawdata_axes to be 0 and 1 after drawing only one sankey + # Enforce the xtick of rawdata_axes to be 0 and 1 after drawing only one sankey ----> Redundant code if one_sankey: rawdata_axes.set_xticks([0, 1]) # Plot effect sizes and bootstraps. - # Take note of where the `control` groups are. - if is_paired == "baseline" and show_pairs: - if two_col_sankey: - ticks_to_skip = [] - ticks_to_plot = np.arange(0, len(temp_all_plot_groups) / 2).tolist() - ticks_to_start_twocol_sankey = np.cumsum([len(i) - 1 for i in idx]).tolist() - ticks_to_start_twocol_sankey.pop() - ticks_to_start_twocol_sankey.insert(0, 0) - else: - # ticks_to_skip = np.arange(0, len(temp_all_plot_groups), 2).tolist() - # ticks_to_plot = np.arange(1, len(temp_all_plot_groups), 2).tolist() - ticks_to_skip = np.cumsum([len(t) for t in idx])[:-1].tolist() - ticks_to_skip.insert(0, 0) - # Then obtain the ticks where we have to plot the effect sizes. - ticks_to_plot = [ - t for t in range(0, len(all_plot_groups)) if t not in ticks_to_skip - ] - ticks_to_skip_contrast = np.cumsum([(len(t)) for t in idx])[:-1].tolist() - ticks_to_skip_contrast.insert(0, 0) - else: - if two_col_sankey: - ticks_to_skip = [len(sankey_control_group)] - # Then obtain the ticks where we have to plot the effect sizes. - ticks_to_plot = [ - t for t in range(0, len(temp_idx)) if t not in ticks_to_skip - ] - ticks_to_skip = [] - ticks_to_start_twocol_sankey = np.cumsum([len(i) - 1 for i in idx]).tolist() - ticks_to_start_twocol_sankey.pop() - ticks_to_start_twocol_sankey.insert(0, 0) - else: - ticks_to_skip = np.cumsum([len(t) for t in idx])[:-1].tolist() - ticks_to_skip.insert(0, 0) - # Then obtain the ticks where we have to plot the effect sizes. - ticks_to_plot = [ - t for t in range(0, len(all_plot_groups)) if t not in ticks_to_skip - ] + plot_groups = temp_all_plot_groups if (is_paired == "baseline" and show_pairs and two_col_sankey) else temp_idx if (two_col_sankey) else all_plot_groups + + (ticks_to_skip, ticks_to_plot, ticks_to_skip_contrast, + ticks_to_start_twocol_sankey) = extract_contrast_plotting_ticks(is_paired=is_paired, + show_pairs=show_pairs, + two_col_sankey=two_col_sankey, + plot_groups=plot_groups, + idx=idx, + sankey_control_group=sankey_control_group if two_col_sankey else None, + ) # Plot the bootstraps, then the effect sizes and CIs. es_marker_size = plot_kwargs["es_marker_size"] @@ -448,59 +404,6 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): contrast_xtick_labels=contrast_xtick_labels, effect_size=effect_size ) - # if show_mini_meta: - # mini_meta_delta = effectsize_df.mini_meta_delta - # data = mini_meta_delta.bootstraps_weighted_delta - # difference = mini_meta_delta.difference - # if ci_type == "bca": - # ci_low = mini_meta_delta.bca_low - # ci_high = mini_meta_delta.bca_high - # else: - # ci_low = mini_meta_delta.pct_low - # ci_high = mini_meta_delta.pct_high - # else: - # delta_delta = effectsize_df.delta_delta - # data = delta_delta.bootstraps_delta_delta - # difference = delta_delta.difference - # if ci_type == "bca": - # ci_low = delta_delta.bca_low - # ci_high = delta_delta.bca_high - # else: - # ci_low = delta_delta.pct_low - # ci_high = delta_delta.pct_high - # # Create the violinplot. - # # New in v0.2.6: drop negative infinities before plotting. - # position = max(rawdata_axes.get_xticks()) + 2 - # v = contrast_axes.violinplot( - # data[~np.isinf(data)], positions=[position], **violinplot_kwargs - # ) - - # fc = "grey" - - # halfviolin(v, fill_color=fc, alpha=halfviolin_alpha) - - # # Plot the effect size. - # contrast_axes.plot( - # [position], - # difference, - # marker="o", - # color=ytick_color, - # markersize=es_marker_size, - # ) - # # Plot the confidence interval. - # contrast_axes.plot( - # [position, position], - # [ci_low, ci_high], - # linestyle="-", - # color=ytick_color, - # linewidth=group_summary_kwargs["lw"], - # ) - # if show_mini_meta: - # contrast_xtick_labels.extend(["", "Weighted delta"]) - # elif effect_size == "delta_g": - # contrast_xtick_labels.extend(["", "deltas' g"]) - # else: - # contrast_xtick_labels.extend(["", "delta-delta"]) # Make sure the contrast_axes x-lims match the rawdata_axes xlims, # and add an extra violinplot tick for delta-delta plot. @@ -1031,7 +934,7 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): gridkey_rows.append("Ns") list_of_Ns = [] for i in groups_for_gridkey: - list_of_Ns.append(str(counts.loc[i])) + list_of_Ns.append(str(plot_data.groupby(xvar).count()[yvar].loc[i])) table_cellcols.append(list_of_Ns) # Adds a row for effectsizes with effectsize values diff --git a/nbs/API/misc_tools.ipynb b/nbs/API/misc_tools.ipynb index 98ba993a..5b39550b 100644 --- a/nbs/API/misc_tools.ipynb +++ b/nbs/API/misc_tools.ipynb @@ -59,7 +59,8 @@ "from numpy import repeat\n", "import pandas as pd\n", "import seaborn as sns\n", - "import matplotlib.pyplot as plt" + "import matplotlib.pyplot as plt\n", + "import matplotlib" ] }, { @@ -549,7 +550,75 @@ " # Determine temp_all_plot_groups based on proportional condition\n", " plot_groups = [item for i in temp_idx for item in i]\n", " temp_all_plot_groups = all_plot_groups if not proportional else plot_groups\n", - " return temp_idx, temp_all_plot_groups" + " return temp_idx, temp_all_plot_groups\n", + "\n", + "\n", + "def add_counts_to_ticks(plot_data, xvar, yvar, rawdata_axes, plot_kwargs):\n", + " counts = plot_data.groupby(xvar).count()[yvar]\n", + " ticks_with_counts = []\n", + " ticks_loc = rawdata_axes.get_xticks()\n", + " rawdata_axes.xaxis.set_major_locator(matplotlib.ticker.FixedLocator(ticks_loc))\n", + " for xticklab in rawdata_axes.xaxis.get_ticklabels():\n", + " t = xticklab.get_text()\n", + " if t.rfind(\"\\n\") != -1:\n", + " te = t[t.rfind(\"\\n\") + len(\"\\n\") :]\n", + " N = str(counts.loc[te])\n", + " te = t\n", + " else:\n", + " te = t\n", + " N = str(counts.loc[te])\n", + "\n", + " ticks_with_counts.append(\"{}\\nN = {}\".format(te, N))\n", + "\n", + " if plot_kwargs[\"fontsize_rawxlabel\"] is not None:\n", + " fontsize_rawxlabel = plot_kwargs[\"fontsize_rawxlabel\"]\n", + " rawdata_axes.set_xticklabels(ticks_with_counts, fontsize=fontsize_rawxlabel)\n", + "\n", + "\n", + "def extract_contrast_plotting_ticks(is_paired, show_pairs, two_col_sankey, plot_groups, idx, sankey_control_group):\n", + "\n", + " # Take note of where the `control` groups are.\n", + " ticks_to_skip_contrast = None\n", + " ticks_to_start_twocol_sankey = None\n", + " if is_paired == \"baseline\" and show_pairs:\n", + " if two_col_sankey:\n", + " ticks_to_skip = []\n", + " ticks_to_plot = np.arange(0, len(plot_groups) / 2).tolist()\n", + " ticks_to_start_twocol_sankey = np.cumsum([len(i) - 1 for i in idx]).tolist()\n", + " ticks_to_start_twocol_sankey.pop()\n", + " ticks_to_start_twocol_sankey.insert(0, 0)\n", + " else:\n", + " # ticks_to_skip = np.arange(0, len(temp_all_plot_groups), 2).tolist()\n", + " # ticks_to_plot = np.arange(1, len(temp_all_plot_groups), 2).tolist()\n", + " ticks_to_skip = np.cumsum([len(t) for t in idx])[:-1].tolist()\n", + " ticks_to_skip.insert(0, 0)\n", + " # Then obtain the ticks where we have to plot the effect sizes.\n", + " ticks_to_plot = [\n", + " t for t in range(0, len(plot_groups)) if t not in ticks_to_skip\n", + " ]\n", + " ticks_to_skip_contrast = np.cumsum([(len(t)) for t in idx])[:-1].tolist()\n", + " ticks_to_skip_contrast.insert(0, 0)\n", + " else:\n", + " if two_col_sankey:\n", + " ticks_to_skip = [len(sankey_control_group)]\n", + " # Then obtain the ticks where we have to plot the effect sizes.\n", + " ticks_to_plot = [\n", + " t for t in range(0, len(plot_groups)) if t not in ticks_to_skip\n", + " ]\n", + " ticks_to_skip = []\n", + " ticks_to_start_twocol_sankey = np.cumsum([len(i) - 1 for i in idx]).tolist()\n", + " ticks_to_start_twocol_sankey.pop()\n", + " ticks_to_start_twocol_sankey.insert(0, 0)\n", + " else:\n", + " ticks_to_skip = np.cumsum([len(t) for t in idx])[:-1].tolist()\n", + " ticks_to_skip.insert(0, 0)\n", + " # Then obtain the ticks where we have to plot the effect sizes.\n", + " ticks_to_plot = [\n", + " t for t in range(0, len(plot_groups)) if t not in ticks_to_skip\n", + " ]\n", + " \n", + " return ticks_to_skip, ticks_to_plot, ticks_to_skip_contrast, ticks_to_start_twocol_sankey\n", + " ..." ] } ], diff --git a/nbs/API/plot_tools.ipynb b/nbs/API/plot_tools.ipynb index 45cd1838..51758213 100644 --- a/nbs/API/plot_tools.ipynb +++ b/nbs/API/plot_tools.ipynb @@ -1285,8 +1285,7 @@ " else:\n", " contrast_xtick_labels.extend([\"\", \"delta-delta\"])\n", " \n", - " return contrast_xtick_labels\n", - " ..." + " return contrast_xtick_labels" ] }, { diff --git a/nbs/API/plotter.ipynb b/nbs/API/plotter.ipynb index ff99ec02..cbe05b2b 100644 --- a/nbs/API/plotter.ipynb +++ b/nbs/API/plotter.ipynb @@ -124,6 +124,8 @@ " get_color_palette,\n", " initialize_fig,\n", " get_plot_groups,\n", + " add_counts_to_ticks,\n", + " extract_contrast_plotting_ticks,\n", " )\n", " from .plot_tools import (\n", " halfviolin,\n", @@ -209,7 +211,7 @@ " proportional=proportional, float_contrast=float_contrast, face_color=face_color, \n", " h_space_cummings=h_space_cummings)\n", " \n", - " # Plotting.\n", + " # Plotting the rawdata.\n", " if show_pairs:\n", " temp_idx, temp_all_plot_groups = get_plot_groups(is_paired=is_paired, idx=idx, proportional=proportional, \n", " all_plot_groups=all_plot_groups)\n", @@ -316,7 +318,6 @@ "\n", " # Plot the error bars.\n", " if group_summaries is not None:\n", - "\n", " if proportional:\n", " group_summaries_method = \"proportional_error_bar\"\n", " group_summaries_offset = 0\n", @@ -367,25 +368,7 @@ " )\n", "\n", " # Add the counts to the rawdata axes xticks.\n", - " counts = plot_data.groupby(xvar).count()[yvar]\n", - " ticks_with_counts = []\n", - " ticks_loc = rawdata_axes.get_xticks()\n", - " rawdata_axes.xaxis.set_major_locator(matplotlib.ticker.FixedLocator(ticks_loc))\n", - " for xticklab in rawdata_axes.xaxis.get_ticklabels():\n", - " t = xticklab.get_text()\n", - " if t.rfind(\"\\n\") != -1:\n", - " te = t[t.rfind(\"\\n\") + len(\"\\n\") :]\n", - " N = str(counts.loc[te])\n", - " te = t\n", - " else:\n", - " te = t\n", - " N = str(counts.loc[te])\n", - "\n", - " ticks_with_counts.append(\"{}\\nN = {}\".format(te, N))\n", - "\n", - " if plot_kwargs[\"fontsize_rawxlabel\"] is not None:\n", - " fontsize_rawxlabel = plot_kwargs[\"fontsize_rawxlabel\"]\n", - " rawdata_axes.set_xticklabels(ticks_with_counts, fontsize=fontsize_rawxlabel)\n", + " add_counts_to_ticks(plot_data=plot_data, xvar=xvar, yvar=yvar, rawdata_axes=rawdata_axes, plot_kwargs=plot_kwargs)\n", "\n", " # Save the handles and labels for the legend.\n", " handles, labels = rawdata_axes.get_legend_handles_labels()\n", @@ -394,48 +377,21 @@ " if bootstraps_color_by_group is False:\n", " rawdata_axes.legend().set_visible(False)\n", "\n", - " # Enforce the xtick of rawdata_axes to be 0 and 1 after drawing only one sankey\n", + " # Enforce the xtick of rawdata_axes to be 0 and 1 after drawing only one sankey ----> Redundant code\n", " if one_sankey:\n", " rawdata_axes.set_xticks([0, 1])\n", "\n", " # Plot effect sizes and bootstraps.\n", - " # Take note of where the `control` groups are.\n", - " if is_paired == \"baseline\" and show_pairs:\n", - " if two_col_sankey:\n", - " ticks_to_skip = []\n", - " ticks_to_plot = np.arange(0, len(temp_all_plot_groups) / 2).tolist()\n", - " ticks_to_start_twocol_sankey = np.cumsum([len(i) - 1 for i in idx]).tolist()\n", - " ticks_to_start_twocol_sankey.pop()\n", - " ticks_to_start_twocol_sankey.insert(0, 0)\n", - " else:\n", - " # ticks_to_skip = np.arange(0, len(temp_all_plot_groups), 2).tolist()\n", - " # ticks_to_plot = np.arange(1, len(temp_all_plot_groups), 2).tolist()\n", - " ticks_to_skip = np.cumsum([len(t) for t in idx])[:-1].tolist()\n", - " ticks_to_skip.insert(0, 0)\n", - " # Then obtain the ticks where we have to plot the effect sizes.\n", - " ticks_to_plot = [\n", - " t for t in range(0, len(all_plot_groups)) if t not in ticks_to_skip\n", - " ]\n", - " ticks_to_skip_contrast = np.cumsum([(len(t)) for t in idx])[:-1].tolist()\n", - " ticks_to_skip_contrast.insert(0, 0)\n", - " else:\n", - " if two_col_sankey:\n", - " ticks_to_skip = [len(sankey_control_group)]\n", - " # Then obtain the ticks where we have to plot the effect sizes.\n", - " ticks_to_plot = [\n", - " t for t in range(0, len(temp_idx)) if t not in ticks_to_skip\n", - " ]\n", - " ticks_to_skip = []\n", - " ticks_to_start_twocol_sankey = np.cumsum([len(i) - 1 for i in idx]).tolist()\n", - " ticks_to_start_twocol_sankey.pop()\n", - " ticks_to_start_twocol_sankey.insert(0, 0)\n", - " else:\n", - " ticks_to_skip = np.cumsum([len(t) for t in idx])[:-1].tolist()\n", - " ticks_to_skip.insert(0, 0)\n", - " # Then obtain the ticks where we have to plot the effect sizes.\n", - " ticks_to_plot = [\n", - " t for t in range(0, len(all_plot_groups)) if t not in ticks_to_skip\n", - " ]\n", + " plot_groups = temp_all_plot_groups if (is_paired == \"baseline\" and show_pairs and two_col_sankey) else temp_idx if (two_col_sankey) else all_plot_groups\n", + "\n", + " (ticks_to_skip, ticks_to_plot, ticks_to_skip_contrast, \n", + " ticks_to_start_twocol_sankey) = extract_contrast_plotting_ticks(is_paired=is_paired, \n", + " show_pairs=show_pairs, \n", + " two_col_sankey=two_col_sankey, \n", + " plot_groups=plot_groups,\n", + " idx=idx,\n", + " sankey_control_group=sankey_control_group if two_col_sankey else None,\n", + " )\n", "\n", " # Plot the bootstraps, then the effect sizes and CIs.\n", " es_marker_size = plot_kwargs[\"es_marker_size\"]\n", @@ -507,59 +463,6 @@ " contrast_xtick_labels=contrast_xtick_labels, effect_size=effect_size\n", " )\n", "\n", - " # if show_mini_meta:\n", - " # mini_meta_delta = effectsize_df.mini_meta_delta\n", - " # data = mini_meta_delta.bootstraps_weighted_delta\n", - " # difference = mini_meta_delta.difference\n", - " # if ci_type == \"bca\":\n", - " # ci_low = mini_meta_delta.bca_low\n", - " # ci_high = mini_meta_delta.bca_high\n", - " # else:\n", - " # ci_low = mini_meta_delta.pct_low\n", - " # ci_high = mini_meta_delta.pct_high\n", - " # else:\n", - " # delta_delta = effectsize_df.delta_delta\n", - " # data = delta_delta.bootstraps_delta_delta\n", - " # difference = delta_delta.difference\n", - " # if ci_type == \"bca\":\n", - " # ci_low = delta_delta.bca_low\n", - " # ci_high = delta_delta.bca_high\n", - " # else:\n", - " # ci_low = delta_delta.pct_low\n", - " # ci_high = delta_delta.pct_high\n", - " # # Create the violinplot.\n", - " # # New in v0.2.6: drop negative infinities before plotting.\n", - " # position = max(rawdata_axes.get_xticks()) + 2\n", - " # v = contrast_axes.violinplot(\n", - " # data[~np.isinf(data)], positions=[position], **violinplot_kwargs\n", - " # )\n", - "\n", - " # fc = \"grey\"\n", - "\n", - " # halfviolin(v, fill_color=fc, alpha=halfviolin_alpha)\n", - "\n", - " # # Plot the effect size.\n", - " # contrast_axes.plot(\n", - " # [position],\n", - " # difference,\n", - " # marker=\"o\",\n", - " # color=ytick_color,\n", - " # markersize=es_marker_size,\n", - " # )\n", - " # # Plot the confidence interval.\n", - " # contrast_axes.plot(\n", - " # [position, position],\n", - " # [ci_low, ci_high],\n", - " # linestyle=\"-\",\n", - " # color=ytick_color,\n", - " # linewidth=group_summary_kwargs[\"lw\"],\n", - " # )\n", - " # if show_mini_meta:\n", - " # contrast_xtick_labels.extend([\"\", \"Weighted delta\"])\n", - " # elif effect_size == \"delta_g\":\n", - " # contrast_xtick_labels.extend([\"\", \"deltas' g\"])\n", - " # else:\n", - " # contrast_xtick_labels.extend([\"\", \"delta-delta\"])\n", "\n", " # Make sure the contrast_axes x-lims match the rawdata_axes xlims,\n", " # and add an extra violinplot tick for delta-delta plot.\n", @@ -1090,7 +993,7 @@ " gridkey_rows.append(\"Ns\")\n", " list_of_Ns = []\n", " for i in groups_for_gridkey:\n", - " list_of_Ns.append(str(counts.loc[i]))\n", + " list_of_Ns.append(str(plot_data.groupby(xvar).count()[yvar].loc[i]))\n", " table_cellcols.append(list_of_Ns)\n", "\n", " # Adds a row for effectsizes with effectsize values\n", From 4724cb48ba7824b7a8b6e3d3fdf775539c348e0a Mon Sep 17 00:00:00 2001 From: JAnns98 Date: Tue, 10 Sep 2024 12:05:45 +0800 Subject: [PATCH 28/42] Further trimmed plotter and created a new function in plot_tools for plotting the effect size curves --- dabest/_modidx.py | 2 + dabest/plot_tools.py | 60 ++++++++++++++++++- dabest/plotter.py | 122 +++++++++++++++++++++++---------------- nbs/API/plot_tools.ipynb | 60 ++++++++++++++++++- nbs/API/plotter.ipynb | 122 +++++++++++++++++++++++---------------- 5 files changed, 262 insertions(+), 104 deletions(-) diff --git a/dabest/_modidx.py b/dabest/_modidx.py index cd70aec9..5f64ca30 100644 --- a/dabest/_modidx.py +++ b/dabest/_modidx.py @@ -98,6 +98,8 @@ 'dabest/plot_tools.py'), 'dabest.plot_tools.delta_text_plotter': ( 'API/plot_tools.html#delta_text_plotter', 'dabest/plot_tools.py'), + 'dabest.plot_tools.effect_size_curve_plotter': ( 'API/plot_tools.html#effect_size_curve_plotter', + 'dabest/plot_tools.py'), 'dabest.plot_tools.error_bar': ('API/plot_tools.html#error_bar', 'dabest/plot_tools.py'), 'dabest.plot_tools.get_swarm_spans': ('API/plot_tools.html#get_swarm_spans', 'dabest/plot_tools.py'), 'dabest.plot_tools.halfviolin': ('API/plot_tools.html#halfviolin', 'dabest/plot_tools.py'), diff --git a/dabest/plot_tools.py b/dabest/plot_tools.py index 0a79767f..5567b721 100644 --- a/dabest/plot_tools.py +++ b/dabest/plot_tools.py @@ -7,7 +7,7 @@ __all__ = ['halfviolin', 'get_swarm_spans', 'error_bar', 'check_data_matches_labels', 'normalize_dict', 'width_determine', 'single_sankey', 'sankeydiag', 'summary_bars_plotter', 'contrast_bars_plotter', 'swarm_bars_plotter', 'delta_text_plotter', 'DeltaDotsPlotter', 'slopegraph_plotter', 'plot_minimeta_or_deltadelta_violins', - 'swarmplot', 'SwarmPlot'] + 'effect_size_curve_plotter', 'swarmplot', 'SwarmPlot'] # %% ../nbs/API/plot_tools.ipynb 4 import math @@ -1234,6 +1234,64 @@ def plot_minimeta_or_deltadelta_violins(show_mini_meta, effectsize_df, ci_type, return contrast_xtick_labels + +def effect_size_curve_plotter(ticks_to_plot, results, ci_type, contrast_axes, violinplot_kwargs, halfviolin_alpha, + ytick_color, es_marker_size, group_summary_kwargs, contrast_xtick_labels, + bootstraps_color_by_group, plot_palette_contrast): + for j, tick in enumerate(ticks_to_plot): + current_group = results.test[j] + current_control = results.control[j] + current_bootstrap = results.bootstraps[j] + current_effsize = results.difference[j] + if ci_type == "bca": + current_ci_low = results.bca_low[j] + current_ci_high = results.bca_high[j] + else: + current_ci_low = results.pct_low[j] + current_ci_high = results.pct_high[j] + + # Create the violinplot. + # New in v0.2.6: drop negative infinities before plotting. + v = contrast_axes.violinplot( + current_bootstrap[~np.isinf(current_bootstrap)], + positions=[tick], + **violinplot_kwargs + ) + # Turn the violinplot into half, and color it the same as the swarmplot. + # Do this only if the color column is not specified. + # Ideally, the alpha (transparency) fo the violin plot should be + # less than one so the effect size and CIs are visible. + if bootstraps_color_by_group: + fc = plot_palette_contrast[current_group] + else: + fc = "grey" + + halfviolin(v, fill_color=fc, alpha=halfviolin_alpha) + + # Plot the effect size. + contrast_axes.plot( + [tick], + current_effsize, + marker="o", + color=ytick_color, + markersize=es_marker_size, + ) + + # Plot the confidence interval. + contrast_axes.plot( + [tick, tick], + [current_ci_low, current_ci_high], + linestyle="-", + color=ytick_color, + linewidth=group_summary_kwargs["lw"], + ) + + contrast_xtick_labels.append( + "{}\nminus\n{}".format(current_group, current_control) + ) + return current_group, current_control, current_effsize + ... + # %% ../nbs/API/plot_tools.ipynb 6 def swarmplot( data: pd.DataFrame, diff --git a/dabest/plotter.py b/dabest/plotter.py index 8024e5ef..33a35a6c 100644 --- a/dabest/plotter.py +++ b/dabest/plotter.py @@ -81,6 +81,7 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): DeltaDotsPlotter, slopegraph_plotter, plot_minimeta_or_deltadelta_violins, + effect_size_curve_plotter, ) from ._stats_tools.effsize import ( _compute_standardizers, @@ -343,57 +344,76 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): results = effectsize_df.results contrast_xtick_labels = [] - for j, tick in enumerate(ticks_to_plot): - current_group = results.test[j] - current_control = results.control[j] - current_bootstrap = results.bootstraps[j] - current_effsize = results.difference[j] - if ci_type == "bca": - current_ci_low = results.bca_low[j] - current_ci_high = results.bca_high[j] - else: - current_ci_low = results.pct_low[j] - current_ci_high = results.pct_high[j] - - # Create the violinplot. - # New in v0.2.6: drop negative infinities before plotting. - v = contrast_axes.violinplot( - current_bootstrap[~np.isinf(current_bootstrap)], - positions=[tick], - **violinplot_kwargs - ) - # Turn the violinplot into half, and color it the same as the swarmplot. - # Do this only if the color column is not specified. - # Ideally, the alpha (transparency) fo the violin plot should be - # less than one so the effect size and CIs are visible. - if bootstraps_color_by_group: - fc = plot_palette_contrast[current_group] - else: - fc = "grey" - - halfviolin(v, fill_color=fc, alpha=halfviolin_alpha) - - # Plot the effect size. - contrast_axes.plot( - [tick], - current_effsize, - marker="o", - color=ytick_color, - markersize=es_marker_size, - ) - - # Plot the confidence interval. - contrast_axes.plot( - [tick, tick], - [current_ci_low, current_ci_high], - linestyle="-", - color=ytick_color, - linewidth=group_summary_kwargs["lw"], - ) - - contrast_xtick_labels.append( - "{}\nminus\n{}".format(current_group, current_control) - ) + # for j, tick in enumerate(ticks_to_plot): + # current_group = results.test[j] + # current_control = results.control[j] + # current_bootstrap = results.bootstraps[j] + # current_effsize = results.difference[j] + # if ci_type == "bca": + # current_ci_low = results.bca_low[j] + # current_ci_high = results.bca_high[j] + # else: + # current_ci_low = results.pct_low[j] + # current_ci_high = results.pct_high[j] + + # # Create the violinplot. + # # New in v0.2.6: drop negative infinities before plotting. + # v = contrast_axes.violinplot( + # current_bootstrap[~np.isinf(current_bootstrap)], + # positions=[tick], + # **violinplot_kwargs + # ) + # # Turn the violinplot into half, and color it the same as the swarmplot. + # # Do this only if the color column is not specified. + # # Ideally, the alpha (transparency) fo the violin plot should be + # # less than one so the effect size and CIs are visible. + # if bootstraps_color_by_group: + # fc = plot_palette_contrast[current_group] + # else: + # fc = "grey" + + # halfviolin(v, fill_color=fc, alpha=halfviolin_alpha) + + # # Plot the effect size. + # contrast_axes.plot( + # [tick], + # current_effsize, + # marker="o", + # color=ytick_color, + # markersize=es_marker_size, + # ) + + # # Plot the confidence interval. + # contrast_axes.plot( + # [tick, tick], + # [current_ci_low, current_ci_high], + # linestyle="-", + # color=ytick_color, + # linewidth=group_summary_kwargs["lw"], + # ) + + # contrast_xtick_labels.append( + # "{}\nminus\n{}".format(current_group, current_control) + # ) + + + ##### WIP + (current_group, current_control, + current_effsize) = effect_size_curve_plotter(ticks_to_plot=ticks_to_plot, + results=results, + ci_type=ci_type, + contrast_axes=contrast_axes, + violinplot_kwargs=violinplot_kwargs, + halfviolin_alpha=halfviolin_alpha, + ytick_color=ytick_color, + es_marker_size=es_marker_size, + group_summary_kwargs=group_summary_kwargs, + contrast_xtick_labels=contrast_xtick_labels, + bootstraps_color_by_group=bootstraps_color_by_group, + plot_palette_contrast=plot_palette_contrast, + ) + + ##### WIP # Plot mini-meta violin if show_mini_meta or show_delta2: diff --git a/nbs/API/plot_tools.ipynb b/nbs/API/plot_tools.ipynb index 51758213..39759c9c 100644 --- a/nbs/API/plot_tools.ipynb +++ b/nbs/API/plot_tools.ipynb @@ -1285,7 +1285,65 @@ " else:\n", " contrast_xtick_labels.extend([\"\", \"delta-delta\"])\n", " \n", - " return contrast_xtick_labels" + " return contrast_xtick_labels\n", + "\n", + "\n", + "def effect_size_curve_plotter(ticks_to_plot, results, ci_type, contrast_axes, violinplot_kwargs, halfviolin_alpha, \n", + " ytick_color, es_marker_size, group_summary_kwargs, contrast_xtick_labels, \n", + " bootstraps_color_by_group, plot_palette_contrast):\n", + " for j, tick in enumerate(ticks_to_plot):\n", + " current_group = results.test[j]\n", + " current_control = results.control[j]\n", + " current_bootstrap = results.bootstraps[j]\n", + " current_effsize = results.difference[j]\n", + " if ci_type == \"bca\":\n", + " current_ci_low = results.bca_low[j]\n", + " current_ci_high = results.bca_high[j]\n", + " else:\n", + " current_ci_low = results.pct_low[j]\n", + " current_ci_high = results.pct_high[j]\n", + "\n", + " # Create the violinplot.\n", + " # New in v0.2.6: drop negative infinities before plotting.\n", + " v = contrast_axes.violinplot(\n", + " current_bootstrap[~np.isinf(current_bootstrap)],\n", + " positions=[tick],\n", + " **violinplot_kwargs\n", + " )\n", + " # Turn the violinplot into half, and color it the same as the swarmplot.\n", + " # Do this only if the color column is not specified.\n", + " # Ideally, the alpha (transparency) fo the violin plot should be\n", + " # less than one so the effect size and CIs are visible.\n", + " if bootstraps_color_by_group:\n", + " fc = plot_palette_contrast[current_group]\n", + " else:\n", + " fc = \"grey\"\n", + "\n", + " halfviolin(v, fill_color=fc, alpha=halfviolin_alpha)\n", + "\n", + " # Plot the effect size.\n", + " contrast_axes.plot(\n", + " [tick],\n", + " current_effsize,\n", + " marker=\"o\",\n", + " color=ytick_color,\n", + " markersize=es_marker_size,\n", + " )\n", + "\n", + " # Plot the confidence interval.\n", + " contrast_axes.plot(\n", + " [tick, tick],\n", + " [current_ci_low, current_ci_high],\n", + " linestyle=\"-\",\n", + " color=ytick_color,\n", + " linewidth=group_summary_kwargs[\"lw\"],\n", + " )\n", + "\n", + " contrast_xtick_labels.append(\n", + " \"{}\\nminus\\n{}\".format(current_group, current_control)\n", + " )\n", + " return current_group, current_control, current_effsize\n", + " ..." ] }, { diff --git a/nbs/API/plotter.ipynb b/nbs/API/plotter.ipynb index cbe05b2b..7456c5d1 100644 --- a/nbs/API/plotter.ipynb +++ b/nbs/API/plotter.ipynb @@ -140,6 +140,7 @@ " DeltaDotsPlotter,\n", " slopegraph_plotter,\n", " plot_minimeta_or_deltadelta_violins,\n", + " effect_size_curve_plotter,\n", " )\n", " from ._stats_tools.effsize import (\n", " _compute_standardizers,\n", @@ -402,57 +403,76 @@ " results = effectsize_df.results\n", " contrast_xtick_labels = []\n", "\n", - " for j, tick in enumerate(ticks_to_plot):\n", - " current_group = results.test[j]\n", - " current_control = results.control[j]\n", - " current_bootstrap = results.bootstraps[j]\n", - " current_effsize = results.difference[j]\n", - " if ci_type == \"bca\":\n", - " current_ci_low = results.bca_low[j]\n", - " current_ci_high = results.bca_high[j]\n", - " else:\n", - " current_ci_low = results.pct_low[j]\n", - " current_ci_high = results.pct_high[j]\n", - "\n", - " # Create the violinplot.\n", - " # New in v0.2.6: drop negative infinities before plotting.\n", - " v = contrast_axes.violinplot(\n", - " current_bootstrap[~np.isinf(current_bootstrap)],\n", - " positions=[tick],\n", - " **violinplot_kwargs\n", - " )\n", - " # Turn the violinplot into half, and color it the same as the swarmplot.\n", - " # Do this only if the color column is not specified.\n", - " # Ideally, the alpha (transparency) fo the violin plot should be\n", - " # less than one so the effect size and CIs are visible.\n", - " if bootstraps_color_by_group:\n", - " fc = plot_palette_contrast[current_group]\n", - " else:\n", - " fc = \"grey\"\n", - "\n", - " halfviolin(v, fill_color=fc, alpha=halfviolin_alpha)\n", - "\n", - " # Plot the effect size.\n", - " contrast_axes.plot(\n", - " [tick],\n", - " current_effsize,\n", - " marker=\"o\",\n", - " color=ytick_color,\n", - " markersize=es_marker_size,\n", - " )\n", - "\n", - " # Plot the confidence interval.\n", - " contrast_axes.plot(\n", - " [tick, tick],\n", - " [current_ci_low, current_ci_high],\n", - " linestyle=\"-\",\n", - " color=ytick_color,\n", - " linewidth=group_summary_kwargs[\"lw\"],\n", - " )\n", - "\n", - " contrast_xtick_labels.append(\n", - " \"{}\\nminus\\n{}\".format(current_group, current_control)\n", - " )\n", + " # for j, tick in enumerate(ticks_to_plot):\n", + " # current_group = results.test[j]\n", + " # current_control = results.control[j]\n", + " # current_bootstrap = results.bootstraps[j]\n", + " # current_effsize = results.difference[j]\n", + " # if ci_type == \"bca\":\n", + " # current_ci_low = results.bca_low[j]\n", + " # current_ci_high = results.bca_high[j]\n", + " # else:\n", + " # current_ci_low = results.pct_low[j]\n", + " # current_ci_high = results.pct_high[j]\n", + "\n", + " # # Create the violinplot.\n", + " # # New in v0.2.6: drop negative infinities before plotting.\n", + " # v = contrast_axes.violinplot(\n", + " # current_bootstrap[~np.isinf(current_bootstrap)],\n", + " # positions=[tick],\n", + " # **violinplot_kwargs\n", + " # )\n", + " # # Turn the violinplot into half, and color it the same as the swarmplot.\n", + " # # Do this only if the color column is not specified.\n", + " # # Ideally, the alpha (transparency) fo the violin plot should be\n", + " # # less than one so the effect size and CIs are visible.\n", + " # if bootstraps_color_by_group:\n", + " # fc = plot_palette_contrast[current_group]\n", + " # else:\n", + " # fc = \"grey\"\n", + "\n", + " # halfviolin(v, fill_color=fc, alpha=halfviolin_alpha)\n", + "\n", + " # # Plot the effect size.\n", + " # contrast_axes.plot(\n", + " # [tick],\n", + " # current_effsize,\n", + " # marker=\"o\",\n", + " # color=ytick_color,\n", + " # markersize=es_marker_size,\n", + " # )\n", + "\n", + " # # Plot the confidence interval.\n", + " # contrast_axes.plot(\n", + " # [tick, tick],\n", + " # [current_ci_low, current_ci_high],\n", + " # linestyle=\"-\",\n", + " # color=ytick_color,\n", + " # linewidth=group_summary_kwargs[\"lw\"],\n", + " # )\n", + "\n", + " # contrast_xtick_labels.append(\n", + " # \"{}\\nminus\\n{}\".format(current_group, current_control)\n", + " # )\n", + "\n", + "\n", + " ##### WIP\n", + " (current_group, current_control, \n", + " current_effsize) = effect_size_curve_plotter(ticks_to_plot=ticks_to_plot, \n", + " results=results, \n", + " ci_type=ci_type, \n", + " contrast_axes=contrast_axes, \n", + " violinplot_kwargs=violinplot_kwargs, \n", + " halfviolin_alpha=halfviolin_alpha, \n", + " ytick_color=ytick_color, \n", + " es_marker_size=es_marker_size, \n", + " group_summary_kwargs=group_summary_kwargs, \n", + " contrast_xtick_labels=contrast_xtick_labels, \n", + " bootstraps_color_by_group=bootstraps_color_by_group,\n", + " plot_palette_contrast=plot_palette_contrast,\n", + " )\n", + "\n", + " ##### WIP\n", "\n", " # Plot mini-meta violin\n", " if show_mini_meta or show_delta2:\n", From c298824f51293e561bf7ee476b4277988f26adf8 Mon Sep 17 00:00:00 2001 From: JAnns98 Date: Tue, 10 Sep 2024 12:06:38 +0800 Subject: [PATCH 29/42] removing the commented out code from prior change --- dabest/plotter.py | 53 ------------------------------------------- nbs/API/plotter.ipynb | 53 ------------------------------------------- 2 files changed, 106 deletions(-) diff --git a/dabest/plotter.py b/dabest/plotter.py index 33a35a6c..b2dcf002 100644 --- a/dabest/plotter.py +++ b/dabest/plotter.py @@ -344,59 +344,6 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): results = effectsize_df.results contrast_xtick_labels = [] - # for j, tick in enumerate(ticks_to_plot): - # current_group = results.test[j] - # current_control = results.control[j] - # current_bootstrap = results.bootstraps[j] - # current_effsize = results.difference[j] - # if ci_type == "bca": - # current_ci_low = results.bca_low[j] - # current_ci_high = results.bca_high[j] - # else: - # current_ci_low = results.pct_low[j] - # current_ci_high = results.pct_high[j] - - # # Create the violinplot. - # # New in v0.2.6: drop negative infinities before plotting. - # v = contrast_axes.violinplot( - # current_bootstrap[~np.isinf(current_bootstrap)], - # positions=[tick], - # **violinplot_kwargs - # ) - # # Turn the violinplot into half, and color it the same as the swarmplot. - # # Do this only if the color column is not specified. - # # Ideally, the alpha (transparency) fo the violin plot should be - # # less than one so the effect size and CIs are visible. - # if bootstraps_color_by_group: - # fc = plot_palette_contrast[current_group] - # else: - # fc = "grey" - - # halfviolin(v, fill_color=fc, alpha=halfviolin_alpha) - - # # Plot the effect size. - # contrast_axes.plot( - # [tick], - # current_effsize, - # marker="o", - # color=ytick_color, - # markersize=es_marker_size, - # ) - - # # Plot the confidence interval. - # contrast_axes.plot( - # [tick, tick], - # [current_ci_low, current_ci_high], - # linestyle="-", - # color=ytick_color, - # linewidth=group_summary_kwargs["lw"], - # ) - - # contrast_xtick_labels.append( - # "{}\nminus\n{}".format(current_group, current_control) - # ) - - ##### WIP (current_group, current_control, current_effsize) = effect_size_curve_plotter(ticks_to_plot=ticks_to_plot, diff --git a/nbs/API/plotter.ipynb b/nbs/API/plotter.ipynb index 7456c5d1..5c48d14d 100644 --- a/nbs/API/plotter.ipynb +++ b/nbs/API/plotter.ipynb @@ -403,59 +403,6 @@ " results = effectsize_df.results\n", " contrast_xtick_labels = []\n", "\n", - " # for j, tick in enumerate(ticks_to_plot):\n", - " # current_group = results.test[j]\n", - " # current_control = results.control[j]\n", - " # current_bootstrap = results.bootstraps[j]\n", - " # current_effsize = results.difference[j]\n", - " # if ci_type == \"bca\":\n", - " # current_ci_low = results.bca_low[j]\n", - " # current_ci_high = results.bca_high[j]\n", - " # else:\n", - " # current_ci_low = results.pct_low[j]\n", - " # current_ci_high = results.pct_high[j]\n", - "\n", - " # # Create the violinplot.\n", - " # # New in v0.2.6: drop negative infinities before plotting.\n", - " # v = contrast_axes.violinplot(\n", - " # current_bootstrap[~np.isinf(current_bootstrap)],\n", - " # positions=[tick],\n", - " # **violinplot_kwargs\n", - " # )\n", - " # # Turn the violinplot into half, and color it the same as the swarmplot.\n", - " # # Do this only if the color column is not specified.\n", - " # # Ideally, the alpha (transparency) fo the violin plot should be\n", - " # # less than one so the effect size and CIs are visible.\n", - " # if bootstraps_color_by_group:\n", - " # fc = plot_palette_contrast[current_group]\n", - " # else:\n", - " # fc = \"grey\"\n", - "\n", - " # halfviolin(v, fill_color=fc, alpha=halfviolin_alpha)\n", - "\n", - " # # Plot the effect size.\n", - " # contrast_axes.plot(\n", - " # [tick],\n", - " # current_effsize,\n", - " # marker=\"o\",\n", - " # color=ytick_color,\n", - " # markersize=es_marker_size,\n", - " # )\n", - "\n", - " # # Plot the confidence interval.\n", - " # contrast_axes.plot(\n", - " # [tick, tick],\n", - " # [current_ci_low, current_ci_high],\n", - " # linestyle=\"-\",\n", - " # color=ytick_color,\n", - " # linewidth=group_summary_kwargs[\"lw\"],\n", - " # )\n", - "\n", - " # contrast_xtick_labels.append(\n", - " # \"{}\\nminus\\n{}\".format(current_group, current_control)\n", - " # )\n", - "\n", - "\n", " ##### WIP\n", " (current_group, current_control, \n", " current_effsize) = effect_size_curve_plotter(ticks_to_plot=ticks_to_plot, \n", From a9b6e523bb96ba3d5ccce94c1faa249c9e2e6b59 Mon Sep 17 00:00:00 2001 From: JAnns98 Date: Tue, 10 Sep 2024 14:14:34 +0800 Subject: [PATCH 30/42] Moved gridkey to separate function in plot_tools --- dabest/_modidx.py | 1 + dabest/misc_tools.py | 4 +- dabest/plot_tools.py | 135 ++++++++++++++++++++++++++++- dabest/plotter.py | 183 +++++++-------------------------------- nbs/API/misc_tools.ipynb | 4 +- nbs/API/plot_tools.ipynb | 133 +++++++++++++++++++++++++++- nbs/API/plotter.ipynb | 183 +++++++-------------------------------- 7 files changed, 336 insertions(+), 307 deletions(-) diff --git a/dabest/_modidx.py b/dabest/_modidx.py index 5f64ca30..c44b6352 100644 --- a/dabest/_modidx.py +++ b/dabest/_modidx.py @@ -102,6 +102,7 @@ 'dabest/plot_tools.py'), 'dabest.plot_tools.error_bar': ('API/plot_tools.html#error_bar', 'dabest/plot_tools.py'), 'dabest.plot_tools.get_swarm_spans': ('API/plot_tools.html#get_swarm_spans', 'dabest/plot_tools.py'), + 'dabest.plot_tools.grid_key_WIP': ('API/plot_tools.html#grid_key_wip', 'dabest/plot_tools.py'), 'dabest.plot_tools.halfviolin': ('API/plot_tools.html#halfviolin', 'dabest/plot_tools.py'), 'dabest.plot_tools.normalize_dict': ('API/plot_tools.html#normalize_dict', 'dabest/plot_tools.py'), 'dabest.plot_tools.plot_minimeta_or_deltadelta_violins': ( 'API/plot_tools.html#plot_minimeta_or_deltadelta_violins', diff --git a/dabest/misc_tools.py b/dabest/misc_tools.py index a45cce1b..4f73a710 100644 --- a/dabest/misc_tools.py +++ b/dabest/misc_tools.py @@ -379,7 +379,7 @@ def get_color_palette(plot_kwargs, plot_data, xvar, show_pairs): bar_color, plot_palette_bar, plot_palette_contrast, plot_palette_sankey) def initialize_fig(plot_kwargs, dabest_obj, show_delta2, show_mini_meta, is_paired, show_pairs, proportional, - float_contrast, face_color, h_space_cummings): + float_contrast, face_color): fig_size = plot_kwargs["fig_size"] if fig_size is None: all_groups_count = np.sum([len(i) for i in dabest_obj.idx]) @@ -403,6 +403,8 @@ def initialize_fig(plot_kwargs, dabest_obj, show_delta2, show_mini_meta, is_pair init_fig_kwargs = dict(figsize=fig_size, dpi=plot_kwargs["dpi"], tight_layout=True) width_ratios_ga = [2.5, 1] + h_space_cummings = 0.3 if plot_kwargs["gridkey_rows"] == None else 0.1 ##### GRIDKEY WIP addition + if plot_kwargs["ax"] is not None: # New in v0.2.6. # Use inset axes to create the estimation plot inside a single axes. diff --git a/dabest/plot_tools.py b/dabest/plot_tools.py index 5567b721..3182e8aa 100644 --- a/dabest/plot_tools.py +++ b/dabest/plot_tools.py @@ -7,7 +7,7 @@ __all__ = ['halfviolin', 'get_swarm_spans', 'error_bar', 'check_data_matches_labels', 'normalize_dict', 'width_determine', 'single_sankey', 'sankeydiag', 'summary_bars_plotter', 'contrast_bars_plotter', 'swarm_bars_plotter', 'delta_text_plotter', 'DeltaDotsPlotter', 'slopegraph_plotter', 'plot_minimeta_or_deltadelta_violins', - 'effect_size_curve_plotter', 'swarmplot', 'SwarmPlot'] + 'effect_size_curve_plotter', 'grid_key_WIP', 'swarmplot', 'SwarmPlot'] # %% ../nbs/API/plot_tools.ipynb 4 import math @@ -1290,7 +1290,138 @@ def effect_size_curve_plotter(ticks_to_plot, results, ci_type, contrast_axes, vi "{}\nminus\n{}".format(current_group, current_control) ) return current_group, current_control, current_effsize - ... + + +def grid_key_WIP(is_paired, idx, all_plot_groups, gridkey_rows, rawdata_axes, contrast_axes, + plot_data, xvar, yvar, results, show_delta2, show_mini_meta, float_contrast, plot_kwargs,): + + gridkey_show_Ns=plot_kwargs["gridkey_show_Ns"] + gridkey_show_es=plot_kwargs["gridkey_show_es"] + gridkey_merge_pairs=plot_kwargs["gridkey_merge_pairs"] + + # Raise error if there are more than 2 items in any idx and gridkey_merge_pairs is True and is_paired is not None + if gridkey_merge_pairs and is_paired is not None: + for i in idx: + if len(i) > 2: + warnings.warn( + "gridkey_merge_pairs=True only works if all idx in tuples have only two items. gridkey_merge_pairs has automatically been set to False" + ) + gridkey_merge_pairs = False + break + elif gridkey_merge_pairs and is_paired is None: + warnings.warn( + "gridkey_merge_pairs=True is only applicable for paired data." + ) + gridkey_merge_pairs = False + + # Checks for gridkey_merge_pairs and is_paired; if both are true, "merges" the gridkey per pair + if gridkey_merge_pairs and is_paired is not None: + groups_for_gridkey = [] + for i in idx: + groups_for_gridkey.append(i[1]) + else: + groups_for_gridkey = all_plot_groups + + # raise errors if gridkey_rows is not a list, or if the list is empty + if isinstance(gridkey_rows, list) is False: + raise TypeError("gridkey_rows must be a list.") + elif len(gridkey_rows) == 0: + warnings.warn("gridkey_rows is an empty list.") + + # raise Warning if an item in gridkey_rows is not contained in any idx + for i in gridkey_rows: + in_idx = 0 + for j in groups_for_gridkey: + if i in j: + in_idx += 1 + if in_idx == 0: + if is_paired is not None: + warnings.warn( + i + + " is not in any idx. Please check. Alternatively, merging gridkey pairs may not be suitable for your data; try passing gridkey_merge_pairs=False." + ) + else: + warnings.warn(i + " is not in any idx. Please check.") + + # Populate table: checks if idx for each column contains rowlabel name + # IF so, marks that element as present w black dot, or space if not present + table_cellcols = [] + for i in gridkey_rows: + thisrow = [] + for q in groups_for_gridkey: + if str(i) in q: + thisrow.append("\u25CF") + else: + thisrow.append("") + table_cellcols.append(thisrow) + + # Adds a row for Ns with the Ns values + if gridkey_show_Ns: + gridkey_rows.append("Ns") + list_of_Ns = [] + for i in groups_for_gridkey: + list_of_Ns.append(str(plot_data.groupby(xvar).count()[yvar].loc[i])) + table_cellcols.append(list_of_Ns) + + # Adds a row for effectsizes with effectsize values + if gridkey_show_es: + gridkey_rows.append("\u0394") + effsize_list = [] + results_list = results.test.to_list() + + # get the effect size, append + or -, 2 dec places + for i in enumerate(groups_for_gridkey): + if i[1] in results_list: + curr_esval = results.loc[results["test"] == i[1]][ + "difference" + ].iloc[0] + curr_esval_str = np.format_float_positional( + curr_esval, + precision=2, + sign=True, + trim="k", + min_digits=2, + ) + effsize_list.append(curr_esval_str) + else: + effsize_list.append("-") + + table_cellcols.append(effsize_list) + + # If Gardner-Altman plot, plot on raw data and not contrast axes + if float_contrast: + axes_ploton = rawdata_axes + else: + axes_ploton = contrast_axes + + # Account for extended x axis in case of show_delta2 or show_mini_meta + x_groups_for_width = len(groups_for_gridkey) + if show_delta2 or show_mini_meta: + x_groups_for_width += 2 + gridkey_width = len(groups_for_gridkey) / x_groups_for_width + + gridkey = axes_ploton.table( + cellText=table_cellcols, + rowLabels=gridkey_rows, + cellLoc="center", + bbox=[ + 0, + -len(gridkey_rows) * 0.1 - 0.05, + gridkey_width, + len(gridkey_rows) * 0.1, + ], + **{"alpha": 0.5} + ) + + # modifies row label cells + for cell in gridkey._cells: + if cell[1] == -1: + gridkey._cells[cell].visible_edges = "open" + gridkey._cells[cell].set_text_props(**{"ha": "right"}) + + # turns off both x axes + rawdata_axes.get_xaxis().set_visible(False) + contrast_axes.get_xaxis().set_visible(False) # %% ../nbs/API/plot_tools.ipynb 6 def swarmplot( diff --git a/dabest/plotter.py b/dabest/plotter.py index b2dcf002..4067742a 100644 --- a/dabest/plotter.py +++ b/dabest/plotter.py @@ -82,6 +82,7 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): slopegraph_plotter, plot_minimeta_or_deltadelta_violins, effect_size_curve_plotter, + grid_key_WIP, ) from ._stats_tools.effsize import ( _compute_standardizers, @@ -126,22 +127,6 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): True if proportional and not one_sankey and sankey and not flow else False ) - ################################################### GRIDKEY WIP - extracting arguments - - gridkey_rows = plot_kwargs["gridkey_rows"] - gridkey_merge_pairs = plot_kwargs["gridkey_merge_pairs"] - gridkey_show_Ns = plot_kwargs["gridkey_show_Ns"] - gridkey_show_es = plot_kwargs["gridkey_show_es"] - - if gridkey_rows is None: - gridkey_show_Ns = False - gridkey_show_es = False - h_space_cummings = 0.3 - else: - h_space_cummings = 0.1 - - ################################################### END GRIDKEY WIP - extracting arguments - # Extract Color palette (color_col, bootstraps_color_by_group, n_groups, swarm_colors, plot_palette_raw, bar_color, plot_palette_bar, plot_palette_contrast, plot_palette_sankey) = get_color_palette(plot_kwargs=plot_kwargs, plot_data=plot_data, @@ -151,7 +136,7 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): fig, rawdata_axes, contrast_axes, swarm_ylim = initialize_fig(plot_kwargs=plot_kwargs, dabest_obj=dabest_obj, show_delta2=show_delta2, show_mini_meta=show_mini_meta, is_paired=is_paired, show_pairs=show_pairs, proportional=proportional, float_contrast=float_contrast, face_color=face_color, - h_space_cummings=h_space_cummings) + ) # Plotting the rawdata. if show_pairs: @@ -344,7 +329,6 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): results = effectsize_df.results contrast_xtick_labels = [] - ##### WIP (current_group, current_control, current_effsize) = effect_size_curve_plotter(ticks_to_plot=ticks_to_plot, results=results, @@ -360,16 +344,21 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): plot_palette_contrast=plot_palette_contrast, ) - ##### WIP - # Plot mini-meta violin if show_mini_meta or show_delta2: - contrast_xtick_labels = plot_minimeta_or_deltadelta_violins(show_mini_meta=show_mini_meta, effectsize_df=effectsize_df, - ci_type=ci_type, rawdata_axes=rawdata_axes,contrast_axes=contrast_axes, - violinplot_kwargs=violinplot_kwargs, halfviolin_alpha=halfviolin_alpha, - ytick_color=ytick_color, es_marker_size=es_marker_size, group_summary_kwargs=group_summary_kwargs, - contrast_xtick_labels=contrast_xtick_labels, effect_size=effect_size - ) + contrast_xtick_labels = plot_minimeta_or_deltadelta_violins(show_mini_meta=show_mini_meta, + effectsize_df=effectsize_df, + ci_type=ci_type, + rawdata_axes=rawdata_axes, + contrast_axes=contrast_axes, + violinplot_kwargs=violinplot_kwargs, + halfviolin_alpha=halfviolin_alpha, + ytick_color=ytick_color, + es_marker_size=es_marker_size, + group_summary_kwargs=group_summary_kwargs, + contrast_xtick_labels=contrast_xtick_labels, + effect_size=effect_size + ) # Make sure the contrast_axes x-lims match the rawdata_axes xlims, @@ -837,134 +826,26 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): og_xlim_delta[1], og_ylim_delta[0], og_ylim_delta[1], **redraw_axes_kwargs ) - ################################################### GRIDKEY MAIN CODE WIP + ################################################### GRIDKEY WIP # if gridkey_rows is None, skip everything here + gridkey_rows = plot_kwargs["gridkey_rows"] if gridkey_rows is not None: - # Raise error if there are more than 2 items in any idx and gridkey_merge_pairs is True and is_paired is not None - if gridkey_merge_pairs and is_paired is not None: - for i in idx: - if len(i) > 2: - warnings.warn( - "gridkey_merge_pairs=True only works if all idx in tuples have only two items. gridkey_merge_pairs has automatically been set to False" - ) - gridkey_merge_pairs = False - break - elif gridkey_merge_pairs and is_paired is None: - warnings.warn( - "gridkey_merge_pairs=True is only applicable for paired data." - ) - gridkey_merge_pairs = False - - # Checks for gridkey_merge_pairs and is_paired; if both are true, "merges" the gridkey per pair - if gridkey_merge_pairs and is_paired is not None: - groups_for_gridkey = [] - for i in idx: - groups_for_gridkey.append(i[1]) - else: - groups_for_gridkey = all_plot_groups - - # raise errors if gridkey_rows is not a list, or if the list is empty - if isinstance(gridkey_rows, list) is False: - raise TypeError("gridkey_rows must be a list.") - elif len(gridkey_rows) == 0: - warnings.warn("gridkey_rows is an empty list.") - - # raise Warning if an item in gridkey_rows is not contained in any idx - for i in gridkey_rows: - in_idx = 0 - for j in groups_for_gridkey: - if i in j: - in_idx += 1 - if in_idx == 0: - if is_paired is not None: - warnings.warn( - i - + " is not in any idx. Please check. Alternatively, merging gridkey pairs may not be suitable for your data; try passing gridkey_merge_pairs=False." - ) - else: - warnings.warn(i + " is not in any idx. Please check.") - - # Populate table: checks if idx for each column contains rowlabel name - # IF so, marks that element as present w black dot, or space if not present - table_cellcols = [] - for i in gridkey_rows: - thisrow = [] - for q in groups_for_gridkey: - if str(i) in q: - thisrow.append("\u25CF") - else: - thisrow.append("") - table_cellcols.append(thisrow) - - # Adds a row for Ns with the Ns values - if gridkey_show_Ns: - gridkey_rows.append("Ns") - list_of_Ns = [] - for i in groups_for_gridkey: - list_of_Ns.append(str(plot_data.groupby(xvar).count()[yvar].loc[i])) - table_cellcols.append(list_of_Ns) - - # Adds a row for effectsizes with effectsize values - if gridkey_show_es: - gridkey_rows.append("\u0394") - effsize_list = [] - results_list = results.test.to_list() - - # get the effect size, append + or -, 2 dec places - for i in enumerate(groups_for_gridkey): - if i[1] in results_list: - curr_esval = results.loc[results["test"] == i[1]][ - "difference" - ].iloc[0] - curr_esval_str = np.format_float_positional( - curr_esval, - precision=2, - sign=True, - trim="k", - min_digits=2, - ) - effsize_list.append(curr_esval_str) - else: - effsize_list.append("-") - - table_cellcols.append(effsize_list) + grid_key_WIP(is_paired=is_paired, + idx=idx, + all_plot_groups=all_plot_groups, + gridkey_rows=gridkey_rows, + rawdata_axes=rawdata_axes, + contrast_axes=contrast_axes, + plot_data=plot_data, + xvar=xvar, + yvar=yvar, + results=results, + show_delta2=show_delta2, + show_mini_meta=show_mini_meta, + float_contrast=float_contrast, + plot_kwargs=plot_kwargs, + ) - # If Gardner-Altman plot, plot on raw data and not contrast axes - if float_contrast: - axes_ploton = rawdata_axes - else: - axes_ploton = contrast_axes - - # Account for extended x axis in case of show_delta2 or show_mini_meta - x_groups_for_width = len(groups_for_gridkey) - if show_delta2 or show_mini_meta: - x_groups_for_width += 2 - gridkey_width = len(groups_for_gridkey) / x_groups_for_width - - gridkey = axes_ploton.table( - cellText=table_cellcols, - rowLabels=gridkey_rows, - cellLoc="center", - bbox=[ - 0, - -len(gridkey_rows) * 0.1 - 0.05, - gridkey_width, - len(gridkey_rows) * 0.1, - ], - **{"alpha": 0.5} - ) - - # modifies row label cells - for cell in gridkey._cells: - if cell[1] == -1: - gridkey._cells[cell].visible_edges = "open" - gridkey._cells[cell].set_text_props(**{"ha": "right"}) - - # turns off both x axes - rawdata_axes.get_xaxis().set_visible(False) - contrast_axes.get_xaxis().set_visible(False) - ####################################################### END GRIDKEY MAIN CODE WIP - ################################################### Swarm & Contrast & Summary Bars & Delta text WIP # Swarm bars WIP swarm_bars = plot_kwargs["swarm_bars"] diff --git a/nbs/API/misc_tools.ipynb b/nbs/API/misc_tools.ipynb index 5b39550b..84edbbe7 100644 --- a/nbs/API/misc_tools.ipynb +++ b/nbs/API/misc_tools.ipynb @@ -436,7 +436,7 @@ " bar_color, plot_palette_bar, plot_palette_contrast, plot_palette_sankey)\n", "\n", "def initialize_fig(plot_kwargs, dabest_obj, show_delta2, show_mini_meta, is_paired, show_pairs, proportional,\n", - " float_contrast, face_color, h_space_cummings):\n", + " float_contrast, face_color):\n", " fig_size = plot_kwargs[\"fig_size\"]\n", " if fig_size is None:\n", " all_groups_count = np.sum([len(i) for i in dabest_obj.idx])\n", @@ -460,6 +460,8 @@ " init_fig_kwargs = dict(figsize=fig_size, dpi=plot_kwargs[\"dpi\"], tight_layout=True)\n", " width_ratios_ga = [2.5, 1]\n", "\n", + " h_space_cummings = 0.3 if plot_kwargs[\"gridkey_rows\"] == None else 0.1 ##### GRIDKEY WIP addition\n", + "\n", " if plot_kwargs[\"ax\"] is not None:\n", " # New in v0.2.6.\n", " # Use inset axes to create the estimation plot inside a single axes.\n", diff --git a/nbs/API/plot_tools.ipynb b/nbs/API/plot_tools.ipynb index 39759c9c..baea359c 100644 --- a/nbs/API/plot_tools.ipynb +++ b/nbs/API/plot_tools.ipynb @@ -1343,7 +1343,138 @@ " \"{}\\nminus\\n{}\".format(current_group, current_control)\n", " )\n", " return current_group, current_control, current_effsize\n", - " ..." + "\n", + "\n", + "def grid_key_WIP(is_paired, idx, all_plot_groups, gridkey_rows, rawdata_axes, contrast_axes,\n", + " plot_data, xvar, yvar, results, show_delta2, show_mini_meta, float_contrast, plot_kwargs,):\n", + " \n", + " gridkey_show_Ns=plot_kwargs[\"gridkey_show_Ns\"]\n", + " gridkey_show_es=plot_kwargs[\"gridkey_show_es\"]\n", + " gridkey_merge_pairs=plot_kwargs[\"gridkey_merge_pairs\"]\n", + " \n", + " # Raise error if there are more than 2 items in any idx and gridkey_merge_pairs is True and is_paired is not None\n", + " if gridkey_merge_pairs and is_paired is not None:\n", + " for i in idx:\n", + " if len(i) > 2:\n", + " warnings.warn(\n", + " \"gridkey_merge_pairs=True only works if all idx in tuples have only two items. gridkey_merge_pairs has automatically been set to False\"\n", + " )\n", + " gridkey_merge_pairs = False\n", + " break\n", + " elif gridkey_merge_pairs and is_paired is None:\n", + " warnings.warn(\n", + " \"gridkey_merge_pairs=True is only applicable for paired data.\"\n", + " )\n", + " gridkey_merge_pairs = False\n", + "\n", + " # Checks for gridkey_merge_pairs and is_paired; if both are true, \"merges\" the gridkey per pair\n", + " if gridkey_merge_pairs and is_paired is not None:\n", + " groups_for_gridkey = []\n", + " for i in idx:\n", + " groups_for_gridkey.append(i[1])\n", + " else:\n", + " groups_for_gridkey = all_plot_groups\n", + "\n", + " # raise errors if gridkey_rows is not a list, or if the list is empty\n", + " if isinstance(gridkey_rows, list) is False:\n", + " raise TypeError(\"gridkey_rows must be a list.\")\n", + " elif len(gridkey_rows) == 0:\n", + " warnings.warn(\"gridkey_rows is an empty list.\")\n", + "\n", + " # raise Warning if an item in gridkey_rows is not contained in any idx\n", + " for i in gridkey_rows:\n", + " in_idx = 0\n", + " for j in groups_for_gridkey:\n", + " if i in j:\n", + " in_idx += 1\n", + " if in_idx == 0:\n", + " if is_paired is not None:\n", + " warnings.warn(\n", + " i\n", + " + \" is not in any idx. Please check. Alternatively, merging gridkey pairs may not be suitable for your data; try passing gridkey_merge_pairs=False.\"\n", + " )\n", + " else:\n", + " warnings.warn(i + \" is not in any idx. Please check.\")\n", + "\n", + " # Populate table: checks if idx for each column contains rowlabel name\n", + " # IF so, marks that element as present w black dot, or space if not present\n", + " table_cellcols = []\n", + " for i in gridkey_rows:\n", + " thisrow = []\n", + " for q in groups_for_gridkey:\n", + " if str(i) in q:\n", + " thisrow.append(\"\\u25CF\")\n", + " else:\n", + " thisrow.append(\"\")\n", + " table_cellcols.append(thisrow)\n", + "\n", + " # Adds a row for Ns with the Ns values\n", + " if gridkey_show_Ns:\n", + " gridkey_rows.append(\"Ns\")\n", + " list_of_Ns = []\n", + " for i in groups_for_gridkey:\n", + " list_of_Ns.append(str(plot_data.groupby(xvar).count()[yvar].loc[i]))\n", + " table_cellcols.append(list_of_Ns)\n", + "\n", + " # Adds a row for effectsizes with effectsize values\n", + " if gridkey_show_es:\n", + " gridkey_rows.append(\"\\u0394\")\n", + " effsize_list = []\n", + " results_list = results.test.to_list()\n", + "\n", + " # get the effect size, append + or -, 2 dec places\n", + " for i in enumerate(groups_for_gridkey):\n", + " if i[1] in results_list:\n", + " curr_esval = results.loc[results[\"test\"] == i[1]][\n", + " \"difference\"\n", + " ].iloc[0]\n", + " curr_esval_str = np.format_float_positional(\n", + " curr_esval,\n", + " precision=2,\n", + " sign=True,\n", + " trim=\"k\",\n", + " min_digits=2,\n", + " )\n", + " effsize_list.append(curr_esval_str)\n", + " else:\n", + " effsize_list.append(\"-\")\n", + "\n", + " table_cellcols.append(effsize_list)\n", + "\n", + " # If Gardner-Altman plot, plot on raw data and not contrast axes\n", + " if float_contrast:\n", + " axes_ploton = rawdata_axes\n", + " else:\n", + " axes_ploton = contrast_axes\n", + "\n", + " # Account for extended x axis in case of show_delta2 or show_mini_meta\n", + " x_groups_for_width = len(groups_for_gridkey)\n", + " if show_delta2 or show_mini_meta:\n", + " x_groups_for_width += 2\n", + " gridkey_width = len(groups_for_gridkey) / x_groups_for_width\n", + "\n", + " gridkey = axes_ploton.table(\n", + " cellText=table_cellcols,\n", + " rowLabels=gridkey_rows,\n", + " cellLoc=\"center\",\n", + " bbox=[\n", + " 0,\n", + " -len(gridkey_rows) * 0.1 - 0.05,\n", + " gridkey_width,\n", + " len(gridkey_rows) * 0.1,\n", + " ],\n", + " **{\"alpha\": 0.5}\n", + " )\n", + "\n", + " # modifies row label cells\n", + " for cell in gridkey._cells:\n", + " if cell[1] == -1:\n", + " gridkey._cells[cell].visible_edges = \"open\"\n", + " gridkey._cells[cell].set_text_props(**{\"ha\": \"right\"})\n", + "\n", + " # turns off both x axes\n", + " rawdata_axes.get_xaxis().set_visible(False)\n", + " contrast_axes.get_xaxis().set_visible(False)" ] }, { diff --git a/nbs/API/plotter.ipynb b/nbs/API/plotter.ipynb index 5c48d14d..78a48a0a 100644 --- a/nbs/API/plotter.ipynb +++ b/nbs/API/plotter.ipynb @@ -141,6 +141,7 @@ " slopegraph_plotter,\n", " plot_minimeta_or_deltadelta_violins,\n", " effect_size_curve_plotter,\n", + " grid_key_WIP,\n", " )\n", " from ._stats_tools.effsize import (\n", " _compute_standardizers,\n", @@ -185,22 +186,6 @@ " True if proportional and not one_sankey and sankey and not flow else False\n", " )\n", "\n", - " ################################################### GRIDKEY WIP - extracting arguments\n", - "\n", - " gridkey_rows = plot_kwargs[\"gridkey_rows\"]\n", - " gridkey_merge_pairs = plot_kwargs[\"gridkey_merge_pairs\"]\n", - " gridkey_show_Ns = plot_kwargs[\"gridkey_show_Ns\"]\n", - " gridkey_show_es = plot_kwargs[\"gridkey_show_es\"]\n", - "\n", - " if gridkey_rows is None:\n", - " gridkey_show_Ns = False\n", - " gridkey_show_es = False\n", - " h_space_cummings = 0.3\n", - " else:\n", - " h_space_cummings = 0.1\n", - "\n", - " ################################################### END GRIDKEY WIP - extracting arguments\n", - "\n", " # Extract Color palette\n", " (color_col, bootstraps_color_by_group, n_groups, swarm_colors, plot_palette_raw, bar_color, plot_palette_bar, \n", " plot_palette_contrast, plot_palette_sankey) = get_color_palette(plot_kwargs=plot_kwargs, plot_data=plot_data, \n", @@ -210,7 +195,7 @@ " fig, rawdata_axes, contrast_axes, swarm_ylim = initialize_fig(plot_kwargs=plot_kwargs, dabest_obj=dabest_obj, show_delta2=show_delta2, \n", " show_mini_meta=show_mini_meta, is_paired=is_paired, show_pairs=show_pairs, \n", " proportional=proportional, float_contrast=float_contrast, face_color=face_color, \n", - " h_space_cummings=h_space_cummings)\n", + " )\n", " \n", " # Plotting the rawdata.\n", " if show_pairs:\n", @@ -403,7 +388,6 @@ " results = effectsize_df.results\n", " contrast_xtick_labels = []\n", "\n", - " ##### WIP\n", " (current_group, current_control, \n", " current_effsize) = effect_size_curve_plotter(ticks_to_plot=ticks_to_plot, \n", " results=results, \n", @@ -419,16 +403,21 @@ " plot_palette_contrast=plot_palette_contrast,\n", " )\n", "\n", - " ##### WIP\n", - "\n", " # Plot mini-meta violin\n", " if show_mini_meta or show_delta2:\n", - " contrast_xtick_labels = plot_minimeta_or_deltadelta_violins(show_mini_meta=show_mini_meta, effectsize_df=effectsize_df, \n", - " ci_type=ci_type, rawdata_axes=rawdata_axes,contrast_axes=contrast_axes, \n", - " violinplot_kwargs=violinplot_kwargs, halfviolin_alpha=halfviolin_alpha, \n", - " ytick_color=ytick_color, es_marker_size=es_marker_size, group_summary_kwargs=group_summary_kwargs, \n", - " contrast_xtick_labels=contrast_xtick_labels, effect_size=effect_size\n", - " )\n", + " contrast_xtick_labels = plot_minimeta_or_deltadelta_violins(show_mini_meta=show_mini_meta, \n", + " effectsize_df=effectsize_df, \n", + " ci_type=ci_type, \n", + " rawdata_axes=rawdata_axes,\n", + " contrast_axes=contrast_axes, \n", + " violinplot_kwargs=violinplot_kwargs, \n", + " halfviolin_alpha=halfviolin_alpha, \n", + " ytick_color=ytick_color, \n", + " es_marker_size=es_marker_size, \n", + " group_summary_kwargs=group_summary_kwargs, \n", + " contrast_xtick_labels=contrast_xtick_labels, \n", + " effect_size=effect_size\n", + " )\n", "\n", "\n", " # Make sure the contrast_axes x-lims match the rawdata_axes xlims,\n", @@ -896,134 +885,26 @@ " og_xlim_delta[1], og_ylim_delta[0], og_ylim_delta[1], **redraw_axes_kwargs\n", " )\n", "\n", - " ################################################### GRIDKEY MAIN CODE WIP\n", + " ################################################### GRIDKEY WIP\n", " # if gridkey_rows is None, skip everything here\n", + " gridkey_rows = plot_kwargs[\"gridkey_rows\"]\n", " if gridkey_rows is not None:\n", - " # Raise error if there are more than 2 items in any idx and gridkey_merge_pairs is True and is_paired is not None\n", - " if gridkey_merge_pairs and is_paired is not None:\n", - " for i in idx:\n", - " if len(i) > 2:\n", - " warnings.warn(\n", - " \"gridkey_merge_pairs=True only works if all idx in tuples have only two items. gridkey_merge_pairs has automatically been set to False\"\n", - " )\n", - " gridkey_merge_pairs = False\n", - " break\n", - " elif gridkey_merge_pairs and is_paired is None:\n", - " warnings.warn(\n", - " \"gridkey_merge_pairs=True is only applicable for paired data.\"\n", - " )\n", - " gridkey_merge_pairs = False\n", - "\n", - " # Checks for gridkey_merge_pairs and is_paired; if both are true, \"merges\" the gridkey per pair\n", - " if gridkey_merge_pairs and is_paired is not None:\n", - " groups_for_gridkey = []\n", - " for i in idx:\n", - " groups_for_gridkey.append(i[1])\n", - " else:\n", - " groups_for_gridkey = all_plot_groups\n", - "\n", - " # raise errors if gridkey_rows is not a list, or if the list is empty\n", - " if isinstance(gridkey_rows, list) is False:\n", - " raise TypeError(\"gridkey_rows must be a list.\")\n", - " elif len(gridkey_rows) == 0:\n", - " warnings.warn(\"gridkey_rows is an empty list.\")\n", - "\n", - " # raise Warning if an item in gridkey_rows is not contained in any idx\n", - " for i in gridkey_rows:\n", - " in_idx = 0\n", - " for j in groups_for_gridkey:\n", - " if i in j:\n", - " in_idx += 1\n", - " if in_idx == 0:\n", - " if is_paired is not None:\n", - " warnings.warn(\n", - " i\n", - " + \" is not in any idx. Please check. Alternatively, merging gridkey pairs may not be suitable for your data; try passing gridkey_merge_pairs=False.\"\n", - " )\n", - " else:\n", - " warnings.warn(i + \" is not in any idx. Please check.\")\n", - "\n", - " # Populate table: checks if idx for each column contains rowlabel name\n", - " # IF so, marks that element as present w black dot, or space if not present\n", - " table_cellcols = []\n", - " for i in gridkey_rows:\n", - " thisrow = []\n", - " for q in groups_for_gridkey:\n", - " if str(i) in q:\n", - " thisrow.append(\"\\u25CF\")\n", - " else:\n", - " thisrow.append(\"\")\n", - " table_cellcols.append(thisrow)\n", - "\n", - " # Adds a row for Ns with the Ns values\n", - " if gridkey_show_Ns:\n", - " gridkey_rows.append(\"Ns\")\n", - " list_of_Ns = []\n", - " for i in groups_for_gridkey:\n", - " list_of_Ns.append(str(plot_data.groupby(xvar).count()[yvar].loc[i]))\n", - " table_cellcols.append(list_of_Ns)\n", - "\n", - " # Adds a row for effectsizes with effectsize values\n", - " if gridkey_show_es:\n", - " gridkey_rows.append(\"\\u0394\")\n", - " effsize_list = []\n", - " results_list = results.test.to_list()\n", - "\n", - " # get the effect size, append + or -, 2 dec places\n", - " for i in enumerate(groups_for_gridkey):\n", - " if i[1] in results_list:\n", - " curr_esval = results.loc[results[\"test\"] == i[1]][\n", - " \"difference\"\n", - " ].iloc[0]\n", - " curr_esval_str = np.format_float_positional(\n", - " curr_esval,\n", - " precision=2,\n", - " sign=True,\n", - " trim=\"k\",\n", - " min_digits=2,\n", - " )\n", - " effsize_list.append(curr_esval_str)\n", - " else:\n", - " effsize_list.append(\"-\")\n", - "\n", - " table_cellcols.append(effsize_list)\n", + " grid_key_WIP(is_paired=is_paired, \n", + " idx=idx, \n", + " all_plot_groups=all_plot_groups, \n", + " gridkey_rows=gridkey_rows, \n", + " rawdata_axes=rawdata_axes, \n", + " contrast_axes=contrast_axes,\n", + " plot_data=plot_data, \n", + " xvar=xvar, \n", + " yvar=yvar, \n", + " results=results, \n", + " show_delta2=show_delta2, \n", + " show_mini_meta=show_mini_meta, \n", + " float_contrast=float_contrast,\n", + " plot_kwargs=plot_kwargs,\n", + " )\n", "\n", - " # If Gardner-Altman plot, plot on raw data and not contrast axes\n", - " if float_contrast:\n", - " axes_ploton = rawdata_axes\n", - " else:\n", - " axes_ploton = contrast_axes\n", - "\n", - " # Account for extended x axis in case of show_delta2 or show_mini_meta\n", - " x_groups_for_width = len(groups_for_gridkey)\n", - " if show_delta2 or show_mini_meta:\n", - " x_groups_for_width += 2\n", - " gridkey_width = len(groups_for_gridkey) / x_groups_for_width\n", - "\n", - " gridkey = axes_ploton.table(\n", - " cellText=table_cellcols,\n", - " rowLabels=gridkey_rows,\n", - " cellLoc=\"center\",\n", - " bbox=[\n", - " 0,\n", - " -len(gridkey_rows) * 0.1 - 0.05,\n", - " gridkey_width,\n", - " len(gridkey_rows) * 0.1,\n", - " ],\n", - " **{\"alpha\": 0.5}\n", - " )\n", - "\n", - " # modifies row label cells\n", - " for cell in gridkey._cells:\n", - " if cell[1] == -1:\n", - " gridkey._cells[cell].visible_edges = \"open\"\n", - " gridkey._cells[cell].set_text_props(**{\"ha\": \"right\"})\n", - "\n", - " # turns off both x axes\n", - " rawdata_axes.get_xaxis().set_visible(False)\n", - " contrast_axes.get_xaxis().set_visible(False)\n", - " ####################################################### END GRIDKEY MAIN CODE WIP\n", - " \n", " ################################################### Swarm & Contrast & Summary Bars & Delta text WIP\n", " # Swarm bars WIP\n", " swarm_bars = plot_kwargs[\"swarm_bars\"]\n", From 10d13d3259ab31dad7afbea9e76bab4941f8d972 Mon Sep 17 00:00:00 2001 From: JAnns98 Date: Tue, 10 Sep 2024 15:21:04 +0800 Subject: [PATCH 31/42] trimmed plotter and created new function in plot_tools - barplotter --- dabest/_modidx.py | 1 + dabest/plot_tools.py | 38 +++++++- dabest/plotter.py | 186 ++++++++++++++++++++++++--------------- nbs/API/plot_tools.ipynb | 38 +++++++- nbs/API/plotter.ipynb | 186 ++++++++++++++++++++++++--------------- 5 files changed, 307 insertions(+), 142 deletions(-) diff --git a/dabest/_modidx.py b/dabest/_modidx.py index c44b6352..6f595679 100644 --- a/dabest/_modidx.py +++ b/dabest/_modidx.py @@ -92,6 +92,7 @@ 'dabest/plot_tools.py'), 'dabest.plot_tools.SwarmPlot._swarm': ('API/plot_tools.html#swarmplot._swarm', 'dabest/plot_tools.py'), 'dabest.plot_tools.SwarmPlot.plot': ('API/plot_tools.html#swarmplot.plot', 'dabest/plot_tools.py'), + 'dabest.plot_tools.barplotter': ('API/plot_tools.html#barplotter', 'dabest/plot_tools.py'), 'dabest.plot_tools.check_data_matches_labels': ( 'API/plot_tools.html#check_data_matches_labels', 'dabest/plot_tools.py'), 'dabest.plot_tools.contrast_bars_plotter': ( 'API/plot_tools.html#contrast_bars_plotter', diff --git a/dabest/plot_tools.py b/dabest/plot_tools.py index 3182e8aa..a1c32e2b 100644 --- a/dabest/plot_tools.py +++ b/dabest/plot_tools.py @@ -7,7 +7,7 @@ __all__ = ['halfviolin', 'get_swarm_spans', 'error_bar', 'check_data_matches_labels', 'normalize_dict', 'width_determine', 'single_sankey', 'sankeydiag', 'summary_bars_plotter', 'contrast_bars_plotter', 'swarm_bars_plotter', 'delta_text_plotter', 'DeltaDotsPlotter', 'slopegraph_plotter', 'plot_minimeta_or_deltadelta_violins', - 'effect_size_curve_plotter', 'grid_key_WIP', 'swarmplot', 'SwarmPlot'] + 'effect_size_curve_plotter', 'grid_key_WIP', 'barplotter', 'swarmplot', 'SwarmPlot'] # %% ../nbs/API/plot_tools.ipynb 4 import math @@ -1423,6 +1423,42 @@ def grid_key_WIP(is_paired, idx, all_plot_groups, gridkey_rows, rawdata_axes, co rawdata_axes.get_xaxis().set_visible(False) contrast_axes.get_xaxis().set_visible(False) +def barplotter(xvar, yvar, all_plot_groups, rawdata_axes, plot_data, bar_color, plot_palette_bar, plot_kwargs, barplot_kwargs): + # Plot the raw data as a barplot. + bar1_df = pd.DataFrame( + {xvar: all_plot_groups, "proportion": np.ones(len(all_plot_groups))} + ) + bar1 = sns.barplot( + data=bar1_df, + x=xvar, + y="proportion", + ax=rawdata_axes, + order=all_plot_groups, + linewidth=2, + facecolor=(1, 1, 1, 0), + edgecolor=bar_color, + zorder=1, + ) + bar2 = sns.barplot( + data=plot_data, + x=xvar, + y=yvar, + ax=rawdata_axes, + order=all_plot_groups, + palette=plot_palette_bar, + zorder=1, + **barplot_kwargs + ) + # adjust the width of bars + bar_width = plot_kwargs["bar_width"] + for bar in bar1.patches: + x = bar.get_x() + width = bar.get_width() + centre = x + width / 2.0 + bar.set_x(centre - bar_width / 2.0) + bar.set_width(bar_width) + ... + # %% ../nbs/API/plot_tools.ipynb 6 def swarmplot( data: pd.DataFrame, diff --git a/dabest/plotter.py b/dabest/plotter.py index 4067742a..145acf09 100644 --- a/dabest/plotter.py +++ b/dabest/plotter.py @@ -59,8 +59,7 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): delta_text=True, delta_text_kwargs=None, delta_dot=True, delta_dot_kwargs=None, """ - from .misc_tools import (merge_two_dicts, - get_params, + from .misc_tools import (get_params, get_kwargs, get_color_palette, initialize_fig, @@ -69,7 +68,6 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): extract_contrast_plotting_ticks, ) from .plot_tools import ( - halfviolin, get_swarm_spans, error_bar, sankeydiag, @@ -83,6 +81,7 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): plot_minimeta_or_deltadelta_violins, effect_size_curve_plotter, grid_key_WIP, + barplotter, ) from ._stats_tools.effsize import ( _compute_standardizers, @@ -107,13 +106,15 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): ytick_color = plt.rcParams["ytick.color"] # Extract parameters and set kwargs - (face_color, dabest_obj, plot_data, xvar, yvar, is_paired, effect_size, proportional, - all_plot_groups, idx, show_delta2, show_mini_meta, float_contrast, show_pairs, - effect_size_type, group_summaries, err_color) = get_params(effectsize_df=effectsize_df, plot_kwargs=plot_kwargs) + (face_color, dabest_obj, plot_data, xvar, yvar, is_paired, effect_size, + proportional, all_plot_groups, idx, show_delta2, show_mini_meta, + float_contrast, show_pairs, effect_size_type, group_summaries, err_color) = get_params(effectsize_df=effectsize_df, + plot_kwargs=plot_kwargs) - (swarmplot_kwargs, barplot_kwargs, sankey_kwargs, violinplot_kwargs, slopegraph_kwargs, - reflines_kwargs, legend_kwargs, group_summary_kwargs, redraw_axes_kwargs, delta_dot_kwargs, - delta_text_kwargs, summary_bars_kwargs, swarm_bars_kwargs, contrast_bars_kwargs) = get_kwargs(plot_kwargs=plot_kwargs, ytick_color=ytick_color) + (swarmplot_kwargs, barplot_kwargs, sankey_kwargs, violinplot_kwargs, + slopegraph_kwargs, reflines_kwargs, legend_kwargs, group_summary_kwargs, redraw_axes_kwargs, + delta_dot_kwargs, delta_text_kwargs, summary_bars_kwargs, swarm_bars_kwargs, contrast_bars_kwargs) = get_kwargs(plot_kwargs=plot_kwargs, + ytick_color=ytick_color) # We also need to extract the `sankey` and `flow` from the kwargs for plotter.py # to use for varying different kinds of paired proportional plots @@ -128,32 +129,57 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): ) # Extract Color palette - (color_col, bootstraps_color_by_group, n_groups, swarm_colors, plot_palette_raw, bar_color, plot_palette_bar, - plot_palette_contrast, plot_palette_sankey) = get_color_palette(plot_kwargs=plot_kwargs, plot_data=plot_data, - xvar=xvar, show_pairs=show_pairs) + (color_col, bootstraps_color_by_group, n_groups, + swarm_colors, plot_palette_raw, bar_color, + plot_palette_bar, plot_palette_contrast, plot_palette_sankey) = get_color_palette(plot_kwargs=plot_kwargs, + plot_data=plot_data, + xvar=xvar, + show_pairs=show_pairs) # Initialise the figure. - fig, rawdata_axes, contrast_axes, swarm_ylim = initialize_fig(plot_kwargs=plot_kwargs, dabest_obj=dabest_obj, show_delta2=show_delta2, - show_mini_meta=show_mini_meta, is_paired=is_paired, show_pairs=show_pairs, - proportional=proportional, float_contrast=float_contrast, face_color=face_color, - ) + fig, rawdata_axes, contrast_axes, swarm_ylim = initialize_fig(plot_kwargs=plot_kwargs, + dabest_obj=dabest_obj, + show_delta2=show_delta2, + show_mini_meta=show_mini_meta, + is_paired=is_paired, + show_pairs=show_pairs, + proportional=proportional, + float_contrast=float_contrast, + face_color=face_color, + ) # Plotting the rawdata. if show_pairs: - temp_idx, temp_all_plot_groups = get_plot_groups(is_paired=is_paired, idx=idx, proportional=proportional, - all_plot_groups=all_plot_groups) + temp_idx, temp_all_plot_groups = get_plot_groups(is_paired=is_paired, idx=idx, proportional=proportional, all_plot_groups=all_plot_groups) if not proportional: # Plot the raw data as a slopegraph. - slopegraph_plotter(dabest_obj=dabest_obj, plot_data=plot_data, xvar=xvar, yvar=yvar, color_col=color_col, - plot_palette_raw=plot_palette_raw, slopegraph_kwargs=slopegraph_kwargs, rawdata_axes=rawdata_axes, - ytick_color=ytick_color, temp_idx=temp_idx) + slopegraph_plotter(dabest_obj=dabest_obj, + plot_data=plot_data, + xvar=xvar, + yvar=yvar, + color_col=color_col, + plot_palette_raw=plot_palette_raw, + slopegraph_kwargs=slopegraph_kwargs, + rawdata_axes=rawdata_axes, + ytick_color=ytick_color, + temp_idx=temp_idx + ) # DELTA PTS ON CONTRAST PLOT WIP show_delta_dots = plot_kwargs["delta_dot"] if show_delta_dots and is_paired is not None: - DeltaDotsPlotter(plot_data=plot_data, contrast_axes=contrast_axes, delta_id_col=dabest_obj.id_col, - idx=idx, xvar=xvar, yvar=yvar, is_paired=is_paired, color_col=color_col, - float_contrast=float_contrast, plot_palette_raw=plot_palette_raw, delta_dot_kwargs=delta_dot_kwargs) + DeltaDotsPlotter(plot_data=plot_data, + contrast_axes=contrast_axes, + delta_id_col=dabest_obj.id_col, + idx=idx, + xvar=xvar, + yvar=yvar, + is_paired=is_paired, + color_col=color_col, + float_contrast=float_contrast, + plot_palette_raw=plot_palette_raw, + delta_dot_kwargs=delta_dot_kwargs + ) # Set the tick labels, because the slopegraph plotting doesn't. rawdata_axes.set_xticks(np.arange(0, len(temp_all_plot_groups))) @@ -210,38 +236,16 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): else: # Plot the raw data as a barplot. - bar1_df = pd.DataFrame( - {xvar: all_plot_groups, "proportion": np.ones(len(all_plot_groups))} - ) - bar1 = sns.barplot( - data=bar1_df, - x=xvar, - y="proportion", - ax=rawdata_axes, - order=all_plot_groups, - linewidth=2, - facecolor=(1, 1, 1, 0), - edgecolor=bar_color, - zorder=1, - ) - bar2 = sns.barplot( - data=plot_data, - x=xvar, - y=yvar, - ax=rawdata_axes, - order=all_plot_groups, - palette=plot_palette_bar, - zorder=1, - **barplot_kwargs - ) - # adjust the width of bars - bar_width = plot_kwargs["bar_width"] - for bar in bar1.patches: - x = bar.get_x() - width = bar.get_width() - centre = x + width / 2.0 - bar.set_x(centre - bar_width / 2.0) - bar.set_width(bar_width) + + barplotter(xvar=xvar, + yvar=yvar, + all_plot_groups=all_plot_groups, + rawdata_axes=rawdata_axes, + plot_data=plot_data, + bar_color=bar_color, + plot_palette_bar=plot_palette_bar, + plot_kwargs=plot_kwargs, + barplot_kwargs=barplot_kwargs) # Plot the error bars. if group_summaries is not None: @@ -295,7 +299,12 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): ) # Add the counts to the rawdata axes xticks. - add_counts_to_ticks(plot_data=plot_data, xvar=xvar, yvar=yvar, rawdata_axes=rawdata_axes, plot_kwargs=plot_kwargs) + add_counts_to_ticks(plot_data=plot_data, + xvar=xvar, + yvar=yvar, + rawdata_axes=rawdata_axes, + plot_kwargs=plot_kwargs + ) # Save the handles and labels for the legend. handles, labels = rawdata_axes.get_legend_handles_labels() @@ -850,30 +859,67 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): # Swarm bars WIP swarm_bars = plot_kwargs["swarm_bars"] if swarm_bars and not proportional: - swarm_bars_plotter(plot_data=plot_data, xvar=xvar, yvar=yvar, ax=rawdata_axes, swarm_bars_kwargs=swarm_bars_kwargs, - color_col=color_col, swarm_colors=swarm_colors, is_paired=is_paired) + swarm_bars_plotter(plot_data=plot_data, + xvar=xvar, + yvar=yvar, + ax=rawdata_axes, + swarm_bars_kwargs=swarm_bars_kwargs, + color_col=color_col, + swarm_colors=swarm_colors, + is_paired=is_paired + ) # Contrast bars WIP contrast_bars = plot_kwargs["contrast_bars"] if contrast_bars: - contrast_bars_plotter(results=results, ax_to_plot=contrast_axes, swarm_plot_ax=rawdata_axes,ticks_to_plot=ticks_to_plot, - contrast_bars_kwargs=contrast_bars_kwargs, color_col=color_col, swarm_colors=swarm_colors, show_mini_meta=show_mini_meta, - mini_meta_delta=effectsize_df.mini_meta_delta if show_mini_meta else None, show_delta2=show_delta2, - delta_delta=effectsize_df.delta_delta if show_delta2 else None, proportional=proportional, is_paired=is_paired) + contrast_bars_plotter(results=results, + ax_to_plot=contrast_axes, + swarm_plot_ax=rawdata_axes, + ticks_to_plot=ticks_to_plot, + contrast_bars_kwargs=contrast_bars_kwargs, + color_col=color_col, + swarm_colors=swarm_colors, + show_mini_meta=show_mini_meta, + mini_meta_delta=effectsize_df.mini_meta_delta if show_mini_meta else None, + show_delta2=show_delta2, + delta_delta=effectsize_df.delta_delta if show_delta2 else None, + proportional=proportional, + is_paired=is_paired + ) # Summary bars WIP summary_bars = plot_kwargs["summary_bars"] if summary_bars is not None: - summary_bars_plotter(summary_bars=summary_bars, results=results, ax_to_plot=contrast_axes, float_contrast=float_contrast, - summary_bars_kwargs=summary_bars_kwargs, ci_type=ci_type, ticks_to_plot=ticks_to_plot, color_col=color_col, - swarm_colors=swarm_colors, proportional=proportional, is_paired=is_paired) + summary_bars_plotter(summary_bars=summary_bars, + results=results, + ax_to_plot=contrast_axes, + float_contrast=float_contrast, + summary_bars_kwargs=summary_bars_kwargs, + ci_type=ci_type, + ticks_to_plot=ticks_to_plot, + color_col=color_col, + swarm_colors=swarm_colors, + proportional=proportional, + is_paired=is_paired + ) # Delta text WIP delta_text = plot_kwargs["delta_text"] if delta_text: - delta_text_plotter(results=results, ax_to_plot=contrast_axes, swarm_plot_ax=rawdata_axes, ticks_to_plot=ticks_to_plot, delta_text_kwargs=delta_text_kwargs, color_col=color_col, swarm_colors=swarm_colors, - is_paired=is_paired,proportional=proportional, float_contrast=float_contrast, show_mini_meta=show_mini_meta, - mini_meta_delta=effectsize_df.mini_meta_delta if show_mini_meta else None, show_delta2=show_delta2, - delta_delta=effectsize_df.delta_delta if show_delta2 else None) + delta_text_plotter(results=results, + ax_to_plot=contrast_axes, + swarm_plot_ax=rawdata_axes, + ticks_to_plot=ticks_to_plot, + delta_text_kwargs=delta_text_kwargs, + color_col=color_col, + swarm_colors=swarm_colors, + is_paired=is_paired, + proportional=proportional, + float_contrast=float_contrast, + show_mini_meta=show_mini_meta, + mini_meta_delta=effectsize_df.mini_meta_delta if show_mini_meta else None, + show_delta2=show_delta2, + delta_delta=effectsize_df.delta_delta if show_delta2 else None + ) ################################################### Swarm & Contrast & Summary Bars & Delta text WIP END # Make sure no stray ticks appear! diff --git a/nbs/API/plot_tools.ipynb b/nbs/API/plot_tools.ipynb index baea359c..825744c9 100644 --- a/nbs/API/plot_tools.ipynb +++ b/nbs/API/plot_tools.ipynb @@ -1474,7 +1474,43 @@ "\n", " # turns off both x axes\n", " rawdata_axes.get_xaxis().set_visible(False)\n", - " contrast_axes.get_xaxis().set_visible(False)" + " contrast_axes.get_xaxis().set_visible(False)\n", + "\n", + "def barplotter(xvar, yvar, all_plot_groups, rawdata_axes, plot_data, bar_color, plot_palette_bar, plot_kwargs, barplot_kwargs):\n", + " # Plot the raw data as a barplot.\n", + " bar1_df = pd.DataFrame(\n", + " {xvar: all_plot_groups, \"proportion\": np.ones(len(all_plot_groups))}\n", + " )\n", + " bar1 = sns.barplot(\n", + " data=bar1_df,\n", + " x=xvar,\n", + " y=\"proportion\",\n", + " ax=rawdata_axes,\n", + " order=all_plot_groups,\n", + " linewidth=2,\n", + " facecolor=(1, 1, 1, 0),\n", + " edgecolor=bar_color,\n", + " zorder=1,\n", + " )\n", + " bar2 = sns.barplot(\n", + " data=plot_data,\n", + " x=xvar,\n", + " y=yvar,\n", + " ax=rawdata_axes,\n", + " order=all_plot_groups,\n", + " palette=plot_palette_bar,\n", + " zorder=1,\n", + " **barplot_kwargs\n", + " )\n", + " # adjust the width of bars\n", + " bar_width = plot_kwargs[\"bar_width\"]\n", + " for bar in bar1.patches:\n", + " x = bar.get_x()\n", + " width = bar.get_width()\n", + " centre = x + width / 2.0\n", + " bar.set_x(centre - bar_width / 2.0)\n", + " bar.set_width(bar_width)\n", + " ..." ] }, { diff --git a/nbs/API/plotter.ipynb b/nbs/API/plotter.ipynb index 78a48a0a..be99a210 100644 --- a/nbs/API/plotter.ipynb +++ b/nbs/API/plotter.ipynb @@ -118,8 +118,7 @@ " delta_text=True, delta_text_kwargs=None,\n", " delta_dot=True, delta_dot_kwargs=None,\n", " \"\"\"\n", - " from .misc_tools import (merge_two_dicts,\n", - " get_params,\n", + " from .misc_tools import (get_params,\n", " get_kwargs,\n", " get_color_palette,\n", " initialize_fig,\n", @@ -128,7 +127,6 @@ " extract_contrast_plotting_ticks,\n", " )\n", " from .plot_tools import (\n", - " halfviolin,\n", " get_swarm_spans,\n", " error_bar,\n", " sankeydiag,\n", @@ -142,6 +140,7 @@ " plot_minimeta_or_deltadelta_violins,\n", " effect_size_curve_plotter,\n", " grid_key_WIP,\n", + " barplotter,\n", " )\n", " from ._stats_tools.effsize import (\n", " _compute_standardizers,\n", @@ -166,13 +165,15 @@ " ytick_color = plt.rcParams[\"ytick.color\"]\n", "\n", " # Extract parameters and set kwargs\n", - " (face_color, dabest_obj, plot_data, xvar, yvar, is_paired, effect_size, proportional, \n", - " all_plot_groups, idx, show_delta2, show_mini_meta, float_contrast, show_pairs, \n", - " effect_size_type, group_summaries, err_color) = get_params(effectsize_df=effectsize_df, plot_kwargs=plot_kwargs)\n", + " (face_color, dabest_obj, plot_data, xvar, yvar, is_paired, effect_size, \n", + " proportional, all_plot_groups, idx, show_delta2, show_mini_meta, \n", + " float_contrast, show_pairs, effect_size_type, group_summaries, err_color) = get_params(effectsize_df=effectsize_df, \n", + " plot_kwargs=plot_kwargs)\n", "\n", - " (swarmplot_kwargs, barplot_kwargs, sankey_kwargs, violinplot_kwargs, slopegraph_kwargs, \n", - " reflines_kwargs, legend_kwargs, group_summary_kwargs, redraw_axes_kwargs, delta_dot_kwargs, \n", - " delta_text_kwargs, summary_bars_kwargs, swarm_bars_kwargs, contrast_bars_kwargs) = get_kwargs(plot_kwargs=plot_kwargs, ytick_color=ytick_color)\n", + " (swarmplot_kwargs, barplot_kwargs, sankey_kwargs, violinplot_kwargs, \n", + " slopegraph_kwargs, reflines_kwargs, legend_kwargs, group_summary_kwargs, redraw_axes_kwargs, \n", + " delta_dot_kwargs, delta_text_kwargs, summary_bars_kwargs, swarm_bars_kwargs, contrast_bars_kwargs) = get_kwargs(plot_kwargs=plot_kwargs, \n", + " ytick_color=ytick_color)\n", "\n", " # We also need to extract the `sankey` and `flow` from the kwargs for plotter.py\n", " # to use for varying different kinds of paired proportional plots\n", @@ -187,32 +188,57 @@ " )\n", "\n", " # Extract Color palette\n", - " (color_col, bootstraps_color_by_group, n_groups, swarm_colors, plot_palette_raw, bar_color, plot_palette_bar, \n", - " plot_palette_contrast, plot_palette_sankey) = get_color_palette(plot_kwargs=plot_kwargs, plot_data=plot_data, \n", - " xvar=xvar, show_pairs=show_pairs)\n", + " (color_col, bootstraps_color_by_group, n_groups, \n", + " swarm_colors, plot_palette_raw, bar_color, \n", + " plot_palette_bar, plot_palette_contrast, plot_palette_sankey) = get_color_palette(plot_kwargs=plot_kwargs, \n", + " plot_data=plot_data, \n", + " xvar=xvar, \n", + " show_pairs=show_pairs)\n", "\n", " # Initialise the figure.\n", - " fig, rawdata_axes, contrast_axes, swarm_ylim = initialize_fig(plot_kwargs=plot_kwargs, dabest_obj=dabest_obj, show_delta2=show_delta2, \n", - " show_mini_meta=show_mini_meta, is_paired=is_paired, show_pairs=show_pairs, \n", - " proportional=proportional, float_contrast=float_contrast, face_color=face_color, \n", - " )\n", + " fig, rawdata_axes, contrast_axes, swarm_ylim = initialize_fig(plot_kwargs=plot_kwargs, \n", + " dabest_obj=dabest_obj, \n", + " show_delta2=show_delta2, \n", + " show_mini_meta=show_mini_meta, \n", + " is_paired=is_paired, \n", + " show_pairs=show_pairs, \n", + " proportional=proportional, \n", + " float_contrast=float_contrast, \n", + " face_color=face_color, \n", + " )\n", " \n", " # Plotting the rawdata.\n", " if show_pairs:\n", - " temp_idx, temp_all_plot_groups = get_plot_groups(is_paired=is_paired, idx=idx, proportional=proportional, \n", - " all_plot_groups=all_plot_groups)\n", + " temp_idx, temp_all_plot_groups = get_plot_groups(is_paired=is_paired, idx=idx, proportional=proportional, all_plot_groups=all_plot_groups)\n", " if not proportional:\n", " # Plot the raw data as a slopegraph.\n", - " slopegraph_plotter(dabest_obj=dabest_obj, plot_data=plot_data, xvar=xvar, yvar=yvar, color_col=color_col, \n", - " plot_palette_raw=plot_palette_raw, slopegraph_kwargs=slopegraph_kwargs, rawdata_axes=rawdata_axes, \n", - " ytick_color=ytick_color, temp_idx=temp_idx)\n", + " slopegraph_plotter(dabest_obj=dabest_obj, \n", + " plot_data=plot_data, \n", + " xvar=xvar, \n", + " yvar=yvar, \n", + " color_col=color_col, \n", + " plot_palette_raw=plot_palette_raw, \n", + " slopegraph_kwargs=slopegraph_kwargs, \n", + " rawdata_axes=rawdata_axes, \n", + " ytick_color=ytick_color, \n", + " temp_idx=temp_idx\n", + " )\n", "\n", " # DELTA PTS ON CONTRAST PLOT WIP\n", " show_delta_dots = plot_kwargs[\"delta_dot\"]\n", " if show_delta_dots and is_paired is not None:\n", - " DeltaDotsPlotter(plot_data=plot_data, contrast_axes=contrast_axes, delta_id_col=dabest_obj.id_col, \n", - " idx=idx, xvar=xvar, yvar=yvar, is_paired=is_paired, color_col=color_col, \n", - " float_contrast=float_contrast, plot_palette_raw=plot_palette_raw, delta_dot_kwargs=delta_dot_kwargs)\n", + " DeltaDotsPlotter(plot_data=plot_data, \n", + " contrast_axes=contrast_axes, \n", + " delta_id_col=dabest_obj.id_col, \n", + " idx=idx, \n", + " xvar=xvar, \n", + " yvar=yvar, \n", + " is_paired=is_paired, \n", + " color_col=color_col, \n", + " float_contrast=float_contrast, \n", + " plot_palette_raw=plot_palette_raw, \n", + " delta_dot_kwargs=delta_dot_kwargs\n", + " )\n", "\n", " # Set the tick labels, because the slopegraph plotting doesn't.\n", " rawdata_axes.set_xticks(np.arange(0, len(temp_all_plot_groups)))\n", @@ -269,38 +295,16 @@ "\n", " else:\n", " # Plot the raw data as a barplot.\n", - " bar1_df = pd.DataFrame(\n", - " {xvar: all_plot_groups, \"proportion\": np.ones(len(all_plot_groups))}\n", - " )\n", - " bar1 = sns.barplot(\n", - " data=bar1_df,\n", - " x=xvar,\n", - " y=\"proportion\",\n", - " ax=rawdata_axes,\n", - " order=all_plot_groups,\n", - " linewidth=2,\n", - " facecolor=(1, 1, 1, 0),\n", - " edgecolor=bar_color,\n", - " zorder=1,\n", - " )\n", - " bar2 = sns.barplot(\n", - " data=plot_data,\n", - " x=xvar,\n", - " y=yvar,\n", - " ax=rawdata_axes,\n", - " order=all_plot_groups,\n", - " palette=plot_palette_bar,\n", - " zorder=1,\n", - " **barplot_kwargs\n", - " )\n", - " # adjust the width of bars\n", - " bar_width = plot_kwargs[\"bar_width\"]\n", - " for bar in bar1.patches:\n", - " x = bar.get_x()\n", - " width = bar.get_width()\n", - " centre = x + width / 2.0\n", - " bar.set_x(centre - bar_width / 2.0)\n", - " bar.set_width(bar_width)\n", + "\n", + " barplotter(xvar=xvar, \n", + " yvar=yvar, \n", + " all_plot_groups=all_plot_groups, \n", + " rawdata_axes=rawdata_axes, \n", + " plot_data=plot_data, \n", + " bar_color=bar_color, \n", + " plot_palette_bar=plot_palette_bar, \n", + " plot_kwargs=plot_kwargs, \n", + " barplot_kwargs=barplot_kwargs)\n", "\n", " # Plot the error bars.\n", " if group_summaries is not None:\n", @@ -354,7 +358,12 @@ " )\n", "\n", " # Add the counts to the rawdata axes xticks.\n", - " add_counts_to_ticks(plot_data=plot_data, xvar=xvar, yvar=yvar, rawdata_axes=rawdata_axes, plot_kwargs=plot_kwargs)\n", + " add_counts_to_ticks(plot_data=plot_data, \n", + " xvar=xvar, \n", + " yvar=yvar, \n", + " rawdata_axes=rawdata_axes, \n", + " plot_kwargs=plot_kwargs\n", + " )\n", "\n", " # Save the handles and labels for the legend.\n", " handles, labels = rawdata_axes.get_legend_handles_labels()\n", @@ -909,30 +918,67 @@ " # Swarm bars WIP\n", " swarm_bars = plot_kwargs[\"swarm_bars\"]\n", " if swarm_bars and not proportional:\n", - " swarm_bars_plotter(plot_data=plot_data, xvar=xvar, yvar=yvar, ax=rawdata_axes, swarm_bars_kwargs=swarm_bars_kwargs, \n", - " color_col=color_col, swarm_colors=swarm_colors, is_paired=is_paired)\n", + " swarm_bars_plotter(plot_data=plot_data, \n", + " xvar=xvar, \n", + " yvar=yvar, \n", + " ax=rawdata_axes, \n", + " swarm_bars_kwargs=swarm_bars_kwargs, \n", + " color_col=color_col, \n", + " swarm_colors=swarm_colors, \n", + " is_paired=is_paired\n", + " )\n", "\n", " # Contrast bars WIP\n", " contrast_bars = plot_kwargs[\"contrast_bars\"]\n", " if contrast_bars:\n", - " contrast_bars_plotter(results=results, ax_to_plot=contrast_axes, swarm_plot_ax=rawdata_axes,ticks_to_plot=ticks_to_plot, \n", - " contrast_bars_kwargs=contrast_bars_kwargs, color_col=color_col, swarm_colors=swarm_colors, show_mini_meta=show_mini_meta, \n", - " mini_meta_delta=effectsize_df.mini_meta_delta if show_mini_meta else None, show_delta2=show_delta2, \n", - " delta_delta=effectsize_df.delta_delta if show_delta2 else None, proportional=proportional, is_paired=is_paired)\n", + " contrast_bars_plotter(results=results, \n", + " ax_to_plot=contrast_axes, \n", + " swarm_plot_ax=rawdata_axes,\n", + " ticks_to_plot=ticks_to_plot, \n", + " contrast_bars_kwargs=contrast_bars_kwargs, \n", + " color_col=color_col, \n", + " swarm_colors=swarm_colors, \n", + " show_mini_meta=show_mini_meta, \n", + " mini_meta_delta=effectsize_df.mini_meta_delta if show_mini_meta else None, \n", + " show_delta2=show_delta2, \n", + " delta_delta=effectsize_df.delta_delta if show_delta2 else None, \n", + " proportional=proportional, \n", + " is_paired=is_paired\n", + " )\n", "\n", " # Summary bars WIP\n", " summary_bars = plot_kwargs[\"summary_bars\"]\n", " if summary_bars is not None:\n", - " summary_bars_plotter(summary_bars=summary_bars, results=results, ax_to_plot=contrast_axes, float_contrast=float_contrast,\n", - " summary_bars_kwargs=summary_bars_kwargs, ci_type=ci_type, ticks_to_plot=ticks_to_plot, color_col=color_col,\n", - " swarm_colors=swarm_colors, proportional=proportional, is_paired=is_paired)\n", + " summary_bars_plotter(summary_bars=summary_bars, \n", + " results=results, \n", + " ax_to_plot=contrast_axes, \n", + " float_contrast=float_contrast,\n", + " summary_bars_kwargs=summary_bars_kwargs, \n", + " ci_type=ci_type, \n", + " ticks_to_plot=ticks_to_plot, \n", + " color_col=color_col,\n", + " swarm_colors=swarm_colors, \n", + " proportional=proportional, \n", + " is_paired=is_paired\n", + " )\n", " # Delta text WIP\n", " delta_text = plot_kwargs[\"delta_text\"]\n", " if delta_text: \n", - " delta_text_plotter(results=results, ax_to_plot=contrast_axes, swarm_plot_ax=rawdata_axes, ticks_to_plot=ticks_to_plot, delta_text_kwargs=delta_text_kwargs, color_col=color_col, swarm_colors=swarm_colors, \n", - " is_paired=is_paired,proportional=proportional, float_contrast=float_contrast, show_mini_meta=show_mini_meta, \n", - " mini_meta_delta=effectsize_df.mini_meta_delta if show_mini_meta else None, show_delta2=show_delta2, \n", - " delta_delta=effectsize_df.delta_delta if show_delta2 else None)\n", + " delta_text_plotter(results=results, \n", + " ax_to_plot=contrast_axes, \n", + " swarm_plot_ax=rawdata_axes, \n", + " ticks_to_plot=ticks_to_plot, \n", + " delta_text_kwargs=delta_text_kwargs, \n", + " color_col=color_col, \n", + " swarm_colors=swarm_colors, \n", + " is_paired=is_paired,\n", + " proportional=proportional, \n", + " float_contrast=float_contrast, \n", + " show_mini_meta=show_mini_meta, \n", + " mini_meta_delta=effectsize_df.mini_meta_delta if show_mini_meta else None, \n", + " show_delta2=show_delta2, \n", + " delta_delta=effectsize_df.delta_delta if show_delta2 else None\n", + " )\n", " ################################################### Swarm & Contrast & Summary Bars & Delta text WIP END\n", "\n", " # Make sure no stray ticks appear!\n", From f3338dc908766a5d19ad1a8cb425bfd4ea859c91 Mon Sep 17 00:00:00 2001 From: JAnns98 Date: Tue, 10 Sep 2024 15:58:27 +0800 Subject: [PATCH 32/42] Trimmed plotter and added a function in misc_tools to edit the xticks and lims --- dabest/_modidx.py | 2 + dabest/misc_tools.py | 30 +++++++++++++- dabest/plot_tools.py | 6 +-- dabest/plotter.py | 88 +++++++++++++--------------------------- nbs/API/misc_tools.ipynb | 27 +++++++++++- nbs/API/plot_tools.ipynb | 6 +-- nbs/API/plotter.ipynb | 88 +++++++++++++--------------------------- 7 files changed, 120 insertions(+), 127 deletions(-) diff --git a/dabest/_modidx.py b/dabest/_modidx.py index 6f595679..37e8374a 100644 --- a/dabest/_modidx.py +++ b/dabest/_modidx.py @@ -77,6 +77,8 @@ 'dabest.misc_tools.initialize_fig': ('API/misc_tools.html#initialize_fig', 'dabest/misc_tools.py'), 'dabest.misc_tools.merge_two_dicts': ('API/misc_tools.html#merge_two_dicts', 'dabest/misc_tools.py'), 'dabest.misc_tools.print_greeting': ('API/misc_tools.html#print_greeting', 'dabest/misc_tools.py'), + 'dabest.misc_tools.set_xaxis_ticks_and_lims': ( 'API/misc_tools.html#set_xaxis_ticks_and_lims', + 'dabest/misc_tools.py'), 'dabest.misc_tools.unpack_and_add': ('API/misc_tools.html#unpack_and_add', 'dabest/misc_tools.py')}, 'dabest.plot_tools': { 'dabest.plot_tools.DeltaDotsPlotter': ('API/plot_tools.html#deltadotsplotter', 'dabest/plot_tools.py'), 'dabest.plot_tools.SwarmPlot': ('API/plot_tools.html#swarmplot', 'dabest/plot_tools.py'), diff --git a/dabest/misc_tools.py b/dabest/misc_tools.py index 4f73a710..760c7bcf 100644 --- a/dabest/misc_tools.py +++ b/dabest/misc_tools.py @@ -2,7 +2,8 @@ # %% auto 0 __all__ = ['merge_two_dicts', 'unpack_and_add', 'print_greeting', 'get_varname', 'get_params', 'get_kwargs', 'get_color_palette', - 'initialize_fig', 'get_plot_groups', 'add_counts_to_ticks', 'extract_contrast_plotting_ticks'] + 'initialize_fig', 'get_plot_groups', 'add_counts_to_ticks', 'extract_contrast_plotting_ticks', + 'set_xaxis_ticks_and_lims'] # %% ../nbs/API/misc_tools.ipynb 4 import datetime as dt @@ -563,4 +564,29 @@ def extract_contrast_plotting_ticks(is_paired, show_pairs, two_col_sankey, plot_ ] return ticks_to_skip, ticks_to_plot, ticks_to_skip_contrast, ticks_to_start_twocol_sankey - ... + +def set_xaxis_ticks_and_lims(show_delta2, show_mini_meta, rawdata_axes, contrast_axes, show_pairs, float_contrast): + + if show_delta2 is False and show_mini_meta is False: + contrast_axes.set_xticks(rawdata_axes.get_xticks()) + else: + temp = rawdata_axes.get_xticks() + temp = np.append(temp, [max(temp) + 1, max(temp) + 2]) + contrast_axes.set_xticks(temp) + + if show_pairs: + max_x = contrast_axes.get_xlim()[1] + rawdata_axes.set_xlim(-0.375, max_x) + + if float_contrast: + contrast_axes.set_xlim(0.5, 1.5) + elif show_delta2 or show_mini_meta: + # Increase the xlim of raw data by 2 + temp = rawdata_axes.get_xlim() + if show_pairs: + rawdata_axes.set_xlim(temp[0], temp[1] + 0.25) + else: + rawdata_axes.set_xlim(temp[0], temp[1] + 2) + contrast_axes.set_xlim(rawdata_axes.get_xlim()) + else: + contrast_axes.set_xlim(rawdata_axes.get_xlim()) diff --git a/dabest/plot_tools.py b/dabest/plot_tools.py index a1c32e2b..81bd294a 100644 --- a/dabest/plot_tools.py +++ b/dabest/plot_tools.py @@ -1236,8 +1236,8 @@ def plot_minimeta_or_deltadelta_violins(show_mini_meta, effectsize_df, ci_type, def effect_size_curve_plotter(ticks_to_plot, results, ci_type, contrast_axes, violinplot_kwargs, halfviolin_alpha, - ytick_color, es_marker_size, group_summary_kwargs, contrast_xtick_labels, - bootstraps_color_by_group, plot_palette_contrast): + ytick_color, es_marker_size, group_summary_kwargs, bootstraps_color_by_group, plot_palette_contrast): + contrast_xtick_labels = [] for j, tick in enumerate(ticks_to_plot): current_group = results.test[j] current_control = results.control[j] @@ -1289,7 +1289,7 @@ def effect_size_curve_plotter(ticks_to_plot, results, ci_type, contrast_axes, vi contrast_xtick_labels.append( "{}\nminus\n{}".format(current_group, current_control) ) - return current_group, current_control, current_effsize + return current_group, current_control, current_effsize, contrast_xtick_labels def grid_key_WIP(is_paired, idx, all_plot_groups, gridkey_rows, rawdata_axes, contrast_axes, diff --git a/dabest/plotter.py b/dabest/plotter.py index 145acf09..f94ffbac 100644 --- a/dabest/plotter.py +++ b/dabest/plotter.py @@ -66,6 +66,7 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): get_plot_groups, add_counts_to_ticks, extract_contrast_plotting_ticks, + set_xaxis_ticks_and_lims, ) from .plot_tools import ( get_swarm_spans, @@ -207,26 +208,17 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): # swarmplot() plots swarms based on current size of ax # Therefore, since the ax size for mini_meta and show_delta changes later on, there has to be increased jitter - # TODO: to make jitter value more accurate and not just a hardcoded eyeball value - if show_mini_meta: - jitter = 1.25 - elif show_delta2: - jitter = 1.4 - else: - jitter = 1 - - swarmplot_hue = xvar if color_col is None else color_col rawdata_plot = swarmplot( data=plot_data, x=xvar, y=yvar, ax=rawdata_axes, order=all_plot_groups, - hue=swarmplot_hue, + hue=xvar if color_col is None else color_col, palette=plot_palette_raw, zorder=1, side=asymmetric_side, - jitter=jitter, + jitter=1.25 if show_mini_meta else 1.4 if show_delta2 else 1, # TODO: to make jitter value more accurate and not just a hardcoded eyeball value is_drop_gutter=True, gutter_limit=0.45, **swarmplot_kwargs @@ -236,7 +228,6 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): else: # Plot the raw data as a barplot. - barplotter(xvar=xvar, yvar=yvar, all_plot_groups=all_plot_groups, @@ -320,38 +311,35 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): # Plot effect sizes and bootstraps. plot_groups = temp_all_plot_groups if (is_paired == "baseline" and show_pairs and two_col_sankey) else temp_idx if (two_col_sankey) else all_plot_groups - (ticks_to_skip, ticks_to_plot, ticks_to_skip_contrast, - ticks_to_start_twocol_sankey) = extract_contrast_plotting_ticks(is_paired=is_paired, - show_pairs=show_pairs, - two_col_sankey=two_col_sankey, - plot_groups=plot_groups, - idx=idx, - sankey_control_group=sankey_control_group if two_col_sankey else None, - ) + (ticks_to_skip, ticks_to_plot, + ticks_to_skip_contrast, ticks_to_start_twocol_sankey) = extract_contrast_plotting_ticks(is_paired=is_paired, + show_pairs=show_pairs, + two_col_sankey=two_col_sankey, + plot_groups=plot_groups, + idx=idx, + sankey_control_group=sankey_control_group if two_col_sankey else None, + ) # Plot the bootstraps, then the effect sizes and CIs. es_marker_size = plot_kwargs["es_marker_size"] halfviolin_alpha = plot_kwargs["halfviolin_alpha"] - ci_type = plot_kwargs["ci_type"] results = effectsize_df.results - contrast_xtick_labels = [] (current_group, current_control, - current_effsize) = effect_size_curve_plotter(ticks_to_plot=ticks_to_plot, - results=results, - ci_type=ci_type, - contrast_axes=contrast_axes, - violinplot_kwargs=violinplot_kwargs, - halfviolin_alpha=halfviolin_alpha, - ytick_color=ytick_color, - es_marker_size=es_marker_size, - group_summary_kwargs=group_summary_kwargs, - contrast_xtick_labels=contrast_xtick_labels, - bootstraps_color_by_group=bootstraps_color_by_group, - plot_palette_contrast=plot_palette_contrast, - ) + current_effsize, contrast_xtick_labels) = effect_size_curve_plotter(ticks_to_plot=ticks_to_plot, + results=results, + ci_type=ci_type, + contrast_axes=contrast_axes, + violinplot_kwargs=violinplot_kwargs, + halfviolin_alpha=halfviolin_alpha, + ytick_color=ytick_color, + es_marker_size=es_marker_size, + group_summary_kwargs=group_summary_kwargs, + bootstraps_color_by_group=bootstraps_color_by_group, + plot_palette_contrast=plot_palette_contrast, + ) # Plot mini-meta violin if show_mini_meta or show_delta2: @@ -369,32 +357,14 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): effect_size=effect_size ) - # Make sure the contrast_axes x-lims match the rawdata_axes xlims, # and add an extra violinplot tick for delta-delta plot. - if show_delta2 is False and show_mini_meta is False: - contrast_axes.set_xticks(rawdata_axes.get_xticks()) - else: - temp = rawdata_axes.get_xticks() - temp = np.append(temp, [max(temp) + 1, max(temp) + 2]) - contrast_axes.set_xticks(temp) - - if show_pairs: - max_x = contrast_axes.get_xlim()[1] - rawdata_axes.set_xlim(-0.375, max_x) - - if float_contrast: - contrast_axes.set_xlim(0.5, 1.5) - elif show_delta2 or show_mini_meta: - # Increase the xlim of raw data by 2 - temp = rawdata_axes.get_xlim() - if show_pairs: - rawdata_axes.set_xlim(temp[0], temp[1] + 0.25) - else: - rawdata_axes.set_xlim(temp[0], temp[1] + 2) - contrast_axes.set_xlim(rawdata_axes.get_xlim()) - else: - contrast_axes.set_xlim(rawdata_axes.get_xlim()) + set_xaxis_ticks_and_lims(show_delta2=show_delta2, + show_mini_meta=show_mini_meta, + rawdata_axes=rawdata_axes, + contrast_axes=contrast_axes, + show_pairs=show_pairs, + float_contrast=float_contrast) # Properly label the contrast ticks. for t in ticks_to_skip: diff --git a/nbs/API/misc_tools.ipynb b/nbs/API/misc_tools.ipynb index 84edbbe7..4235d630 100644 --- a/nbs/API/misc_tools.ipynb +++ b/nbs/API/misc_tools.ipynb @@ -620,7 +620,32 @@ " ]\n", " \n", " return ticks_to_skip, ticks_to_plot, ticks_to_skip_contrast, ticks_to_start_twocol_sankey\n", - " ..." + "\n", + "def set_xaxis_ticks_and_lims(show_delta2, show_mini_meta, rawdata_axes, contrast_axes, show_pairs, float_contrast):\n", + "\n", + " if show_delta2 is False and show_mini_meta is False:\n", + " contrast_axes.set_xticks(rawdata_axes.get_xticks())\n", + " else:\n", + " temp = rawdata_axes.get_xticks()\n", + " temp = np.append(temp, [max(temp) + 1, max(temp) + 2])\n", + " contrast_axes.set_xticks(temp)\n", + "\n", + " if show_pairs:\n", + " max_x = contrast_axes.get_xlim()[1]\n", + " rawdata_axes.set_xlim(-0.375, max_x)\n", + "\n", + " if float_contrast:\n", + " contrast_axes.set_xlim(0.5, 1.5)\n", + " elif show_delta2 or show_mini_meta:\n", + " # Increase the xlim of raw data by 2\n", + " temp = rawdata_axes.get_xlim()\n", + " if show_pairs:\n", + " rawdata_axes.set_xlim(temp[0], temp[1] + 0.25)\n", + " else:\n", + " rawdata_axes.set_xlim(temp[0], temp[1] + 2)\n", + " contrast_axes.set_xlim(rawdata_axes.get_xlim())\n", + " else:\n", + " contrast_axes.set_xlim(rawdata_axes.get_xlim())" ] } ], diff --git a/nbs/API/plot_tools.ipynb b/nbs/API/plot_tools.ipynb index 825744c9..50a6b53d 100644 --- a/nbs/API/plot_tools.ipynb +++ b/nbs/API/plot_tools.ipynb @@ -1289,8 +1289,8 @@ "\n", "\n", "def effect_size_curve_plotter(ticks_to_plot, results, ci_type, contrast_axes, violinplot_kwargs, halfviolin_alpha, \n", - " ytick_color, es_marker_size, group_summary_kwargs, contrast_xtick_labels, \n", - " bootstraps_color_by_group, plot_palette_contrast):\n", + " ytick_color, es_marker_size, group_summary_kwargs, bootstraps_color_by_group, plot_palette_contrast):\n", + " contrast_xtick_labels = []\n", " for j, tick in enumerate(ticks_to_plot):\n", " current_group = results.test[j]\n", " current_control = results.control[j]\n", @@ -1342,7 +1342,7 @@ " contrast_xtick_labels.append(\n", " \"{}\\nminus\\n{}\".format(current_group, current_control)\n", " )\n", - " return current_group, current_control, current_effsize\n", + " return current_group, current_control, current_effsize, contrast_xtick_labels\n", "\n", "\n", "def grid_key_WIP(is_paired, idx, all_plot_groups, gridkey_rows, rawdata_axes, contrast_axes,\n", diff --git a/nbs/API/plotter.ipynb b/nbs/API/plotter.ipynb index be99a210..01246677 100644 --- a/nbs/API/plotter.ipynb +++ b/nbs/API/plotter.ipynb @@ -125,6 +125,7 @@ " get_plot_groups,\n", " add_counts_to_ticks,\n", " extract_contrast_plotting_ticks,\n", + " set_xaxis_ticks_and_lims,\n", " )\n", " from .plot_tools import (\n", " get_swarm_spans,\n", @@ -266,26 +267,17 @@ "\n", " # swarmplot() plots swarms based on current size of ax\n", " # Therefore, since the ax size for mini_meta and show_delta changes later on, there has to be increased jitter\n", - " # TODO: to make jitter value more accurate and not just a hardcoded eyeball value\n", - " if show_mini_meta:\n", - " jitter = 1.25\n", - " elif show_delta2:\n", - " jitter = 1.4\n", - " else:\n", - " jitter = 1\n", - "\n", - " swarmplot_hue = xvar if color_col is None else color_col\n", " rawdata_plot = swarmplot(\n", " data=plot_data,\n", " x=xvar,\n", " y=yvar,\n", " ax=rawdata_axes,\n", " order=all_plot_groups,\n", - " hue=swarmplot_hue,\n", + " hue=xvar if color_col is None else color_col,\n", " palette=plot_palette_raw,\n", " zorder=1,\n", " side=asymmetric_side,\n", - " jitter=jitter,\n", + " jitter=1.25 if show_mini_meta else 1.4 if show_delta2 else 1, # TODO: to make jitter value more accurate and not just a hardcoded eyeball value\n", " is_drop_gutter=True,\n", " gutter_limit=0.45,\n", " **swarmplot_kwargs\n", @@ -295,7 +287,6 @@ "\n", " else:\n", " # Plot the raw data as a barplot.\n", - "\n", " barplotter(xvar=xvar, \n", " yvar=yvar, \n", " all_plot_groups=all_plot_groups, \n", @@ -379,38 +370,35 @@ " # Plot effect sizes and bootstraps.\n", " plot_groups = temp_all_plot_groups if (is_paired == \"baseline\" and show_pairs and two_col_sankey) else temp_idx if (two_col_sankey) else all_plot_groups\n", "\n", - " (ticks_to_skip, ticks_to_plot, ticks_to_skip_contrast, \n", - " ticks_to_start_twocol_sankey) = extract_contrast_plotting_ticks(is_paired=is_paired, \n", - " show_pairs=show_pairs, \n", - " two_col_sankey=two_col_sankey, \n", - " plot_groups=plot_groups,\n", - " idx=idx,\n", - " sankey_control_group=sankey_control_group if two_col_sankey else None,\n", - " )\n", + " (ticks_to_skip, ticks_to_plot, \n", + " ticks_to_skip_contrast, ticks_to_start_twocol_sankey) = extract_contrast_plotting_ticks(is_paired=is_paired, \n", + " show_pairs=show_pairs, \n", + " two_col_sankey=two_col_sankey, \n", + " plot_groups=plot_groups,\n", + " idx=idx,\n", + " sankey_control_group=sankey_control_group if two_col_sankey else None,\n", + " )\n", "\n", " # Plot the bootstraps, then the effect sizes and CIs.\n", " es_marker_size = plot_kwargs[\"es_marker_size\"]\n", " halfviolin_alpha = plot_kwargs[\"halfviolin_alpha\"]\n", - "\n", " ci_type = plot_kwargs[\"ci_type\"]\n", "\n", " results = effectsize_df.results\n", - " contrast_xtick_labels = []\n", "\n", " (current_group, current_control, \n", - " current_effsize) = effect_size_curve_plotter(ticks_to_plot=ticks_to_plot, \n", - " results=results, \n", - " ci_type=ci_type, \n", - " contrast_axes=contrast_axes, \n", - " violinplot_kwargs=violinplot_kwargs, \n", - " halfviolin_alpha=halfviolin_alpha, \n", - " ytick_color=ytick_color, \n", - " es_marker_size=es_marker_size, \n", - " group_summary_kwargs=group_summary_kwargs, \n", - " contrast_xtick_labels=contrast_xtick_labels, \n", - " bootstraps_color_by_group=bootstraps_color_by_group,\n", - " plot_palette_contrast=plot_palette_contrast,\n", - " )\n", + " current_effsize, contrast_xtick_labels) = effect_size_curve_plotter(ticks_to_plot=ticks_to_plot, \n", + " results=results, \n", + " ci_type=ci_type, \n", + " contrast_axes=contrast_axes, \n", + " violinplot_kwargs=violinplot_kwargs, \n", + " halfviolin_alpha=halfviolin_alpha, \n", + " ytick_color=ytick_color, \n", + " es_marker_size=es_marker_size, \n", + " group_summary_kwargs=group_summary_kwargs, \n", + " bootstraps_color_by_group=bootstraps_color_by_group,\n", + " plot_palette_contrast=plot_palette_contrast,\n", + " )\n", "\n", " # Plot mini-meta violin\n", " if show_mini_meta or show_delta2:\n", @@ -428,32 +416,14 @@ " effect_size=effect_size\n", " )\n", "\n", - "\n", " # Make sure the contrast_axes x-lims match the rawdata_axes xlims,\n", " # and add an extra violinplot tick for delta-delta plot.\n", - " if show_delta2 is False and show_mini_meta is False:\n", - " contrast_axes.set_xticks(rawdata_axes.get_xticks())\n", - " else:\n", - " temp = rawdata_axes.get_xticks()\n", - " temp = np.append(temp, [max(temp) + 1, max(temp) + 2])\n", - " contrast_axes.set_xticks(temp)\n", - "\n", - " if show_pairs:\n", - " max_x = contrast_axes.get_xlim()[1]\n", - " rawdata_axes.set_xlim(-0.375, max_x)\n", - "\n", - " if float_contrast:\n", - " contrast_axes.set_xlim(0.5, 1.5)\n", - " elif show_delta2 or show_mini_meta:\n", - " # Increase the xlim of raw data by 2\n", - " temp = rawdata_axes.get_xlim()\n", - " if show_pairs:\n", - " rawdata_axes.set_xlim(temp[0], temp[1] + 0.25)\n", - " else:\n", - " rawdata_axes.set_xlim(temp[0], temp[1] + 2)\n", - " contrast_axes.set_xlim(rawdata_axes.get_xlim())\n", - " else:\n", - " contrast_axes.set_xlim(rawdata_axes.get_xlim())\n", + " set_xaxis_ticks_and_lims(show_delta2=show_delta2, \n", + " show_mini_meta=show_mini_meta, \n", + " rawdata_axes=rawdata_axes, \n", + " contrast_axes=contrast_axes, \n", + " show_pairs=show_pairs, \n", + " float_contrast=float_contrast)\n", "\n", " # Properly label the contrast ticks.\n", " for t in ticks_to_skip:\n", From 36e3533e87270aa1b55b27ad6f5d67a5dc18687d Mon Sep 17 00:00:00 2001 From: JAnns98 Date: Thu, 12 Sep 2024 13:44:30 +0800 Subject: [PATCH 33/42] Trimmed plotter and added new functions in misc_tools to edit plot aesthetics for cummings and gardner altman style plots --- dabest/_modidx.py | 7 +- dabest/misc_tools.py | 349 ++++++++++++++++++++++++++++++++++- dabest/plotter.py | 380 ++++++--------------------------------- nbs/API/misc_tools.ipynb | 348 ++++++++++++++++++++++++++++++++++- nbs/API/plotter.ipynb | 380 ++++++--------------------------------- 5 files changed, 805 insertions(+), 659 deletions(-) diff --git a/dabest/_modidx.py b/dabest/_modidx.py index 37e8374a..951aa07d 100644 --- a/dabest/_modidx.py +++ b/dabest/_modidx.py @@ -65,7 +65,11 @@ 'dabest/forest_plot.py'), 'dabest.forest_plot.forest_plot': ('API/forest_plot.html#forest_plot', 'dabest/forest_plot.py'), 'dabest.forest_plot.load_plot_data': ('API/forest_plot.html#load_plot_data', 'dabest/forest_plot.py')}, - 'dabest.misc_tools': { 'dabest.misc_tools.add_counts_to_ticks': ( 'API/misc_tools.html#add_counts_to_ticks', + 'dabest.misc_tools': { 'dabest.misc_tools.Cumming_Plot_Aesthetic_Adjustments': ( 'API/misc_tools.html#cumming_plot_aesthetic_adjustments', + 'dabest/misc_tools.py'), + 'dabest.misc_tools.Gardner_Altman_Plot_Aesthetic_Adjustments': ( 'API/misc_tools.html#gardner_altman_plot_aesthetic_adjustments', + 'dabest/misc_tools.py'), + 'dabest.misc_tools.add_counts_to_ticks': ( 'API/misc_tools.html#add_counts_to_ticks', 'dabest/misc_tools.py'), 'dabest.misc_tools.extract_contrast_plotting_ticks': ( 'API/misc_tools.html#extract_contrast_plotting_ticks', 'dabest/misc_tools.py'), @@ -79,6 +83,7 @@ 'dabest.misc_tools.print_greeting': ('API/misc_tools.html#print_greeting', 'dabest/misc_tools.py'), 'dabest.misc_tools.set_xaxis_ticks_and_lims': ( 'API/misc_tools.html#set_xaxis_ticks_and_lims', 'dabest/misc_tools.py'), + 'dabest.misc_tools.show_legend': ('API/misc_tools.html#show_legend', 'dabest/misc_tools.py'), 'dabest.misc_tools.unpack_and_add': ('API/misc_tools.html#unpack_and_add', 'dabest/misc_tools.py')}, 'dabest.plot_tools': { 'dabest.plot_tools.DeltaDotsPlotter': ('API/plot_tools.html#deltadotsplotter', 'dabest/plot_tools.py'), 'dabest.plot_tools.SwarmPlot': ('API/plot_tools.html#swarmplot', 'dabest/plot_tools.py'), diff --git a/dabest/misc_tools.py b/dabest/misc_tools.py index 760c7bcf..5b89a921 100644 --- a/dabest/misc_tools.py +++ b/dabest/misc_tools.py @@ -3,7 +3,8 @@ # %% auto 0 __all__ = ['merge_two_dicts', 'unpack_and_add', 'print_greeting', 'get_varname', 'get_params', 'get_kwargs', 'get_color_palette', 'initialize_fig', 'get_plot_groups', 'add_counts_to_ticks', 'extract_contrast_plotting_ticks', - 'set_xaxis_ticks_and_lims'] + 'set_xaxis_ticks_and_lims', 'show_legend', 'Gardner_Altman_Plot_Aesthetic_Adjustments', + 'Cumming_Plot_Aesthetic_Adjustments'] # %% ../nbs/API/misc_tools.ipynb 4 import datetime as dt @@ -565,7 +566,8 @@ def extract_contrast_plotting_ticks(is_paired, show_pairs, two_col_sankey, plot_ return ticks_to_skip, ticks_to_plot, ticks_to_skip_contrast, ticks_to_start_twocol_sankey -def set_xaxis_ticks_and_lims(show_delta2, show_mini_meta, rawdata_axes, contrast_axes, show_pairs, float_contrast): +def set_xaxis_ticks_and_lims(show_delta2, show_mini_meta, rawdata_axes, contrast_axes, show_pairs, float_contrast, + ticks_to_skip, contrast_xtick_labels, plot_kwargs): if show_delta2 is False and show_mini_meta is False: contrast_axes.set_xticks(rawdata_axes.get_xticks()) @@ -590,3 +592,346 @@ def set_xaxis_ticks_and_lims(show_delta2, show_mini_meta, rawdata_axes, contrast contrast_axes.set_xlim(rawdata_axes.get_xlim()) else: contrast_axes.set_xlim(rawdata_axes.get_xlim()) + + # Properly label the contrast ticks. + for t in ticks_to_skip: + contrast_xtick_labels.insert(t, "") + + if plot_kwargs["fontsize_contrastxlabel"] is not None: + fontsize_contrastxlabel = plot_kwargs["fontsize_contrastxlabel"] + + contrast_axes.set_xticklabels( + contrast_xtick_labels, fontsize=fontsize_contrastxlabel + ) + + +def show_legend(legend_labels, legend_handles, rawdata_axes, contrast_axes, float_contrast, show_pairs, legend_kwargs): + + legend_labels_unique = np.unique(legend_labels) + unique_idx = np.unique(legend_labels, return_index=True)[1] + legend_handles_unique = ( + pd.Series(legend_handles, dtype="object").loc[unique_idx] + ).tolist() + + if len(legend_handles_unique) > 0: + if float_contrast: + axes_with_legend = contrast_axes + if show_pairs: + bta = (1.75, 1.02) + else: + bta = (1.5, 1.02) + else: + axes_with_legend = rawdata_axes + if show_pairs: + bta = (1.02, 1.0) + else: + bta = (1.0, 1.0) + leg = axes_with_legend.legend( + legend_handles_unique, + legend_labels_unique, + bbox_to_anchor=bta, + **legend_kwargs + ) + if show_pairs: + for line in leg.get_lines(): + line.set_linewidth(3.0) + +def Gardner_Altman_Plot_Aesthetic_Adjustments(effect_size_type, plot_data, xvar, yvar, current_control, current_group, + rawdata_axes, contrast_axes, results, current_effsize, is_paired, one_sankey, + reflines_kwargs, redraw_axes_kwargs, swarm_ylim, og_xlim_raw, og_ylim_raw): + from ._stats_tools.effsize import ( + _compute_standardizers, + _compute_hedges_correction_factor, + ) + # Normalize ylims and despine the floating contrast axes. + # Check that the effect size is within the swarm ylims. + if effect_size_type in ["mean_diff", "cohens_d", "hedges_g", "cohens_h"]: + control_group_summary = ( + plot_data.groupby(xvar) + .mean(numeric_only=True) + .loc[current_control, yvar] + ) + test_group_summary = ( + plot_data.groupby(xvar).mean(numeric_only=True).loc[current_group, yvar] + ) + elif effect_size_type == "median_diff": + control_group_summary = ( + plot_data.groupby(xvar).median().loc[current_control, yvar] + ) + test_group_summary = ( + plot_data.groupby(xvar).median().loc[current_group, yvar] + ) + + if swarm_ylim is None: + swarm_ylim = rawdata_axes.get_ylim() + + _, contrast_xlim_max = contrast_axes.get_xlim() + + difference = float(results.difference[0]) + + if effect_size_type in ["mean_diff", "median_diff"]: + # Align 0 of contrast_axes to reference group mean of rawdata_axes. + # If the effect size is positive, shift the contrast axis up. + rawdata_ylims = np.array(rawdata_axes.get_ylim()) + if current_effsize > 0: + rightmin, rightmax = rawdata_ylims - current_effsize + # If the effect size is negative, shift the contrast axis down. + elif current_effsize < 0: + rightmin, rightmax = rawdata_ylims + current_effsize + else: + rightmin, rightmax = rawdata_ylims + + contrast_axes.set_ylim(rightmin, rightmax) + + og_ylim_contrast = rawdata_axes.get_ylim() - np.array(control_group_summary) + + contrast_axes.set_ylim(og_ylim_contrast) + contrast_axes.set_xlim(contrast_xlim_max - 1, contrast_xlim_max) + + elif effect_size_type in ["cohens_d", "hedges_g", "cohens_h"]: + if is_paired: + which_std = 1 + else: + which_std = 0 + temp_control = plot_data[plot_data[xvar] == current_control][yvar] + temp_test = plot_data[plot_data[xvar] == current_group][yvar] + + stds = _compute_standardizers(temp_control, temp_test) + if is_paired: + pooled_sd = stds[1] + else: + pooled_sd = stds[0] + + if effect_size_type == "hedges_g": + gby_count = plot_data.groupby(xvar).count() + len_control = gby_count.loc[current_control, yvar] + len_test = gby_count.loc[current_group, yvar] + + hg_correction_factor = _compute_hedges_correction_factor( + len_control, len_test + ) + + ylim_scale_factor = pooled_sd / hg_correction_factor + + elif effect_size_type == "cohens_h": + ylim_scale_factor = ( + np.mean(temp_test) - np.mean(temp_control) + ) / difference + + else: + ylim_scale_factor = pooled_sd + + scaled_ylim = ( + (rawdata_axes.get_ylim() - control_group_summary) / ylim_scale_factor + ).tolist() + + contrast_axes.set_ylim(scaled_ylim) + og_ylim_contrast = scaled_ylim + + contrast_axes.set_xlim(contrast_xlim_max - 1, contrast_xlim_max) + + if one_sankey is None: + # Draw summary lines for control and test groups.. + for jj, axx in enumerate([rawdata_axes, contrast_axes]): + # Draw effect size line. + if jj == 0: + ref = control_group_summary + diff = test_group_summary + effsize_line_start = 1 + + elif jj == 1: + ref = 0 + diff = ref + difference + effsize_line_start = contrast_xlim_max - 1.1 + + xlimlow, xlimhigh = axx.get_xlim() + + # Draw reference line. + axx.hlines( + ref, # y-coordinates + 0, + xlimhigh, # x-coordinates, start and end. + **reflines_kwargs + ) + + # Draw effect size line. + axx.hlines(diff, effsize_line_start, xlimhigh, **reflines_kwargs) + else: + ref = 0 + diff = ref + difference + effsize_line_start = contrast_xlim_max - 0.9 + xlimlow, xlimhigh = contrast_axes.get_xlim() + # Draw reference line. + contrast_axes.hlines( + ref, # y-coordinates + effsize_line_start, + xlimhigh, # x-coordinates, start and end. + **reflines_kwargs + ) + + # Draw effect size line. + contrast_axes.hlines(diff, effsize_line_start, xlimhigh, **reflines_kwargs) + rawdata_axes.set_xlim(og_xlim_raw) # to align the axis + # Despine appropriately. + sns.despine(ax=rawdata_axes, bottom=True) + sns.despine(ax=contrast_axes, left=True, right=False) + + # Insert break between the rawdata axes and the contrast axes + # by re-drawing the x-spine. + rawdata_axes.hlines( + og_ylim_raw[0], # yindex + rawdata_axes.get_xlim()[0], + 1.3, # xmin, xmax + **redraw_axes_kwargs + ) + rawdata_axes.set_ylim(og_ylim_raw) + + contrast_axes.hlines( + contrast_axes.get_ylim()[0], + contrast_xlim_max - 0.8, + contrast_xlim_max, + **redraw_axes_kwargs + ) + + +def Cumming_Plot_Aesthetic_Adjustments(plot_kwargs, show_delta2, effect_size_type, contrast_axes, reflines_kwargs, + is_paired, show_pairs, two_col_sankey, idx, ticks_to_start_twocol_sankey, + proportional, ticks_to_skip, temp_idx, rawdata_axes, redraw_axes_kwargs, + ticks_to_skip_contrast): + # Set custom contrast_ylim, if it was specified. + if plot_kwargs["contrast_ylim"] is not None or ( + plot_kwargs["delta2_ylim"] is not None and show_delta2 + ): + if plot_kwargs["contrast_ylim"] is not None: + custom_contrast_ylim = plot_kwargs["contrast_ylim"] + if plot_kwargs["delta2_ylim"] is not None and show_delta2: + custom_delta2_ylim = plot_kwargs["delta2_ylim"] + if custom_contrast_ylim != custom_delta2_ylim: + err1 = "Please check if `contrast_ylim` and `delta2_ylim` are assigned" + err2 = "with same values." + raise ValueError(err1 + err2) + else: + custom_delta2_ylim = plot_kwargs["delta2_ylim"] + custom_contrast_ylim = custom_delta2_ylim + + if len(custom_contrast_ylim) != 2: + err1 = "Please check `contrast_ylim` consists of " + err2 = "exactly two numbers." + raise ValueError(err1 + err2) + + if effect_size_type == "cliffs_delta": + # Ensure the ylims for a cliffs_delta plot never exceed [-1, 1]. + l = plot_kwargs["contrast_ylim"][0] + h = plot_kwargs["contrast_ylim"][1] + low = -1 if l < -1 else l + high = 1 if h > 1 else h + contrast_axes.set_ylim(low, high) + else: + contrast_axes.set_ylim(custom_contrast_ylim) + + + # If 0 lies within the ylim of the contrast axes, + # draw a zero reference line. + contrast_axes_ylim = contrast_axes.get_ylim() + if contrast_axes_ylim[0] < contrast_axes_ylim[1]: + contrast_ylim_low, contrast_ylim_high = contrast_axes_ylim + else: + contrast_ylim_high, contrast_ylim_low = contrast_axes_ylim + if contrast_ylim_low < 0 < contrast_ylim_high: + contrast_axes.axhline(y=0, **reflines_kwargs) + + if is_paired == "baseline" and show_pairs: + if two_col_sankey: + rightend_ticks_raw = np.array([len(i) - 2 for i in idx]) + np.array( + ticks_to_start_twocol_sankey + ) + elif proportional and is_paired is not None: + rightend_ticks_raw = np.array([len(i) - 1 for i in idx]) + np.array( + ticks_to_skip + ) + else: + rightend_ticks_raw = np.array( + [len(i) - 1 for i in temp_idx] + ) + np.array(ticks_to_skip) + for ax in [rawdata_axes]: + sns.despine(ax=ax, bottom=True) + + ylim = ax.get_ylim() + xlim = ax.get_xlim() + redraw_axes_kwargs["y"] = ylim[0] + + if two_col_sankey: + for k, start_tick in enumerate(ticks_to_start_twocol_sankey): + end_tick = rightend_ticks_raw[k] + ax.hlines(xmin=start_tick, xmax=end_tick, **redraw_axes_kwargs) + else: + for k, start_tick in enumerate(ticks_to_skip): + end_tick = rightend_ticks_raw[k] + ax.hlines(xmin=start_tick, xmax=end_tick, **redraw_axes_kwargs) + ax.set_ylim(ylim) + del redraw_axes_kwargs["y"] + + if not proportional: + temp_length = [(len(i) - 1) for i in idx] + else: + temp_length = [(len(i) - 1) * 2 - 1 for i in idx] + if two_col_sankey: + rightend_ticks_contrast = np.array( + [len(i) - 2 for i in idx] + ) + np.array(ticks_to_start_twocol_sankey) + elif proportional and is_paired is not None: + rightend_ticks_contrast = np.array( + [len(i) - 1 for i in idx] + ) + np.array(ticks_to_skip) + else: + rightend_ticks_contrast = np.array(temp_length) + np.array( + ticks_to_skip_contrast + ) + for ax in [contrast_axes]: + sns.despine(ax=ax, bottom=True) + + ylim = ax.get_ylim() + xlim = ax.get_xlim() + redraw_axes_kwargs["y"] = ylim[0] + + if two_col_sankey: + for k, start_tick in enumerate(ticks_to_start_twocol_sankey): + end_tick = rightend_ticks_contrast[k] + ax.hlines(xmin=start_tick, xmax=end_tick, **redraw_axes_kwargs) + else: + for k, start_tick in enumerate(ticks_to_skip_contrast): + end_tick = rightend_ticks_contrast[k] + ax.hlines(xmin=start_tick, xmax=end_tick, **redraw_axes_kwargs) + + ax.set_ylim(ylim) + del redraw_axes_kwargs["y"] + else: + # Compute the end of each x-axes line. + if two_col_sankey: + rightend_ticks = np.array([len(i) - 2 for i in idx]) + np.array( + ticks_to_start_twocol_sankey + ) + else: + rightend_ticks = np.array([len(i) - 1 for i in idx]) + np.array( + ticks_to_skip + ) + + for ax in [rawdata_axes, contrast_axes]: + sns.despine(ax=ax, bottom=True) + + ylim = ax.get_ylim() + xlim = ax.get_xlim() + redraw_axes_kwargs["y"] = ylim[0] + + if two_col_sankey: + for k, start_tick in enumerate(ticks_to_start_twocol_sankey): + end_tick = rightend_ticks[k] + ax.hlines(xmin=start_tick, xmax=end_tick, **redraw_axes_kwargs) + else: + for k, start_tick in enumerate(ticks_to_skip): + end_tick = rightend_ticks[k] + ax.hlines(xmin=start_tick, xmax=end_tick, **redraw_axes_kwargs) + + ax.set_ylim(ylim) + del redraw_axes_kwargs["y"] + ... diff --git a/dabest/plotter.py b/dabest/plotter.py index f94ffbac..188c2b78 100644 --- a/dabest/plotter.py +++ b/dabest/plotter.py @@ -67,6 +67,9 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): add_counts_to_ticks, extract_contrast_plotting_ticks, set_xaxis_ticks_and_lims, + show_legend, + Gardner_Altman_Plot_Aesthetic_Adjustments, + Cumming_Plot_Aesthetic_Adjustments, ) from .plot_tools import ( get_swarm_spans, @@ -364,343 +367,66 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): rawdata_axes=rawdata_axes, contrast_axes=contrast_axes, show_pairs=show_pairs, - float_contrast=float_contrast) - - # Properly label the contrast ticks. - for t in ticks_to_skip: - contrast_xtick_labels.insert(t, "") - - if plot_kwargs["fontsize_contrastxlabel"] is not None: - fontsize_contrastxlabel = plot_kwargs["fontsize_contrastxlabel"] - - contrast_axes.set_xticklabels( - contrast_xtick_labels, fontsize=fontsize_contrastxlabel - ) - + float_contrast=float_contrast, + ticks_to_skip=ticks_to_skip, + contrast_xtick_labels=contrast_xtick_labels, + plot_kwargs=plot_kwargs, + ) + # Legend if bootstraps_color_by_group is False: - legend_labels_unique = np.unique(legend_labels) - unique_idx = np.unique(legend_labels, return_index=True)[1] - legend_handles_unique = ( - pd.Series(legend_handles, dtype="object").loc[unique_idx] - ).tolist() - - if len(legend_handles_unique) > 0: - if float_contrast: - axes_with_legend = contrast_axes - if show_pairs: - bta = (1.75, 1.02) - else: - bta = (1.5, 1.02) - else: - axes_with_legend = rawdata_axes - if show_pairs: - bta = (1.02, 1.0) - else: - bta = (1.0, 1.0) - leg = axes_with_legend.legend( - legend_handles_unique, - legend_labels_unique, - bbox_to_anchor=bta, - **legend_kwargs - ) - if show_pairs: - for line in leg.get_lines(): - line.set_linewidth(3.0) + show_legend(legend_labels=legend_labels, + legend_handles=legend_handles, + rawdata_axes=rawdata_axes, + contrast_axes=contrast_axes, + float_contrast=float_contrast, + show_pairs=show_pairs, + legend_kwargs=legend_kwargs + ) og_ylim_raw = rawdata_axes.get_ylim() og_xlim_raw = rawdata_axes.get_xlim() if float_contrast: # For Gardner-Altman plots only. - - # Normalize ylims and despine the floating contrast axes. - # Check that the effect size is within the swarm ylims. - if effect_size_type in ["mean_diff", "cohens_d", "hedges_g", "cohens_h"]: - control_group_summary = ( - plot_data.groupby(xvar) - .mean(numeric_only=True) - .loc[current_control, yvar] - ) - test_group_summary = ( - plot_data.groupby(xvar).mean(numeric_only=True).loc[current_group, yvar] - ) - elif effect_size_type == "median_diff": - control_group_summary = ( - plot_data.groupby(xvar).median().loc[current_control, yvar] - ) - test_group_summary = ( - plot_data.groupby(xvar).median().loc[current_group, yvar] - ) - - if swarm_ylim is None: - swarm_ylim = rawdata_axes.get_ylim() - - _, contrast_xlim_max = contrast_axes.get_xlim() - - difference = float(results.difference[0]) - - if effect_size_type in ["mean_diff", "median_diff"]: - # Align 0 of contrast_axes to reference group mean of rawdata_axes. - # If the effect size is positive, shift the contrast axis up. - rawdata_ylims = np.array(rawdata_axes.get_ylim()) - if current_effsize > 0: - rightmin, rightmax = rawdata_ylims - current_effsize - # If the effect size is negative, shift the contrast axis down. - elif current_effsize < 0: - rightmin, rightmax = rawdata_ylims + current_effsize - else: - rightmin, rightmax = rawdata_ylims - - contrast_axes.set_ylim(rightmin, rightmax) - - og_ylim_contrast = rawdata_axes.get_ylim() - np.array(control_group_summary) - - contrast_axes.set_ylim(og_ylim_contrast) - contrast_axes.set_xlim(contrast_xlim_max - 1, contrast_xlim_max) - - elif effect_size_type in ["cohens_d", "hedges_g", "cohens_h"]: - if is_paired: - which_std = 1 - else: - which_std = 0 - temp_control = plot_data[plot_data[xvar] == current_control][yvar] - temp_test = plot_data[plot_data[xvar] == current_group][yvar] - - stds = _compute_standardizers(temp_control, temp_test) - if is_paired: - pooled_sd = stds[1] - else: - pooled_sd = stds[0] - - if effect_size_type == "hedges_g": - gby_count = plot_data.groupby(xvar).count() - len_control = gby_count.loc[current_control, yvar] - len_test = gby_count.loc[current_group, yvar] - - hg_correction_factor = _compute_hedges_correction_factor( - len_control, len_test - ) - - ylim_scale_factor = pooled_sd / hg_correction_factor - - elif effect_size_type == "cohens_h": - ylim_scale_factor = ( - np.mean(temp_test) - np.mean(temp_control) - ) / difference - - else: - ylim_scale_factor = pooled_sd - - scaled_ylim = ( - (rawdata_axes.get_ylim() - control_group_summary) / ylim_scale_factor - ).tolist() - - contrast_axes.set_ylim(scaled_ylim) - og_ylim_contrast = scaled_ylim - - contrast_axes.set_xlim(contrast_xlim_max - 1, contrast_xlim_max) - - if one_sankey is None: - # Draw summary lines for control and test groups.. - for jj, axx in enumerate([rawdata_axes, contrast_axes]): - # Draw effect size line. - if jj == 0: - ref = control_group_summary - diff = test_group_summary - effsize_line_start = 1 - - elif jj == 1: - ref = 0 - diff = ref + difference - effsize_line_start = contrast_xlim_max - 1.1 - - xlimlow, xlimhigh = axx.get_xlim() - - # Draw reference line. - axx.hlines( - ref, # y-coordinates - 0, - xlimhigh, # x-coordinates, start and end. - **reflines_kwargs - ) - - # Draw effect size line. - axx.hlines(diff, effsize_line_start, xlimhigh, **reflines_kwargs) - else: - ref = 0 - diff = ref + difference - effsize_line_start = contrast_xlim_max - 0.9 - xlimlow, xlimhigh = contrast_axes.get_xlim() - # Draw reference line. - contrast_axes.hlines( - ref, # y-coordinates - effsize_line_start, - xlimhigh, # x-coordinates, start and end. - **reflines_kwargs - ) - - # Draw effect size line. - contrast_axes.hlines(diff, effsize_line_start, xlimhigh, **reflines_kwargs) - rawdata_axes.set_xlim(og_xlim_raw) # to align the axis - # Despine appropriately. - sns.despine(ax=rawdata_axes, bottom=True) - sns.despine(ax=contrast_axes, left=True, right=False) - - # Insert break between the rawdata axes and the contrast axes - # by re-drawing the x-spine. - rawdata_axes.hlines( - og_ylim_raw[0], # yindex - rawdata_axes.get_xlim()[0], - 1.3, # xmin, xmax - **redraw_axes_kwargs - ) - rawdata_axes.set_ylim(og_ylim_raw) - - contrast_axes.hlines( - contrast_axes.get_ylim()[0], - contrast_xlim_max - 0.8, - contrast_xlim_max, - **redraw_axes_kwargs - ) + Gardner_Altman_Plot_Aesthetic_Adjustments(effect_size_type=effect_size_type, + plot_data=plot_data, + xvar=xvar, + yvar=yvar, + current_control=current_control, + current_group=current_group, + rawdata_axes=rawdata_axes, + contrast_axes=contrast_axes, + results=results, + current_effsize=current_effsize, + is_paired=is_paired, + one_sankey=one_sankey, + reflines_kwargs=reflines_kwargs, + redraw_axes_kwargs=redraw_axes_kwargs, + swarm_ylim=swarm_ylim, + og_xlim_raw=og_xlim_raw, + og_ylim_raw=og_ylim_raw + ) else: # For Cumming Plots only. - - # Set custom contrast_ylim, if it was specified. - if plot_kwargs["contrast_ylim"] is not None or ( - plot_kwargs["delta2_ylim"] is not None and show_delta2 - ): - if plot_kwargs["contrast_ylim"] is not None: - custom_contrast_ylim = plot_kwargs["contrast_ylim"] - if plot_kwargs["delta2_ylim"] is not None and show_delta2: - custom_delta2_ylim = plot_kwargs["delta2_ylim"] - if custom_contrast_ylim != custom_delta2_ylim: - err1 = "Please check if `contrast_ylim` and `delta2_ylim` are assigned" - err2 = "with same values." - raise ValueError(err1 + err2) - else: - custom_delta2_ylim = plot_kwargs["delta2_ylim"] - custom_contrast_ylim = custom_delta2_ylim - - if len(custom_contrast_ylim) != 2: - err1 = "Please check `contrast_ylim` consists of " - err2 = "exactly two numbers." - raise ValueError(err1 + err2) - - if effect_size_type == "cliffs_delta": - # Ensure the ylims for a cliffs_delta plot never exceed [-1, 1]. - l = plot_kwargs["contrast_ylim"][0] - h = plot_kwargs["contrast_ylim"][1] - low = -1 if l < -1 else l - high = 1 if h > 1 else h - contrast_axes.set_ylim(low, high) - else: - contrast_axes.set_ylim(custom_contrast_ylim) - - # If 0 lies within the ylim of the contrast axes, - # draw a zero reference line. - contrast_axes_ylim = contrast_axes.get_ylim() - if contrast_axes_ylim[0] < contrast_axes_ylim[1]: - contrast_ylim_low, contrast_ylim_high = contrast_axes_ylim - else: - contrast_ylim_high, contrast_ylim_low = contrast_axes_ylim - if contrast_ylim_low < 0 < contrast_ylim_high: - contrast_axes.axhline(y=0, **reflines_kwargs) - - if is_paired == "baseline" and show_pairs: - if two_col_sankey: - rightend_ticks_raw = np.array([len(i) - 2 for i in idx]) + np.array( - ticks_to_start_twocol_sankey - ) - elif proportional and is_paired is not None: - rightend_ticks_raw = np.array([len(i) - 1 for i in idx]) + np.array( - ticks_to_skip - ) - else: - rightend_ticks_raw = np.array( - [len(i) - 1 for i in temp_idx] - ) + np.array(ticks_to_skip) - for ax in [rawdata_axes]: - sns.despine(ax=ax, bottom=True) - - ylim = ax.get_ylim() - xlim = ax.get_xlim() - redraw_axes_kwargs["y"] = ylim[0] - - if two_col_sankey: - for k, start_tick in enumerate(ticks_to_start_twocol_sankey): - end_tick = rightend_ticks_raw[k] - ax.hlines(xmin=start_tick, xmax=end_tick, **redraw_axes_kwargs) - else: - for k, start_tick in enumerate(ticks_to_skip): - end_tick = rightend_ticks_raw[k] - ax.hlines(xmin=start_tick, xmax=end_tick, **redraw_axes_kwargs) - ax.set_ylim(ylim) - del redraw_axes_kwargs["y"] - - if not proportional: - temp_length = [(len(i) - 1) for i in idx] - else: - temp_length = [(len(i) - 1) * 2 - 1 for i in idx] - if two_col_sankey: - rightend_ticks_contrast = np.array( - [len(i) - 2 for i in idx] - ) + np.array(ticks_to_start_twocol_sankey) - elif proportional and is_paired is not None: - rightend_ticks_contrast = np.array( - [len(i) - 1 for i in idx] - ) + np.array(ticks_to_skip) - else: - rightend_ticks_contrast = np.array(temp_length) + np.array( - ticks_to_skip_contrast - ) - for ax in [contrast_axes]: - sns.despine(ax=ax, bottom=True) - - ylim = ax.get_ylim() - xlim = ax.get_xlim() - redraw_axes_kwargs["y"] = ylim[0] - - if two_col_sankey: - for k, start_tick in enumerate(ticks_to_start_twocol_sankey): - end_tick = rightend_ticks_contrast[k] - ax.hlines(xmin=start_tick, xmax=end_tick, **redraw_axes_kwargs) - else: - for k, start_tick in enumerate(ticks_to_skip_contrast): - end_tick = rightend_ticks_contrast[k] - ax.hlines(xmin=start_tick, xmax=end_tick, **redraw_axes_kwargs) - - ax.set_ylim(ylim) - del redraw_axes_kwargs["y"] - else: - # Compute the end of each x-axes line. - if two_col_sankey: - rightend_ticks = np.array([len(i) - 2 for i in idx]) + np.array( - ticks_to_start_twocol_sankey - ) - else: - rightend_ticks = np.array([len(i) - 1 for i in idx]) + np.array( - ticks_to_skip - ) - - for ax in [rawdata_axes, contrast_axes]: - sns.despine(ax=ax, bottom=True) - - ylim = ax.get_ylim() - xlim = ax.get_xlim() - redraw_axes_kwargs["y"] = ylim[0] - - if two_col_sankey: - for k, start_tick in enumerate(ticks_to_start_twocol_sankey): - end_tick = rightend_ticks[k] - ax.hlines(xmin=start_tick, xmax=end_tick, **redraw_axes_kwargs) - else: - for k, start_tick in enumerate(ticks_to_skip): - end_tick = rightend_ticks[k] - ax.hlines(xmin=start_tick, xmax=end_tick, **redraw_axes_kwargs) - - ax.set_ylim(ylim) - del redraw_axes_kwargs["y"] + Cumming_Plot_Aesthetic_Adjustments(plot_kwargs=plot_kwargs, + show_delta2=show_delta2, + effect_size_type=effect_size_type, + contrast_axes=contrast_axes, + reflines_kwargs=reflines_kwargs, + is_paired=is_paired, + show_pairs=show_pairs, + two_col_sankey=two_col_sankey, + idx=idx, + ticks_to_start_twocol_sankey=ticks_to_start_twocol_sankey, + proportional=proportional, + ticks_to_skip=ticks_to_skip, + temp_idx=temp_idx if is_paired == "baseline" and show_pairs else None, + rawdata_axes=rawdata_axes, + redraw_axes_kwargs=redraw_axes_kwargs, + ticks_to_skip_contrast=ticks_to_skip_contrast, + ) + if show_delta2 or show_mini_meta: ylim = contrast_axes.get_ylim() diff --git a/nbs/API/misc_tools.ipynb b/nbs/API/misc_tools.ipynb index 4235d630..30040ee9 100644 --- a/nbs/API/misc_tools.ipynb +++ b/nbs/API/misc_tools.ipynb @@ -621,7 +621,8 @@ " \n", " return ticks_to_skip, ticks_to_plot, ticks_to_skip_contrast, ticks_to_start_twocol_sankey\n", "\n", - "def set_xaxis_ticks_and_lims(show_delta2, show_mini_meta, rawdata_axes, contrast_axes, show_pairs, float_contrast):\n", + "def set_xaxis_ticks_and_lims(show_delta2, show_mini_meta, rawdata_axes, contrast_axes, show_pairs, float_contrast,\n", + " ticks_to_skip, contrast_xtick_labels, plot_kwargs):\n", "\n", " if show_delta2 is False and show_mini_meta is False:\n", " contrast_axes.set_xticks(rawdata_axes.get_xticks())\n", @@ -645,7 +646,350 @@ " rawdata_axes.set_xlim(temp[0], temp[1] + 2)\n", " contrast_axes.set_xlim(rawdata_axes.get_xlim())\n", " else:\n", - " contrast_axes.set_xlim(rawdata_axes.get_xlim())" + " contrast_axes.set_xlim(rawdata_axes.get_xlim())\n", + "\n", + " # Properly label the contrast ticks.\n", + " for t in ticks_to_skip:\n", + " contrast_xtick_labels.insert(t, \"\")\n", + "\n", + " if plot_kwargs[\"fontsize_contrastxlabel\"] is not None:\n", + " fontsize_contrastxlabel = plot_kwargs[\"fontsize_contrastxlabel\"]\n", + "\n", + " contrast_axes.set_xticklabels(\n", + " contrast_xtick_labels, fontsize=fontsize_contrastxlabel\n", + " )\n", + "\n", + "\n", + "def show_legend(legend_labels, legend_handles, rawdata_axes, contrast_axes, float_contrast, show_pairs, legend_kwargs):\n", + "\n", + " legend_labels_unique = np.unique(legend_labels)\n", + " unique_idx = np.unique(legend_labels, return_index=True)[1]\n", + " legend_handles_unique = (\n", + " pd.Series(legend_handles, dtype=\"object\").loc[unique_idx]\n", + " ).tolist()\n", + "\n", + " if len(legend_handles_unique) > 0:\n", + " if float_contrast:\n", + " axes_with_legend = contrast_axes\n", + " if show_pairs:\n", + " bta = (1.75, 1.02)\n", + " else:\n", + " bta = (1.5, 1.02)\n", + " else:\n", + " axes_with_legend = rawdata_axes\n", + " if show_pairs:\n", + " bta = (1.02, 1.0)\n", + " else:\n", + " bta = (1.0, 1.0)\n", + " leg = axes_with_legend.legend(\n", + " legend_handles_unique,\n", + " legend_labels_unique,\n", + " bbox_to_anchor=bta,\n", + " **legend_kwargs\n", + " )\n", + " if show_pairs:\n", + " for line in leg.get_lines():\n", + " line.set_linewidth(3.0)\n", + " \n", + "def Gardner_Altman_Plot_Aesthetic_Adjustments(effect_size_type, plot_data, xvar, yvar, current_control, current_group,\n", + " rawdata_axes, contrast_axes, results, current_effsize, is_paired, one_sankey,\n", + " reflines_kwargs, redraw_axes_kwargs, swarm_ylim, og_xlim_raw, og_ylim_raw):\n", + " from ._stats_tools.effsize import (\n", + " _compute_standardizers,\n", + " _compute_hedges_correction_factor,\n", + " )\n", + " # Normalize ylims and despine the floating contrast axes.\n", + " # Check that the effect size is within the swarm ylims.\n", + " if effect_size_type in [\"mean_diff\", \"cohens_d\", \"hedges_g\", \"cohens_h\"]:\n", + " control_group_summary = (\n", + " plot_data.groupby(xvar)\n", + " .mean(numeric_only=True)\n", + " .loc[current_control, yvar]\n", + " )\n", + " test_group_summary = (\n", + " plot_data.groupby(xvar).mean(numeric_only=True).loc[current_group, yvar]\n", + " )\n", + " elif effect_size_type == \"median_diff\":\n", + " control_group_summary = (\n", + " plot_data.groupby(xvar).median().loc[current_control, yvar]\n", + " )\n", + " test_group_summary = (\n", + " plot_data.groupby(xvar).median().loc[current_group, yvar]\n", + " )\n", + "\n", + " if swarm_ylim is None:\n", + " swarm_ylim = rawdata_axes.get_ylim()\n", + "\n", + " _, contrast_xlim_max = contrast_axes.get_xlim()\n", + "\n", + " difference = float(results.difference[0])\n", + "\n", + " if effect_size_type in [\"mean_diff\", \"median_diff\"]:\n", + " # Align 0 of contrast_axes to reference group mean of rawdata_axes.\n", + " # If the effect size is positive, shift the contrast axis up.\n", + " rawdata_ylims = np.array(rawdata_axes.get_ylim())\n", + " if current_effsize > 0:\n", + " rightmin, rightmax = rawdata_ylims - current_effsize\n", + " # If the effect size is negative, shift the contrast axis down.\n", + " elif current_effsize < 0:\n", + " rightmin, rightmax = rawdata_ylims + current_effsize\n", + " else:\n", + " rightmin, rightmax = rawdata_ylims\n", + "\n", + " contrast_axes.set_ylim(rightmin, rightmax)\n", + "\n", + " og_ylim_contrast = rawdata_axes.get_ylim() - np.array(control_group_summary)\n", + "\n", + " contrast_axes.set_ylim(og_ylim_contrast)\n", + " contrast_axes.set_xlim(contrast_xlim_max - 1, contrast_xlim_max)\n", + "\n", + " elif effect_size_type in [\"cohens_d\", \"hedges_g\", \"cohens_h\"]:\n", + " if is_paired:\n", + " which_std = 1\n", + " else:\n", + " which_std = 0\n", + " temp_control = plot_data[plot_data[xvar] == current_control][yvar]\n", + " temp_test = plot_data[plot_data[xvar] == current_group][yvar]\n", + "\n", + " stds = _compute_standardizers(temp_control, temp_test)\n", + " if is_paired:\n", + " pooled_sd = stds[1]\n", + " else:\n", + " pooled_sd = stds[0]\n", + "\n", + " if effect_size_type == \"hedges_g\":\n", + " gby_count = plot_data.groupby(xvar).count()\n", + " len_control = gby_count.loc[current_control, yvar]\n", + " len_test = gby_count.loc[current_group, yvar]\n", + "\n", + " hg_correction_factor = _compute_hedges_correction_factor(\n", + " len_control, len_test\n", + " )\n", + "\n", + " ylim_scale_factor = pooled_sd / hg_correction_factor\n", + "\n", + " elif effect_size_type == \"cohens_h\":\n", + " ylim_scale_factor = (\n", + " np.mean(temp_test) - np.mean(temp_control)\n", + " ) / difference\n", + "\n", + " else:\n", + " ylim_scale_factor = pooled_sd\n", + "\n", + " scaled_ylim = (\n", + " (rawdata_axes.get_ylim() - control_group_summary) / ylim_scale_factor\n", + " ).tolist()\n", + "\n", + " contrast_axes.set_ylim(scaled_ylim)\n", + " og_ylim_contrast = scaled_ylim\n", + "\n", + " contrast_axes.set_xlim(contrast_xlim_max - 1, contrast_xlim_max)\n", + "\n", + " if one_sankey is None:\n", + " # Draw summary lines for control and test groups..\n", + " for jj, axx in enumerate([rawdata_axes, contrast_axes]):\n", + " # Draw effect size line.\n", + " if jj == 0:\n", + " ref = control_group_summary\n", + " diff = test_group_summary\n", + " effsize_line_start = 1\n", + "\n", + " elif jj == 1:\n", + " ref = 0\n", + " diff = ref + difference\n", + " effsize_line_start = contrast_xlim_max - 1.1\n", + "\n", + " xlimlow, xlimhigh = axx.get_xlim()\n", + "\n", + " # Draw reference line.\n", + " axx.hlines(\n", + " ref, # y-coordinates\n", + " 0,\n", + " xlimhigh, # x-coordinates, start and end.\n", + " **reflines_kwargs\n", + " )\n", + "\n", + " # Draw effect size line.\n", + " axx.hlines(diff, effsize_line_start, xlimhigh, **reflines_kwargs)\n", + " else:\n", + " ref = 0\n", + " diff = ref + difference\n", + " effsize_line_start = contrast_xlim_max - 0.9\n", + " xlimlow, xlimhigh = contrast_axes.get_xlim()\n", + " # Draw reference line.\n", + " contrast_axes.hlines(\n", + " ref, # y-coordinates\n", + " effsize_line_start,\n", + " xlimhigh, # x-coordinates, start and end.\n", + " **reflines_kwargs\n", + " )\n", + "\n", + " # Draw effect size line.\n", + " contrast_axes.hlines(diff, effsize_line_start, xlimhigh, **reflines_kwargs)\n", + " rawdata_axes.set_xlim(og_xlim_raw) # to align the axis\n", + " # Despine appropriately.\n", + " sns.despine(ax=rawdata_axes, bottom=True)\n", + " sns.despine(ax=contrast_axes, left=True, right=False)\n", + "\n", + " # Insert break between the rawdata axes and the contrast axes\n", + " # by re-drawing the x-spine.\n", + " rawdata_axes.hlines(\n", + " og_ylim_raw[0], # yindex\n", + " rawdata_axes.get_xlim()[0],\n", + " 1.3, # xmin, xmax\n", + " **redraw_axes_kwargs\n", + " )\n", + " rawdata_axes.set_ylim(og_ylim_raw)\n", + "\n", + " contrast_axes.hlines(\n", + " contrast_axes.get_ylim()[0],\n", + " contrast_xlim_max - 0.8,\n", + " contrast_xlim_max,\n", + " **redraw_axes_kwargs\n", + " )\n", + "\n", + "\n", + "def Cumming_Plot_Aesthetic_Adjustments(plot_kwargs, show_delta2, effect_size_type, contrast_axes, reflines_kwargs, \n", + " is_paired, show_pairs, two_col_sankey, idx, ticks_to_start_twocol_sankey,\n", + " proportional, ticks_to_skip, temp_idx, rawdata_axes, redraw_axes_kwargs,\n", + " ticks_to_skip_contrast):\n", + " # Set custom contrast_ylim, if it was specified.\n", + " if plot_kwargs[\"contrast_ylim\"] is not None or (\n", + " plot_kwargs[\"delta2_ylim\"] is not None and show_delta2\n", + " ):\n", + " if plot_kwargs[\"contrast_ylim\"] is not None:\n", + " custom_contrast_ylim = plot_kwargs[\"contrast_ylim\"]\n", + " if plot_kwargs[\"delta2_ylim\"] is not None and show_delta2:\n", + " custom_delta2_ylim = plot_kwargs[\"delta2_ylim\"]\n", + " if custom_contrast_ylim != custom_delta2_ylim:\n", + " err1 = \"Please check if `contrast_ylim` and `delta2_ylim` are assigned\"\n", + " err2 = \"with same values.\"\n", + " raise ValueError(err1 + err2)\n", + " else:\n", + " custom_delta2_ylim = plot_kwargs[\"delta2_ylim\"]\n", + " custom_contrast_ylim = custom_delta2_ylim\n", + "\n", + " if len(custom_contrast_ylim) != 2:\n", + " err1 = \"Please check `contrast_ylim` consists of \"\n", + " err2 = \"exactly two numbers.\"\n", + " raise ValueError(err1 + err2)\n", + "\n", + " if effect_size_type == \"cliffs_delta\":\n", + " # Ensure the ylims for a cliffs_delta plot never exceed [-1, 1].\n", + " l = plot_kwargs[\"contrast_ylim\"][0]\n", + " h = plot_kwargs[\"contrast_ylim\"][1]\n", + " low = -1 if l < -1 else l\n", + " high = 1 if h > 1 else h\n", + " contrast_axes.set_ylim(low, high)\n", + " else:\n", + " contrast_axes.set_ylim(custom_contrast_ylim)\n", + "\n", + "\n", + " # If 0 lies within the ylim of the contrast axes,\n", + " # draw a zero reference line.\n", + " contrast_axes_ylim = contrast_axes.get_ylim()\n", + " if contrast_axes_ylim[0] < contrast_axes_ylim[1]:\n", + " contrast_ylim_low, contrast_ylim_high = contrast_axes_ylim\n", + " else:\n", + " contrast_ylim_high, contrast_ylim_low = contrast_axes_ylim\n", + " if contrast_ylim_low < 0 < contrast_ylim_high:\n", + " contrast_axes.axhline(y=0, **reflines_kwargs)\n", + "\n", + " if is_paired == \"baseline\" and show_pairs:\n", + " if two_col_sankey:\n", + " rightend_ticks_raw = np.array([len(i) - 2 for i in idx]) + np.array(\n", + " ticks_to_start_twocol_sankey\n", + " )\n", + " elif proportional and is_paired is not None:\n", + " rightend_ticks_raw = np.array([len(i) - 1 for i in idx]) + np.array(\n", + " ticks_to_skip\n", + " )\n", + " else:\n", + " rightend_ticks_raw = np.array(\n", + " [len(i) - 1 for i in temp_idx]\n", + " ) + np.array(ticks_to_skip)\n", + " for ax in [rawdata_axes]:\n", + " sns.despine(ax=ax, bottom=True)\n", + "\n", + " ylim = ax.get_ylim()\n", + " xlim = ax.get_xlim()\n", + " redraw_axes_kwargs[\"y\"] = ylim[0]\n", + "\n", + " if two_col_sankey:\n", + " for k, start_tick in enumerate(ticks_to_start_twocol_sankey):\n", + " end_tick = rightend_ticks_raw[k]\n", + " ax.hlines(xmin=start_tick, xmax=end_tick, **redraw_axes_kwargs)\n", + " else:\n", + " for k, start_tick in enumerate(ticks_to_skip):\n", + " end_tick = rightend_ticks_raw[k]\n", + " ax.hlines(xmin=start_tick, xmax=end_tick, **redraw_axes_kwargs)\n", + " ax.set_ylim(ylim)\n", + " del redraw_axes_kwargs[\"y\"]\n", + "\n", + " if not proportional:\n", + " temp_length = [(len(i) - 1) for i in idx]\n", + " else:\n", + " temp_length = [(len(i) - 1) * 2 - 1 for i in idx]\n", + " if two_col_sankey:\n", + " rightend_ticks_contrast = np.array(\n", + " [len(i) - 2 for i in idx]\n", + " ) + np.array(ticks_to_start_twocol_sankey)\n", + " elif proportional and is_paired is not None:\n", + " rightend_ticks_contrast = np.array(\n", + " [len(i) - 1 for i in idx]\n", + " ) + np.array(ticks_to_skip)\n", + " else:\n", + " rightend_ticks_contrast = np.array(temp_length) + np.array(\n", + " ticks_to_skip_contrast\n", + " )\n", + " for ax in [contrast_axes]:\n", + " sns.despine(ax=ax, bottom=True)\n", + "\n", + " ylim = ax.get_ylim()\n", + " xlim = ax.get_xlim()\n", + " redraw_axes_kwargs[\"y\"] = ylim[0]\n", + "\n", + " if two_col_sankey:\n", + " for k, start_tick in enumerate(ticks_to_start_twocol_sankey):\n", + " end_tick = rightend_ticks_contrast[k]\n", + " ax.hlines(xmin=start_tick, xmax=end_tick, **redraw_axes_kwargs)\n", + " else:\n", + " for k, start_tick in enumerate(ticks_to_skip_contrast):\n", + " end_tick = rightend_ticks_contrast[k]\n", + " ax.hlines(xmin=start_tick, xmax=end_tick, **redraw_axes_kwargs)\n", + "\n", + " ax.set_ylim(ylim)\n", + " del redraw_axes_kwargs[\"y\"]\n", + " else:\n", + " # Compute the end of each x-axes line.\n", + " if two_col_sankey:\n", + " rightend_ticks = np.array([len(i) - 2 for i in idx]) + np.array(\n", + " ticks_to_start_twocol_sankey\n", + " )\n", + " else:\n", + " rightend_ticks = np.array([len(i) - 1 for i in idx]) + np.array(\n", + " ticks_to_skip\n", + " )\n", + "\n", + " for ax in [rawdata_axes, contrast_axes]:\n", + " sns.despine(ax=ax, bottom=True)\n", + "\n", + " ylim = ax.get_ylim()\n", + " xlim = ax.get_xlim()\n", + " redraw_axes_kwargs[\"y\"] = ylim[0]\n", + "\n", + " if two_col_sankey:\n", + " for k, start_tick in enumerate(ticks_to_start_twocol_sankey):\n", + " end_tick = rightend_ticks[k]\n", + " ax.hlines(xmin=start_tick, xmax=end_tick, **redraw_axes_kwargs)\n", + " else:\n", + " for k, start_tick in enumerate(ticks_to_skip):\n", + " end_tick = rightend_ticks[k]\n", + " ax.hlines(xmin=start_tick, xmax=end_tick, **redraw_axes_kwargs)\n", + "\n", + " ax.set_ylim(ylim)\n", + " del redraw_axes_kwargs[\"y\"]\n", + " ..." ] } ], diff --git a/nbs/API/plotter.ipynb b/nbs/API/plotter.ipynb index 01246677..15ecac76 100644 --- a/nbs/API/plotter.ipynb +++ b/nbs/API/plotter.ipynb @@ -126,6 +126,9 @@ " add_counts_to_ticks,\n", " extract_contrast_plotting_ticks,\n", " set_xaxis_ticks_and_lims,\n", + " show_legend,\n", + " Gardner_Altman_Plot_Aesthetic_Adjustments,\n", + " Cumming_Plot_Aesthetic_Adjustments,\n", " )\n", " from .plot_tools import (\n", " get_swarm_spans,\n", @@ -423,343 +426,66 @@ " rawdata_axes=rawdata_axes, \n", " contrast_axes=contrast_axes, \n", " show_pairs=show_pairs, \n", - " float_contrast=float_contrast)\n", - "\n", - " # Properly label the contrast ticks.\n", - " for t in ticks_to_skip:\n", - " contrast_xtick_labels.insert(t, \"\")\n", - "\n", - " if plot_kwargs[\"fontsize_contrastxlabel\"] is not None:\n", - " fontsize_contrastxlabel = plot_kwargs[\"fontsize_contrastxlabel\"]\n", - "\n", - " contrast_axes.set_xticklabels(\n", - " contrast_xtick_labels, fontsize=fontsize_contrastxlabel\n", - " )\n", - "\n", + " float_contrast=float_contrast,\n", + " ticks_to_skip=ticks_to_skip, \n", + " contrast_xtick_labels=contrast_xtick_labels, \n", + " plot_kwargs=plot_kwargs,\n", + " )\n", + " # Legend\n", " if bootstraps_color_by_group is False:\n", - " legend_labels_unique = np.unique(legend_labels)\n", - " unique_idx = np.unique(legend_labels, return_index=True)[1]\n", - " legend_handles_unique = (\n", - " pd.Series(legend_handles, dtype=\"object\").loc[unique_idx]\n", - " ).tolist()\n", - "\n", - " if len(legend_handles_unique) > 0:\n", - " if float_contrast:\n", - " axes_with_legend = contrast_axes\n", - " if show_pairs:\n", - " bta = (1.75, 1.02)\n", - " else:\n", - " bta = (1.5, 1.02)\n", - " else:\n", - " axes_with_legend = rawdata_axes\n", - " if show_pairs:\n", - " bta = (1.02, 1.0)\n", - " else:\n", - " bta = (1.0, 1.0)\n", - " leg = axes_with_legend.legend(\n", - " legend_handles_unique,\n", - " legend_labels_unique,\n", - " bbox_to_anchor=bta,\n", - " **legend_kwargs\n", - " )\n", - " if show_pairs:\n", - " for line in leg.get_lines():\n", - " line.set_linewidth(3.0)\n", + " show_legend(legend_labels=legend_labels, \n", + " legend_handles=legend_handles, \n", + " rawdata_axes=rawdata_axes, \n", + " contrast_axes=contrast_axes, \n", + " float_contrast=float_contrast, \n", + " show_pairs=show_pairs, \n", + " legend_kwargs=legend_kwargs\n", + " )\n", "\n", " og_ylim_raw = rawdata_axes.get_ylim()\n", " og_xlim_raw = rawdata_axes.get_xlim()\n", "\n", " if float_contrast:\n", " # For Gardner-Altman plots only.\n", - "\n", - " # Normalize ylims and despine the floating contrast axes.\n", - " # Check that the effect size is within the swarm ylims.\n", - " if effect_size_type in [\"mean_diff\", \"cohens_d\", \"hedges_g\", \"cohens_h\"]:\n", - " control_group_summary = (\n", - " plot_data.groupby(xvar)\n", - " .mean(numeric_only=True)\n", - " .loc[current_control, yvar]\n", - " )\n", - " test_group_summary = (\n", - " plot_data.groupby(xvar).mean(numeric_only=True).loc[current_group, yvar]\n", - " )\n", - " elif effect_size_type == \"median_diff\":\n", - " control_group_summary = (\n", - " plot_data.groupby(xvar).median().loc[current_control, yvar]\n", - " )\n", - " test_group_summary = (\n", - " plot_data.groupby(xvar).median().loc[current_group, yvar]\n", - " )\n", - "\n", - " if swarm_ylim is None:\n", - " swarm_ylim = rawdata_axes.get_ylim()\n", - "\n", - " _, contrast_xlim_max = contrast_axes.get_xlim()\n", - "\n", - " difference = float(results.difference[0])\n", - "\n", - " if effect_size_type in [\"mean_diff\", \"median_diff\"]:\n", - " # Align 0 of contrast_axes to reference group mean of rawdata_axes.\n", - " # If the effect size is positive, shift the contrast axis up.\n", - " rawdata_ylims = np.array(rawdata_axes.get_ylim())\n", - " if current_effsize > 0:\n", - " rightmin, rightmax = rawdata_ylims - current_effsize\n", - " # If the effect size is negative, shift the contrast axis down.\n", - " elif current_effsize < 0:\n", - " rightmin, rightmax = rawdata_ylims + current_effsize\n", - " else:\n", - " rightmin, rightmax = rawdata_ylims\n", - "\n", - " contrast_axes.set_ylim(rightmin, rightmax)\n", - "\n", - " og_ylim_contrast = rawdata_axes.get_ylim() - np.array(control_group_summary)\n", - "\n", - " contrast_axes.set_ylim(og_ylim_contrast)\n", - " contrast_axes.set_xlim(contrast_xlim_max - 1, contrast_xlim_max)\n", - "\n", - " elif effect_size_type in [\"cohens_d\", \"hedges_g\", \"cohens_h\"]:\n", - " if is_paired:\n", - " which_std = 1\n", - " else:\n", - " which_std = 0\n", - " temp_control = plot_data[plot_data[xvar] == current_control][yvar]\n", - " temp_test = plot_data[plot_data[xvar] == current_group][yvar]\n", - "\n", - " stds = _compute_standardizers(temp_control, temp_test)\n", - " if is_paired:\n", - " pooled_sd = stds[1]\n", - " else:\n", - " pooled_sd = stds[0]\n", - "\n", - " if effect_size_type == \"hedges_g\":\n", - " gby_count = plot_data.groupby(xvar).count()\n", - " len_control = gby_count.loc[current_control, yvar]\n", - " len_test = gby_count.loc[current_group, yvar]\n", - "\n", - " hg_correction_factor = _compute_hedges_correction_factor(\n", - " len_control, len_test\n", - " )\n", - "\n", - " ylim_scale_factor = pooled_sd / hg_correction_factor\n", - "\n", - " elif effect_size_type == \"cohens_h\":\n", - " ylim_scale_factor = (\n", - " np.mean(temp_test) - np.mean(temp_control)\n", - " ) / difference\n", - "\n", - " else:\n", - " ylim_scale_factor = pooled_sd\n", - "\n", - " scaled_ylim = (\n", - " (rawdata_axes.get_ylim() - control_group_summary) / ylim_scale_factor\n", - " ).tolist()\n", - "\n", - " contrast_axes.set_ylim(scaled_ylim)\n", - " og_ylim_contrast = scaled_ylim\n", - "\n", - " contrast_axes.set_xlim(contrast_xlim_max - 1, contrast_xlim_max)\n", - "\n", - " if one_sankey is None:\n", - " # Draw summary lines for control and test groups..\n", - " for jj, axx in enumerate([rawdata_axes, contrast_axes]):\n", - " # Draw effect size line.\n", - " if jj == 0:\n", - " ref = control_group_summary\n", - " diff = test_group_summary\n", - " effsize_line_start = 1\n", - "\n", - " elif jj == 1:\n", - " ref = 0\n", - " diff = ref + difference\n", - " effsize_line_start = contrast_xlim_max - 1.1\n", - "\n", - " xlimlow, xlimhigh = axx.get_xlim()\n", - "\n", - " # Draw reference line.\n", - " axx.hlines(\n", - " ref, # y-coordinates\n", - " 0,\n", - " xlimhigh, # x-coordinates, start and end.\n", - " **reflines_kwargs\n", - " )\n", - "\n", - " # Draw effect size line.\n", - " axx.hlines(diff, effsize_line_start, xlimhigh, **reflines_kwargs)\n", - " else:\n", - " ref = 0\n", - " diff = ref + difference\n", - " effsize_line_start = contrast_xlim_max - 0.9\n", - " xlimlow, xlimhigh = contrast_axes.get_xlim()\n", - " # Draw reference line.\n", - " contrast_axes.hlines(\n", - " ref, # y-coordinates\n", - " effsize_line_start,\n", - " xlimhigh, # x-coordinates, start and end.\n", - " **reflines_kwargs\n", - " )\n", - "\n", - " # Draw effect size line.\n", - " contrast_axes.hlines(diff, effsize_line_start, xlimhigh, **reflines_kwargs)\n", - " rawdata_axes.set_xlim(og_xlim_raw) # to align the axis\n", - " # Despine appropriately.\n", - " sns.despine(ax=rawdata_axes, bottom=True)\n", - " sns.despine(ax=contrast_axes, left=True, right=False)\n", - "\n", - " # Insert break between the rawdata axes and the contrast axes\n", - " # by re-drawing the x-spine.\n", - " rawdata_axes.hlines(\n", - " og_ylim_raw[0], # yindex\n", - " rawdata_axes.get_xlim()[0],\n", - " 1.3, # xmin, xmax\n", - " **redraw_axes_kwargs\n", - " )\n", - " rawdata_axes.set_ylim(og_ylim_raw)\n", - "\n", - " contrast_axes.hlines(\n", - " contrast_axes.get_ylim()[0],\n", - " contrast_xlim_max - 0.8,\n", - " contrast_xlim_max,\n", - " **redraw_axes_kwargs\n", - " )\n", + " Gardner_Altman_Plot_Aesthetic_Adjustments(effect_size_type=effect_size_type, \n", + " plot_data=plot_data, \n", + " xvar=xvar, \n", + " yvar=yvar, \n", + " current_control=current_control, \n", + " current_group=current_group,\n", + " rawdata_axes=rawdata_axes, \n", + " contrast_axes=contrast_axes, \n", + " results=results, \n", + " current_effsize=current_effsize, \n", + " is_paired=is_paired, \n", + " one_sankey=one_sankey,\n", + " reflines_kwargs=reflines_kwargs, \n", + " redraw_axes_kwargs=redraw_axes_kwargs, \n", + " swarm_ylim=swarm_ylim, \n", + " og_xlim_raw=og_xlim_raw,\n", + " og_ylim_raw=og_ylim_raw\n", + " )\n", "\n", " else:\n", " # For Cumming Plots only.\n", - "\n", - " # Set custom contrast_ylim, if it was specified.\n", - " if plot_kwargs[\"contrast_ylim\"] is not None or (\n", - " plot_kwargs[\"delta2_ylim\"] is not None and show_delta2\n", - " ):\n", - " if plot_kwargs[\"contrast_ylim\"] is not None:\n", - " custom_contrast_ylim = plot_kwargs[\"contrast_ylim\"]\n", - " if plot_kwargs[\"delta2_ylim\"] is not None and show_delta2:\n", - " custom_delta2_ylim = plot_kwargs[\"delta2_ylim\"]\n", - " if custom_contrast_ylim != custom_delta2_ylim:\n", - " err1 = \"Please check if `contrast_ylim` and `delta2_ylim` are assigned\"\n", - " err2 = \"with same values.\"\n", - " raise ValueError(err1 + err2)\n", - " else:\n", - " custom_delta2_ylim = plot_kwargs[\"delta2_ylim\"]\n", - " custom_contrast_ylim = custom_delta2_ylim\n", - "\n", - " if len(custom_contrast_ylim) != 2:\n", - " err1 = \"Please check `contrast_ylim` consists of \"\n", - " err2 = \"exactly two numbers.\"\n", - " raise ValueError(err1 + err2)\n", - "\n", - " if effect_size_type == \"cliffs_delta\":\n", - " # Ensure the ylims for a cliffs_delta plot never exceed [-1, 1].\n", - " l = plot_kwargs[\"contrast_ylim\"][0]\n", - " h = plot_kwargs[\"contrast_ylim\"][1]\n", - " low = -1 if l < -1 else l\n", - " high = 1 if h > 1 else h\n", - " contrast_axes.set_ylim(low, high)\n", - " else:\n", - " contrast_axes.set_ylim(custom_contrast_ylim)\n", - "\n", - " # If 0 lies within the ylim of the contrast axes,\n", - " # draw a zero reference line.\n", - " contrast_axes_ylim = contrast_axes.get_ylim()\n", - " if contrast_axes_ylim[0] < contrast_axes_ylim[1]:\n", - " contrast_ylim_low, contrast_ylim_high = contrast_axes_ylim\n", - " else:\n", - " contrast_ylim_high, contrast_ylim_low = contrast_axes_ylim\n", - " if contrast_ylim_low < 0 < contrast_ylim_high:\n", - " contrast_axes.axhline(y=0, **reflines_kwargs)\n", - "\n", - " if is_paired == \"baseline\" and show_pairs:\n", - " if two_col_sankey:\n", - " rightend_ticks_raw = np.array([len(i) - 2 for i in idx]) + np.array(\n", - " ticks_to_start_twocol_sankey\n", - " )\n", - " elif proportional and is_paired is not None:\n", - " rightend_ticks_raw = np.array([len(i) - 1 for i in idx]) + np.array(\n", - " ticks_to_skip\n", - " )\n", - " else:\n", - " rightend_ticks_raw = np.array(\n", - " [len(i) - 1 for i in temp_idx]\n", - " ) + np.array(ticks_to_skip)\n", - " for ax in [rawdata_axes]:\n", - " sns.despine(ax=ax, bottom=True)\n", - "\n", - " ylim = ax.get_ylim()\n", - " xlim = ax.get_xlim()\n", - " redraw_axes_kwargs[\"y\"] = ylim[0]\n", - "\n", - " if two_col_sankey:\n", - " for k, start_tick in enumerate(ticks_to_start_twocol_sankey):\n", - " end_tick = rightend_ticks_raw[k]\n", - " ax.hlines(xmin=start_tick, xmax=end_tick, **redraw_axes_kwargs)\n", - " else:\n", - " for k, start_tick in enumerate(ticks_to_skip):\n", - " end_tick = rightend_ticks_raw[k]\n", - " ax.hlines(xmin=start_tick, xmax=end_tick, **redraw_axes_kwargs)\n", - " ax.set_ylim(ylim)\n", - " del redraw_axes_kwargs[\"y\"]\n", - "\n", - " if not proportional:\n", - " temp_length = [(len(i) - 1) for i in idx]\n", - " else:\n", - " temp_length = [(len(i) - 1) * 2 - 1 for i in idx]\n", - " if two_col_sankey:\n", - " rightend_ticks_contrast = np.array(\n", - " [len(i) - 2 for i in idx]\n", - " ) + np.array(ticks_to_start_twocol_sankey)\n", - " elif proportional and is_paired is not None:\n", - " rightend_ticks_contrast = np.array(\n", - " [len(i) - 1 for i in idx]\n", - " ) + np.array(ticks_to_skip)\n", - " else:\n", - " rightend_ticks_contrast = np.array(temp_length) + np.array(\n", - " ticks_to_skip_contrast\n", - " )\n", - " for ax in [contrast_axes]:\n", - " sns.despine(ax=ax, bottom=True)\n", - "\n", - " ylim = ax.get_ylim()\n", - " xlim = ax.get_xlim()\n", - " redraw_axes_kwargs[\"y\"] = ylim[0]\n", - "\n", - " if two_col_sankey:\n", - " for k, start_tick in enumerate(ticks_to_start_twocol_sankey):\n", - " end_tick = rightend_ticks_contrast[k]\n", - " ax.hlines(xmin=start_tick, xmax=end_tick, **redraw_axes_kwargs)\n", - " else:\n", - " for k, start_tick in enumerate(ticks_to_skip_contrast):\n", - " end_tick = rightend_ticks_contrast[k]\n", - " ax.hlines(xmin=start_tick, xmax=end_tick, **redraw_axes_kwargs)\n", - "\n", - " ax.set_ylim(ylim)\n", - " del redraw_axes_kwargs[\"y\"]\n", - " else:\n", - " # Compute the end of each x-axes line.\n", - " if two_col_sankey:\n", - " rightend_ticks = np.array([len(i) - 2 for i in idx]) + np.array(\n", - " ticks_to_start_twocol_sankey\n", - " )\n", - " else:\n", - " rightend_ticks = np.array([len(i) - 1 for i in idx]) + np.array(\n", - " ticks_to_skip\n", - " )\n", - "\n", - " for ax in [rawdata_axes, contrast_axes]:\n", - " sns.despine(ax=ax, bottom=True)\n", - "\n", - " ylim = ax.get_ylim()\n", - " xlim = ax.get_xlim()\n", - " redraw_axes_kwargs[\"y\"] = ylim[0]\n", - "\n", - " if two_col_sankey:\n", - " for k, start_tick in enumerate(ticks_to_start_twocol_sankey):\n", - " end_tick = rightend_ticks[k]\n", - " ax.hlines(xmin=start_tick, xmax=end_tick, **redraw_axes_kwargs)\n", - " else:\n", - " for k, start_tick in enumerate(ticks_to_skip):\n", - " end_tick = rightend_ticks[k]\n", - " ax.hlines(xmin=start_tick, xmax=end_tick, **redraw_axes_kwargs)\n", - "\n", - " ax.set_ylim(ylim)\n", - " del redraw_axes_kwargs[\"y\"]\n", + " Cumming_Plot_Aesthetic_Adjustments(plot_kwargs=plot_kwargs, \n", + " show_delta2=show_delta2, \n", + " effect_size_type=effect_size_type, \n", + " contrast_axes=contrast_axes, \n", + " reflines_kwargs=reflines_kwargs, \n", + " is_paired=is_paired, \n", + " show_pairs=show_pairs, \n", + " two_col_sankey=two_col_sankey, \n", + " idx=idx, \n", + " ticks_to_start_twocol_sankey=ticks_to_start_twocol_sankey,\n", + " proportional=proportional, \n", + " ticks_to_skip=ticks_to_skip, \n", + " temp_idx=temp_idx if is_paired == \"baseline\" and show_pairs else None, \n", + " rawdata_axes=rawdata_axes, \n", + " redraw_axes_kwargs=redraw_axes_kwargs,\n", + " ticks_to_skip_contrast=ticks_to_skip_contrast,\n", + " )\n", + " \n", "\n", " if show_delta2 or show_mini_meta:\n", " ylim = contrast_axes.get_ylim()\n", From d91f28510b65b41c9aeec80a2f2bdca1f0aa6072 Mon Sep 17 00:00:00 2001 From: JAnns98 Date: Thu, 12 Sep 2024 17:30:41 +0800 Subject: [PATCH 34/42] Further trimming to plotter and created new function in misc_tools for general aesthetic changes, and then also altered the fig size for show pairs+paired plots+float_contrast --- dabest/_modidx.py | 2 + dabest/misc_tools.py | 114 +++++++++++++++++++++++++- dabest/plotter.py | 173 ++++++++++----------------------------- nbs/API/misc_tools.ipynb | 112 ++++++++++++++++++++++++- nbs/API/plotter.ipynb | 173 ++++++++++----------------------------- 5 files changed, 309 insertions(+), 265 deletions(-) diff --git a/dabest/_modidx.py b/dabest/_modidx.py index 951aa07d..24356d58 100644 --- a/dabest/_modidx.py +++ b/dabest/_modidx.py @@ -69,6 +69,8 @@ 'dabest/misc_tools.py'), 'dabest.misc_tools.Gardner_Altman_Plot_Aesthetic_Adjustments': ( 'API/misc_tools.html#gardner_altman_plot_aesthetic_adjustments', 'dabest/misc_tools.py'), + 'dabest.misc_tools.General_Plot_Aesthetic_Adjustments': ( 'API/misc_tools.html#general_plot_aesthetic_adjustments', + 'dabest/misc_tools.py'), 'dabest.misc_tools.add_counts_to_ticks': ( 'API/misc_tools.html#add_counts_to_ticks', 'dabest/misc_tools.py'), 'dabest.misc_tools.extract_contrast_plotting_ticks': ( 'API/misc_tools.html#extract_contrast_plotting_ticks', diff --git a/dabest/misc_tools.py b/dabest/misc_tools.py index 5b89a921..9f1fed1f 100644 --- a/dabest/misc_tools.py +++ b/dabest/misc_tools.py @@ -4,7 +4,7 @@ __all__ = ['merge_two_dicts', 'unpack_and_add', 'print_greeting', 'get_varname', 'get_params', 'get_kwargs', 'get_color_palette', 'initialize_fig', 'get_plot_groups', 'add_counts_to_ticks', 'extract_contrast_plotting_ticks', 'set_xaxis_ticks_and_lims', 'show_legend', 'Gardner_Altman_Plot_Aesthetic_Adjustments', - 'Cumming_Plot_Aesthetic_Adjustments'] + 'Cumming_Plot_Aesthetic_Adjustments', 'General_Plot_Aesthetic_Adjustments'] # %% ../nbs/API/misc_tools.ipynb 4 import datetime as dt @@ -389,7 +389,7 @@ def initialize_fig(plot_kwargs, dabest_obj, show_delta2, show_mini_meta, is_pair if show_delta2 or show_mini_meta: all_groups_count += 2 if is_paired and show_pairs and proportional is False: - frac = 0.75 + frac = 0.8 else: frac = 1 if float_contrast: @@ -617,7 +617,7 @@ def show_legend(legend_labels, legend_handles, rawdata_axes, contrast_axes, floa if float_contrast: axes_with_legend = contrast_axes if show_pairs: - bta = (1.75, 1.02) + bta = (2.00, 1.02) else: bta = (1.5, 1.02) else: @@ -934,4 +934,110 @@ def Cumming_Plot_Aesthetic_Adjustments(plot_kwargs, show_delta2, effect_size_typ ax.set_ylim(ylim) del redraw_axes_kwargs["y"] - ... + +def General_Plot_Aesthetic_Adjustments(show_delta2, show_mini_meta, contrast_axes, redraw_axes_kwargs, plot_kwargs, + yvar, effect_size_type, proportional, effectsize_df, is_paired, float_contrast, + rawdata_axes, og_ylim_raw, effect_size): + + if show_delta2 or show_mini_meta: + ylim = contrast_axes.get_ylim() + redraw_axes_kwargs["y"] = ylim[0] + x_ticks = contrast_axes.get_xticks() + contrast_axes.hlines(xmin=x_ticks[-2], xmax=x_ticks[-1], **redraw_axes_kwargs) + del redraw_axes_kwargs["y"] + + # Set raw axes y-label. + swarm_label = plot_kwargs["swarm_label"] + if swarm_label is None and yvar is None: + swarm_label = "value" + elif swarm_label is None and yvar is not None: + swarm_label = yvar + + bar_label = plot_kwargs["bar_label"] + if bar_label is None and effect_size_type != "cohens_h": + bar_label = "proportion of success" + elif bar_label is None and effect_size_type == "cohens_h": + bar_label = "value" + + # Place contrast axes y-label. + contrast_label_dict = { + "mean_diff": "mean difference", + "median_diff": "median difference", + "cohens_d": "Cohen's d", + "hedges_g": "Hedges' g", + "cliffs_delta": "Cliff's delta", + "cohens_h": "Cohen's h", + "delta_g": "mean difference", + } + + if proportional and effect_size_type != "cohens_h": + default_contrast_label = "proportion difference" + elif effect_size_type == "delta_g": + default_contrast_label = "Hedges' g" + else: + default_contrast_label = contrast_label_dict[effectsize_df.effect_size] + + if plot_kwargs["contrast_label"] is None: + if is_paired: + contrast_label = "paired\n{}".format(default_contrast_label) + else: + contrast_label = default_contrast_label + contrast_label = contrast_label.capitalize() + else: + contrast_label = plot_kwargs["contrast_label"] + + if plot_kwargs["fontsize_rawylabel"] is not None: + fontsize_rawylabel = plot_kwargs["fontsize_rawylabel"] + if plot_kwargs["fontsize_contrastylabel"] is not None: + fontsize_contrastylabel = plot_kwargs["fontsize_contrastylabel"] + if plot_kwargs["fontsize_delta2label"] is not None: + fontsize_delta2label = plot_kwargs["fontsize_delta2label"] + + contrast_axes.set_ylabel(contrast_label, fontsize=fontsize_contrastylabel) + if float_contrast: + contrast_axes.yaxis.set_label_position("right") + + # Set the rawdata axes labels appropriately + if not proportional: + rawdata_axes.set_ylabel(swarm_label, fontsize=fontsize_rawylabel) + else: + rawdata_axes.set_ylabel(bar_label, fontsize=fontsize_rawylabel) + rawdata_axes.set_xlabel("") + + # Because we turned the axes frame off, we also need to draw back + # the y-spine for both axes. + if not float_contrast: + rawdata_axes.set_xlim(contrast_axes.get_xlim()) + og_xlim_raw = rawdata_axes.get_xlim() + rawdata_axes.vlines( + og_xlim_raw[0], og_ylim_raw[0], og_ylim_raw[1], **redraw_axes_kwargs + ) + + og_xlim_contrast = contrast_axes.get_xlim() + + if float_contrast: + xpos = og_xlim_contrast[1] + else: + xpos = og_xlim_contrast[0] + + og_ylim_contrast = contrast_axes.get_ylim() + contrast_axes.vlines( + xpos, og_ylim_contrast[0], og_ylim_contrast[1], **redraw_axes_kwargs + ) + + if show_delta2: + if plot_kwargs["delta2_label"] is not None: + delta2_label = plot_kwargs["delta2_label"] + elif effect_size == "mean_diff": + delta2_label = "delta - delta" + else: + delta2_label = "deltas' g" + delta2_axes = contrast_axes.twinx() + delta2_axes.set_frame_on(False) + delta2_axes.set_ylabel(delta2_label, fontsize=fontsize_delta2label) + og_xlim_delta = contrast_axes.get_xlim() + og_ylim_delta = contrast_axes.get_ylim() + delta2_axes.set_ylim(og_ylim_delta) + delta2_axes.vlines( + og_xlim_delta[1], og_ylim_delta[0], og_ylim_delta[1], **redraw_axes_kwargs + ) diff --git a/dabest/plotter.py b/dabest/plotter.py index 188c2b78..4ae9944a 100644 --- a/dabest/plotter.py +++ b/dabest/plotter.py @@ -70,6 +70,7 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): show_legend, Gardner_Altman_Plot_Aesthetic_Adjustments, Cumming_Plot_Aesthetic_Adjustments, + General_Plot_Aesthetic_Adjustments, ) from .plot_tools import ( get_swarm_spans, @@ -138,7 +139,8 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): plot_palette_bar, plot_palette_contrast, plot_palette_sankey) = get_color_palette(plot_kwargs=plot_kwargs, plot_data=plot_data, xvar=xvar, - show_pairs=show_pairs) + show_pairs=show_pairs + ) # Initialise the figure. fig, rawdata_axes, contrast_axes, swarm_ylim = initialize_fig(plot_kwargs=plot_kwargs, @@ -300,13 +302,6 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): plot_kwargs=plot_kwargs ) - # Save the handles and labels for the legend. - handles, labels = rawdata_axes.get_legend_handles_labels() - legend_labels = [l for l in labels] - legend_handles = [h for h in handles] - if bootstraps_color_by_group is False: - rawdata_axes.legend().set_visible(False) - # Enforce the xtick of rawdata_axes to be 0 and 1 after drawing only one sankey ----> Redundant code if one_sankey: rawdata_axes.set_xticks([0, 1]) @@ -373,6 +368,12 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): plot_kwargs=plot_kwargs, ) # Legend + handles, labels = rawdata_axes.get_legend_handles_labels() + legend_labels = [l for l in labels] + legend_handles = [h for h in handles] + if bootstraps_color_by_group is False: + rawdata_axes.legend().set_visible(False) + if bootstraps_color_by_group is False: show_legend(legend_labels=legend_labels, legend_handles=legend_handles, @@ -383,29 +384,30 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): legend_kwargs=legend_kwargs ) + # Plot aesthetic adjustments. og_ylim_raw = rawdata_axes.get_ylim() og_xlim_raw = rawdata_axes.get_xlim() if float_contrast: # For Gardner-Altman plots only. Gardner_Altman_Plot_Aesthetic_Adjustments(effect_size_type=effect_size_type, - plot_data=plot_data, - xvar=xvar, - yvar=yvar, - current_control=current_control, - current_group=current_group, - rawdata_axes=rawdata_axes, - contrast_axes=contrast_axes, - results=results, - current_effsize=current_effsize, - is_paired=is_paired, - one_sankey=one_sankey, - reflines_kwargs=reflines_kwargs, - redraw_axes_kwargs=redraw_axes_kwargs, - swarm_ylim=swarm_ylim, - og_xlim_raw=og_xlim_raw, - og_ylim_raw=og_ylim_raw - ) + plot_data=plot_data, + xvar=xvar, + yvar=yvar, + current_control=current_control, + current_group=current_group, + rawdata_axes=rawdata_axes, + contrast_axes=contrast_axes, + results=results, + current_effsize=current_effsize, + is_paired=is_paired, + one_sankey=one_sankey, + reflines_kwargs=reflines_kwargs, + redraw_axes_kwargs=redraw_axes_kwargs, + swarm_ylim=swarm_ylim, + og_xlim_raw=og_xlim_raw, + og_ylim_raw=og_ylim_raw, + ) else: # For Cumming Plots only. @@ -426,110 +428,23 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): redraw_axes_kwargs=redraw_axes_kwargs, ticks_to_skip_contrast=ticks_to_skip_contrast, ) - - - if show_delta2 or show_mini_meta: - ylim = contrast_axes.get_ylim() - redraw_axes_kwargs["y"] = ylim[0] - x_ticks = contrast_axes.get_xticks() - contrast_axes.hlines(xmin=x_ticks[-2], xmax=x_ticks[-1], **redraw_axes_kwargs) - del redraw_axes_kwargs["y"] - - # Set raw axes y-label. - swarm_label = plot_kwargs["swarm_label"] - if swarm_label is None and yvar is None: - swarm_label = "value" - elif swarm_label is None and yvar is not None: - swarm_label = yvar - - bar_label = plot_kwargs["bar_label"] - if bar_label is None and effect_size_type != "cohens_h": - bar_label = "proportion of success" - elif bar_label is None and effect_size_type == "cohens_h": - bar_label = "value" - - # Place contrast axes y-label. - contrast_label_dict = { - "mean_diff": "mean difference", - "median_diff": "median difference", - "cohens_d": "Cohen's d", - "hedges_g": "Hedges' g", - "cliffs_delta": "Cliff's delta", - "cohens_h": "Cohen's h", - "delta_g": "mean difference", - } - - if proportional and effect_size_type != "cohens_h": - default_contrast_label = "proportion difference" - elif effect_size_type == "delta_g": - default_contrast_label = "Hedges' g" - else: - default_contrast_label = contrast_label_dict[effectsize_df.effect_size] - - if plot_kwargs["contrast_label"] is None: - if is_paired: - contrast_label = "paired\n{}".format(default_contrast_label) - else: - contrast_label = default_contrast_label - contrast_label = contrast_label.capitalize() - else: - contrast_label = plot_kwargs["contrast_label"] - - if plot_kwargs["fontsize_rawylabel"] is not None: - fontsize_rawylabel = plot_kwargs["fontsize_rawylabel"] - if plot_kwargs["fontsize_contrastylabel"] is not None: - fontsize_contrastylabel = plot_kwargs["fontsize_contrastylabel"] - if plot_kwargs["fontsize_delta2label"] is not None: - fontsize_delta2label = plot_kwargs["fontsize_delta2label"] - - contrast_axes.set_ylabel(contrast_label, fontsize=fontsize_contrastylabel) - if float_contrast: - contrast_axes.yaxis.set_label_position("right") - - # Set the rawdata axes labels appropriately - if not proportional: - rawdata_axes.set_ylabel(swarm_label, fontsize=fontsize_rawylabel) - else: - rawdata_axes.set_ylabel(bar_label, fontsize=fontsize_rawylabel) - rawdata_axes.set_xlabel("") - - # Because we turned the axes frame off, we also need to draw back - # the y-spine for both axes. - if not float_contrast: - rawdata_axes.set_xlim(contrast_axes.get_xlim()) - og_xlim_raw = rawdata_axes.get_xlim() - rawdata_axes.vlines( - og_xlim_raw[0], og_ylim_raw[0], og_ylim_raw[1], **redraw_axes_kwargs - ) - - og_xlim_contrast = contrast_axes.get_xlim() - - if float_contrast: - xpos = og_xlim_contrast[1] - else: - xpos = og_xlim_contrast[0] - - og_ylim_contrast = contrast_axes.get_ylim() - contrast_axes.vlines( - xpos, og_ylim_contrast[0], og_ylim_contrast[1], **redraw_axes_kwargs - ) - - if show_delta2: - if plot_kwargs["delta2_label"] is not None: - delta2_label = plot_kwargs["delta2_label"] - elif effect_size == "mean_diff": - delta2_label = "delta - delta" - else: - delta2_label = "deltas' g" - delta2_axes = contrast_axes.twinx() - delta2_axes.set_frame_on(False) - delta2_axes.set_ylabel(delta2_label, fontsize=fontsize_delta2label) - og_xlim_delta = contrast_axes.get_xlim() - og_ylim_delta = contrast_axes.get_ylim() - delta2_axes.set_ylim(og_ylim_delta) - delta2_axes.vlines( - og_xlim_delta[1], og_ylim_delta[0], og_ylim_delta[1], **redraw_axes_kwargs - ) + + # General plotting changes + General_Plot_Aesthetic_Adjustments(show_delta2=show_delta2, + show_mini_meta=show_mini_meta, + contrast_axes=contrast_axes, + redraw_axes_kwargs=redraw_axes_kwargs, + plot_kwargs=plot_kwargs, + yvar=yvar, + effect_size_type=effect_size_type, + proportional=proportional, + effectsize_df=effectsize_df, + is_paired=is_paired, + float_contrast=float_contrast, + rawdata_axes=rawdata_axes, + og_ylim_raw=og_ylim_raw, + effect_size=effect_size, + ) ################################################### GRIDKEY WIP # if gridkey_rows is None, skip everything here diff --git a/nbs/API/misc_tools.ipynb b/nbs/API/misc_tools.ipynb index 30040ee9..d8d9c2fa 100644 --- a/nbs/API/misc_tools.ipynb +++ b/nbs/API/misc_tools.ipynb @@ -444,7 +444,7 @@ " if show_delta2 or show_mini_meta:\n", " all_groups_count += 2\n", " if is_paired and show_pairs and proportional is False:\n", - " frac = 0.75\n", + " frac = 0.8\n", " else:\n", " frac = 1\n", " if float_contrast:\n", @@ -672,7 +672,7 @@ " if float_contrast:\n", " axes_with_legend = contrast_axes\n", " if show_pairs:\n", - " bta = (1.75, 1.02)\n", + " bta = (2.00, 1.02)\n", " else:\n", " bta = (1.5, 1.02)\n", " else:\n", @@ -989,7 +989,113 @@ "\n", " ax.set_ylim(ylim)\n", " del redraw_axes_kwargs[\"y\"]\n", - " ..." + "\n", + "def General_Plot_Aesthetic_Adjustments(show_delta2, show_mini_meta, contrast_axes, redraw_axes_kwargs, plot_kwargs,\n", + " yvar, effect_size_type, proportional, effectsize_df, is_paired, float_contrast,\n", + " rawdata_axes, og_ylim_raw, effect_size):\n", + "\n", + " if show_delta2 or show_mini_meta:\n", + " ylim = contrast_axes.get_ylim()\n", + " redraw_axes_kwargs[\"y\"] = ylim[0]\n", + " x_ticks = contrast_axes.get_xticks()\n", + " contrast_axes.hlines(xmin=x_ticks[-2], xmax=x_ticks[-1], **redraw_axes_kwargs)\n", + " del redraw_axes_kwargs[\"y\"]\n", + "\n", + " # Set raw axes y-label.\n", + " swarm_label = plot_kwargs[\"swarm_label\"]\n", + " if swarm_label is None and yvar is None:\n", + " swarm_label = \"value\"\n", + " elif swarm_label is None and yvar is not None:\n", + " swarm_label = yvar\n", + "\n", + " bar_label = plot_kwargs[\"bar_label\"]\n", + " if bar_label is None and effect_size_type != \"cohens_h\":\n", + " bar_label = \"proportion of success\"\n", + " elif bar_label is None and effect_size_type == \"cohens_h\":\n", + " bar_label = \"value\"\n", + "\n", + " # Place contrast axes y-label.\n", + " contrast_label_dict = {\n", + " \"mean_diff\": \"mean difference\",\n", + " \"median_diff\": \"median difference\",\n", + " \"cohens_d\": \"Cohen's d\",\n", + " \"hedges_g\": \"Hedges' g\",\n", + " \"cliffs_delta\": \"Cliff's delta\",\n", + " \"cohens_h\": \"Cohen's h\",\n", + " \"delta_g\": \"mean difference\",\n", + " }\n", + "\n", + " if proportional and effect_size_type != \"cohens_h\":\n", + " default_contrast_label = \"proportion difference\"\n", + " elif effect_size_type == \"delta_g\":\n", + " default_contrast_label = \"Hedges' g\"\n", + " else:\n", + " default_contrast_label = contrast_label_dict[effectsize_df.effect_size]\n", + "\n", + " if plot_kwargs[\"contrast_label\"] is None:\n", + " if is_paired:\n", + " contrast_label = \"paired\\n{}\".format(default_contrast_label)\n", + " else:\n", + " contrast_label = default_contrast_label\n", + " contrast_label = contrast_label.capitalize()\n", + " else:\n", + " contrast_label = plot_kwargs[\"contrast_label\"]\n", + "\n", + " if plot_kwargs[\"fontsize_rawylabel\"] is not None:\n", + " fontsize_rawylabel = plot_kwargs[\"fontsize_rawylabel\"]\n", + " if plot_kwargs[\"fontsize_contrastylabel\"] is not None:\n", + " fontsize_contrastylabel = plot_kwargs[\"fontsize_contrastylabel\"]\n", + " if plot_kwargs[\"fontsize_delta2label\"] is not None:\n", + " fontsize_delta2label = plot_kwargs[\"fontsize_delta2label\"]\n", + "\n", + " contrast_axes.set_ylabel(contrast_label, fontsize=fontsize_contrastylabel)\n", + " if float_contrast:\n", + " contrast_axes.yaxis.set_label_position(\"right\")\n", + "\n", + " # Set the rawdata axes labels appropriately\n", + " if not proportional:\n", + " rawdata_axes.set_ylabel(swarm_label, fontsize=fontsize_rawylabel)\n", + " else:\n", + " rawdata_axes.set_ylabel(bar_label, fontsize=fontsize_rawylabel)\n", + " rawdata_axes.set_xlabel(\"\")\n", + "\n", + " # Because we turned the axes frame off, we also need to draw back\n", + " # the y-spine for both axes.\n", + " if not float_contrast:\n", + " rawdata_axes.set_xlim(contrast_axes.get_xlim())\n", + " og_xlim_raw = rawdata_axes.get_xlim()\n", + " rawdata_axes.vlines(\n", + " og_xlim_raw[0], og_ylim_raw[0], og_ylim_raw[1], **redraw_axes_kwargs\n", + " )\n", + "\n", + " og_xlim_contrast = contrast_axes.get_xlim()\n", + "\n", + " if float_contrast:\n", + " xpos = og_xlim_contrast[1]\n", + " else:\n", + " xpos = og_xlim_contrast[0]\n", + "\n", + " og_ylim_contrast = contrast_axes.get_ylim()\n", + " contrast_axes.vlines(\n", + " xpos, og_ylim_contrast[0], og_ylim_contrast[1], **redraw_axes_kwargs\n", + " )\n", + "\n", + " if show_delta2:\n", + " if plot_kwargs[\"delta2_label\"] is not None:\n", + " delta2_label = plot_kwargs[\"delta2_label\"]\n", + " elif effect_size == \"mean_diff\":\n", + " delta2_label = \"delta - delta\"\n", + " else:\n", + " delta2_label = \"deltas' g\"\n", + " delta2_axes = contrast_axes.twinx()\n", + " delta2_axes.set_frame_on(False)\n", + " delta2_axes.set_ylabel(delta2_label, fontsize=fontsize_delta2label)\n", + " og_xlim_delta = contrast_axes.get_xlim()\n", + " og_ylim_delta = contrast_axes.get_ylim()\n", + " delta2_axes.set_ylim(og_ylim_delta)\n", + " delta2_axes.vlines(\n", + " og_xlim_delta[1], og_ylim_delta[0], og_ylim_delta[1], **redraw_axes_kwargs\n", + " )" ] } ], diff --git a/nbs/API/plotter.ipynb b/nbs/API/plotter.ipynb index 15ecac76..334a2746 100644 --- a/nbs/API/plotter.ipynb +++ b/nbs/API/plotter.ipynb @@ -129,6 +129,7 @@ " show_legend,\n", " Gardner_Altman_Plot_Aesthetic_Adjustments,\n", " Cumming_Plot_Aesthetic_Adjustments,\n", + " General_Plot_Aesthetic_Adjustments,\n", " )\n", " from .plot_tools import (\n", " get_swarm_spans,\n", @@ -197,7 +198,8 @@ " plot_palette_bar, plot_palette_contrast, plot_palette_sankey) = get_color_palette(plot_kwargs=plot_kwargs, \n", " plot_data=plot_data, \n", " xvar=xvar, \n", - " show_pairs=show_pairs)\n", + " show_pairs=show_pairs\n", + " )\n", "\n", " # Initialise the figure.\n", " fig, rawdata_axes, contrast_axes, swarm_ylim = initialize_fig(plot_kwargs=plot_kwargs, \n", @@ -359,13 +361,6 @@ " plot_kwargs=plot_kwargs\n", " )\n", "\n", - " # Save the handles and labels for the legend.\n", - " handles, labels = rawdata_axes.get_legend_handles_labels()\n", - " legend_labels = [l for l in labels]\n", - " legend_handles = [h for h in handles]\n", - " if bootstraps_color_by_group is False:\n", - " rawdata_axes.legend().set_visible(False)\n", - "\n", " # Enforce the xtick of rawdata_axes to be 0 and 1 after drawing only one sankey ----> Redundant code\n", " if one_sankey:\n", " rawdata_axes.set_xticks([0, 1])\n", @@ -432,6 +427,12 @@ " plot_kwargs=plot_kwargs,\n", " )\n", " # Legend\n", + " handles, labels = rawdata_axes.get_legend_handles_labels()\n", + " legend_labels = [l for l in labels]\n", + " legend_handles = [h for h in handles]\n", + " if bootstraps_color_by_group is False:\n", + " rawdata_axes.legend().set_visible(False)\n", + "\n", " if bootstraps_color_by_group is False:\n", " show_legend(legend_labels=legend_labels, \n", " legend_handles=legend_handles, \n", @@ -442,29 +443,30 @@ " legend_kwargs=legend_kwargs\n", " )\n", "\n", + " # Plot aesthetic adjustments.\n", " og_ylim_raw = rawdata_axes.get_ylim()\n", " og_xlim_raw = rawdata_axes.get_xlim()\n", "\n", " if float_contrast:\n", " # For Gardner-Altman plots only.\n", " Gardner_Altman_Plot_Aesthetic_Adjustments(effect_size_type=effect_size_type, \n", - " plot_data=plot_data, \n", - " xvar=xvar, \n", - " yvar=yvar, \n", - " current_control=current_control, \n", - " current_group=current_group,\n", - " rawdata_axes=rawdata_axes, \n", - " contrast_axes=contrast_axes, \n", - " results=results, \n", - " current_effsize=current_effsize, \n", - " is_paired=is_paired, \n", - " one_sankey=one_sankey,\n", - " reflines_kwargs=reflines_kwargs, \n", - " redraw_axes_kwargs=redraw_axes_kwargs, \n", - " swarm_ylim=swarm_ylim, \n", - " og_xlim_raw=og_xlim_raw,\n", - " og_ylim_raw=og_ylim_raw\n", - " )\n", + " plot_data=plot_data, \n", + " xvar=xvar, \n", + " yvar=yvar, \n", + " current_control=current_control, \n", + " current_group=current_group,\n", + " rawdata_axes=rawdata_axes, \n", + " contrast_axes=contrast_axes, \n", + " results=results, \n", + " current_effsize=current_effsize, \n", + " is_paired=is_paired, \n", + " one_sankey=one_sankey,\n", + " reflines_kwargs=reflines_kwargs, \n", + " redraw_axes_kwargs=redraw_axes_kwargs, \n", + " swarm_ylim=swarm_ylim, \n", + " og_xlim_raw=og_xlim_raw,\n", + " og_ylim_raw=og_ylim_raw,\n", + " )\n", "\n", " else:\n", " # For Cumming Plots only.\n", @@ -485,110 +487,23 @@ " redraw_axes_kwargs=redraw_axes_kwargs,\n", " ticks_to_skip_contrast=ticks_to_skip_contrast,\n", " )\n", - " \n", - "\n", - " if show_delta2 or show_mini_meta:\n", - " ylim = contrast_axes.get_ylim()\n", - " redraw_axes_kwargs[\"y\"] = ylim[0]\n", - " x_ticks = contrast_axes.get_xticks()\n", - " contrast_axes.hlines(xmin=x_ticks[-2], xmax=x_ticks[-1], **redraw_axes_kwargs)\n", - " del redraw_axes_kwargs[\"y\"]\n", - "\n", - " # Set raw axes y-label.\n", - " swarm_label = plot_kwargs[\"swarm_label\"]\n", - " if swarm_label is None and yvar is None:\n", - " swarm_label = \"value\"\n", - " elif swarm_label is None and yvar is not None:\n", - " swarm_label = yvar\n", - "\n", - " bar_label = plot_kwargs[\"bar_label\"]\n", - " if bar_label is None and effect_size_type != \"cohens_h\":\n", - " bar_label = \"proportion of success\"\n", - " elif bar_label is None and effect_size_type == \"cohens_h\":\n", - " bar_label = \"value\"\n", - "\n", - " # Place contrast axes y-label.\n", - " contrast_label_dict = {\n", - " \"mean_diff\": \"mean difference\",\n", - " \"median_diff\": \"median difference\",\n", - " \"cohens_d\": \"Cohen's d\",\n", - " \"hedges_g\": \"Hedges' g\",\n", - " \"cliffs_delta\": \"Cliff's delta\",\n", - " \"cohens_h\": \"Cohen's h\",\n", - " \"delta_g\": \"mean difference\",\n", - " }\n", - "\n", - " if proportional and effect_size_type != \"cohens_h\":\n", - " default_contrast_label = \"proportion difference\"\n", - " elif effect_size_type == \"delta_g\":\n", - " default_contrast_label = \"Hedges' g\"\n", - " else:\n", - " default_contrast_label = contrast_label_dict[effectsize_df.effect_size]\n", - "\n", - " if plot_kwargs[\"contrast_label\"] is None:\n", - " if is_paired:\n", - " contrast_label = \"paired\\n{}\".format(default_contrast_label)\n", - " else:\n", - " contrast_label = default_contrast_label\n", - " contrast_label = contrast_label.capitalize()\n", - " else:\n", - " contrast_label = plot_kwargs[\"contrast_label\"]\n", - "\n", - " if plot_kwargs[\"fontsize_rawylabel\"] is not None:\n", - " fontsize_rawylabel = plot_kwargs[\"fontsize_rawylabel\"]\n", - " if plot_kwargs[\"fontsize_contrastylabel\"] is not None:\n", - " fontsize_contrastylabel = plot_kwargs[\"fontsize_contrastylabel\"]\n", - " if plot_kwargs[\"fontsize_delta2label\"] is not None:\n", - " fontsize_delta2label = plot_kwargs[\"fontsize_delta2label\"]\n", - "\n", - " contrast_axes.set_ylabel(contrast_label, fontsize=fontsize_contrastylabel)\n", - " if float_contrast:\n", - " contrast_axes.yaxis.set_label_position(\"right\")\n", - "\n", - " # Set the rawdata axes labels appropriately\n", - " if not proportional:\n", - " rawdata_axes.set_ylabel(swarm_label, fontsize=fontsize_rawylabel)\n", - " else:\n", - " rawdata_axes.set_ylabel(bar_label, fontsize=fontsize_rawylabel)\n", - " rawdata_axes.set_xlabel(\"\")\n", - "\n", - " # Because we turned the axes frame off, we also need to draw back\n", - " # the y-spine for both axes.\n", - " if not float_contrast:\n", - " rawdata_axes.set_xlim(contrast_axes.get_xlim())\n", - " og_xlim_raw = rawdata_axes.get_xlim()\n", - " rawdata_axes.vlines(\n", - " og_xlim_raw[0], og_ylim_raw[0], og_ylim_raw[1], **redraw_axes_kwargs\n", - " )\n", - "\n", - " og_xlim_contrast = contrast_axes.get_xlim()\n", - "\n", - " if float_contrast:\n", - " xpos = og_xlim_contrast[1]\n", - " else:\n", - " xpos = og_xlim_contrast[0]\n", - "\n", - " og_ylim_contrast = contrast_axes.get_ylim()\n", - " contrast_axes.vlines(\n", - " xpos, og_ylim_contrast[0], og_ylim_contrast[1], **redraw_axes_kwargs\n", - " )\n", - "\n", - " if show_delta2:\n", - " if plot_kwargs[\"delta2_label\"] is not None:\n", - " delta2_label = plot_kwargs[\"delta2_label\"]\n", - " elif effect_size == \"mean_diff\":\n", - " delta2_label = \"delta - delta\"\n", - " else:\n", - " delta2_label = \"deltas' g\"\n", - " delta2_axes = contrast_axes.twinx()\n", - " delta2_axes.set_frame_on(False)\n", - " delta2_axes.set_ylabel(delta2_label, fontsize=fontsize_delta2label)\n", - " og_xlim_delta = contrast_axes.get_xlim()\n", - " og_ylim_delta = contrast_axes.get_ylim()\n", - " delta2_axes.set_ylim(og_ylim_delta)\n", - " delta2_axes.vlines(\n", - " og_xlim_delta[1], og_ylim_delta[0], og_ylim_delta[1], **redraw_axes_kwargs\n", - " )\n", + " \n", + " # General plotting changes\n", + " General_Plot_Aesthetic_Adjustments(show_delta2=show_delta2, \n", + " show_mini_meta=show_mini_meta, \n", + " contrast_axes=contrast_axes, \n", + " redraw_axes_kwargs=redraw_axes_kwargs, \n", + " plot_kwargs=plot_kwargs,\n", + " yvar=yvar, \n", + " effect_size_type=effect_size_type, \n", + " proportional=proportional, \n", + " effectsize_df=effectsize_df, \n", + " is_paired=is_paired, \n", + " float_contrast=float_contrast,\n", + " rawdata_axes=rawdata_axes, \n", + " og_ylim_raw=og_ylim_raw, \n", + " effect_size=effect_size,\n", + " )\n", "\n", " ################################################### GRIDKEY WIP\n", " # if gridkey_rows is None, skip everything here\n", From d3196444aed19f33678dd642d4bc3f4b12ffefa7 Mon Sep 17 00:00:00 2001 From: JAnns98 Date: Thu, 12 Sep 2024 18:17:06 +0800 Subject: [PATCH 35/42] removed unnecessary imports --- dabest/plotter.py | 4 ---- nbs/API/plotter.ipynb | 4 ---- 2 files changed, 8 deletions(-) diff --git a/dabest/plotter.py b/dabest/plotter.py index 4ae9944a..583d5bf1 100644 --- a/dabest/plotter.py +++ b/dabest/plotter.py @@ -88,10 +88,6 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): grid_key_WIP, barplotter, ) - from ._stats_tools.effsize import ( - _compute_standardizers, - _compute_hedges_correction_factor, - ) warnings.filterwarnings( "ignore", "This figure includes Axes that are not compatible with tight_layout" diff --git a/nbs/API/plotter.ipynb b/nbs/API/plotter.ipynb index 334a2746..1eb6a122 100644 --- a/nbs/API/plotter.ipynb +++ b/nbs/API/plotter.ipynb @@ -147,10 +147,6 @@ " grid_key_WIP,\n", " barplotter,\n", " )\n", - " from ._stats_tools.effsize import (\n", - " _compute_standardizers,\n", - " _compute_hedges_correction_factor,\n", - " )\n", "\n", " warnings.filterwarnings(\n", " \"ignore\", \"This figure includes Axes that are not compatible with tight_layout\"\n", From 6f59874a03d4d45ad21d4e107892da07dc8f8af4 Mon Sep 17 00:00:00 2001 From: JAnns98 Date: Thu, 12 Sep 2024 18:28:07 +0800 Subject: [PATCH 36/42] formatting changes --- dabest/plotter.py | 491 ++++++++++++++++++++++-------------------- nbs/API/plotter.ipynb | 491 ++++++++++++++++++++++-------------------- 2 files changed, 520 insertions(+), 462 deletions(-) diff --git a/dabest/plotter.py b/dabest/plotter.py index 583d5bf1..5eb8102c 100644 --- a/dabest/plotter.py +++ b/dabest/plotter.py @@ -109,13 +109,17 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): # Extract parameters and set kwargs (face_color, dabest_obj, plot_data, xvar, yvar, is_paired, effect_size, proportional, all_plot_groups, idx, show_delta2, show_mini_meta, - float_contrast, show_pairs, effect_size_type, group_summaries, err_color) = get_params(effectsize_df=effectsize_df, - plot_kwargs=plot_kwargs) + float_contrast, show_pairs, effect_size_type, group_summaries, err_color) = get_params( + effectsize_df=effectsize_df, + plot_kwargs=plot_kwargs + ) (swarmplot_kwargs, barplot_kwargs, sankey_kwargs, violinplot_kwargs, slopegraph_kwargs, reflines_kwargs, legend_kwargs, group_summary_kwargs, redraw_axes_kwargs, - delta_dot_kwargs, delta_text_kwargs, summary_bars_kwargs, swarm_bars_kwargs, contrast_bars_kwargs) = get_kwargs(plot_kwargs=plot_kwargs, - ytick_color=ytick_color) + delta_dot_kwargs, delta_text_kwargs, summary_bars_kwargs, swarm_bars_kwargs, contrast_bars_kwargs) = get_kwargs( + plot_kwargs=plot_kwargs, + ytick_color=ytick_color + ) # We also need to extract the `sankey` and `flow` from the kwargs for plotter.py # to use for varying different kinds of paired proportional plots @@ -132,56 +136,65 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): # Extract Color palette (color_col, bootstraps_color_by_group, n_groups, swarm_colors, plot_palette_raw, bar_color, - plot_palette_bar, plot_palette_contrast, plot_palette_sankey) = get_color_palette(plot_kwargs=plot_kwargs, - plot_data=plot_data, - xvar=xvar, - show_pairs=show_pairs - ) + plot_palette_bar, plot_palette_contrast, plot_palette_sankey) = get_color_palette( + plot_kwargs=plot_kwargs, + plot_data=plot_data, + xvar=xvar, + show_pairs=show_pairs + ) # Initialise the figure. - fig, rawdata_axes, contrast_axes, swarm_ylim = initialize_fig(plot_kwargs=plot_kwargs, - dabest_obj=dabest_obj, - show_delta2=show_delta2, - show_mini_meta=show_mini_meta, - is_paired=is_paired, - show_pairs=show_pairs, - proportional=proportional, - float_contrast=float_contrast, - face_color=face_color, - ) + fig, rawdata_axes, contrast_axes, swarm_ylim = initialize_fig( + plot_kwargs=plot_kwargs, + dabest_obj=dabest_obj, + show_delta2=show_delta2, + show_mini_meta=show_mini_meta, + is_paired=is_paired, + show_pairs=show_pairs, + proportional=proportional, + float_contrast=float_contrast, + face_color=face_color, + ) # Plotting the rawdata. if show_pairs: - temp_idx, temp_all_plot_groups = get_plot_groups(is_paired=is_paired, idx=idx, proportional=proportional, all_plot_groups=all_plot_groups) + temp_idx, temp_all_plot_groups = get_plot_groups( + is_paired=is_paired, + idx=idx, + proportional=proportional, + all_plot_groups=all_plot_groups + ) if not proportional: # Plot the raw data as a slopegraph. - slopegraph_plotter(dabest_obj=dabest_obj, - plot_data=plot_data, - xvar=xvar, - yvar=yvar, - color_col=color_col, - plot_palette_raw=plot_palette_raw, - slopegraph_kwargs=slopegraph_kwargs, - rawdata_axes=rawdata_axes, - ytick_color=ytick_color, - temp_idx=temp_idx - ) + slopegraph_plotter( + dabest_obj=dabest_obj, + plot_data=plot_data, + xvar=xvar, + yvar=yvar, + color_col=color_col, + plot_palette_raw=plot_palette_raw, + slopegraph_kwargs=slopegraph_kwargs, + rawdata_axes=rawdata_axes, + ytick_color=ytick_color, + temp_idx=temp_idx + ) # DELTA PTS ON CONTRAST PLOT WIP show_delta_dots = plot_kwargs["delta_dot"] if show_delta_dots and is_paired is not None: - DeltaDotsPlotter(plot_data=plot_data, - contrast_axes=contrast_axes, - delta_id_col=dabest_obj.id_col, - idx=idx, - xvar=xvar, - yvar=yvar, - is_paired=is_paired, - color_col=color_col, - float_contrast=float_contrast, - plot_palette_raw=plot_palette_raw, - delta_dot_kwargs=delta_dot_kwargs - ) + DeltaDotsPlotter( + plot_data=plot_data, + contrast_axes=contrast_axes, + delta_id_col=dabest_obj.id_col, + idx=idx, + xvar=xvar, + yvar=yvar, + is_paired=is_paired, + color_col=color_col, + float_contrast=float_contrast, + plot_palette_raw=plot_palette_raw, + delta_dot_kwargs=delta_dot_kwargs + ) # Set the tick labels, because the slopegraph plotting doesn't. rawdata_axes.set_xticks(np.arange(0, len(temp_all_plot_groups))) @@ -190,16 +203,16 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): else: # Plot the raw data as a set of Sankey Diagrams aligned like barplot. sankey_control_group, sankey_test_group = sankeydiag( - plot_data, - xvar=xvar, - yvar=yvar, - temp_all_plot_groups=temp_all_plot_groups, - idx=idx, - temp_idx=temp_idx, - palette=plot_palette_sankey, - ax=rawdata_axes, - **sankey_kwargs - ) + plot_data, + xvar=xvar, + yvar=yvar, + temp_all_plot_groups=temp_all_plot_groups, + idx=idx, + temp_idx=temp_idx, + palette=plot_palette_sankey, + ax=rawdata_axes, + **sankey_kwargs + ) else: if not proportional: # Plot the raw data as a swarmplot. @@ -223,21 +236,23 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): is_drop_gutter=True, gutter_limit=0.45, **swarmplot_kwargs - ) + ) if color_col is None: rawdata_plot.legend().set_visible(False) else: # Plot the raw data as a barplot. - barplotter(xvar=xvar, - yvar=yvar, - all_plot_groups=all_plot_groups, - rawdata_axes=rawdata_axes, - plot_data=plot_data, - bar_color=bar_color, - plot_palette_bar=plot_palette_bar, - plot_kwargs=plot_kwargs, - barplot_kwargs=barplot_kwargs) + barplotter( + xvar=xvar, + yvar=yvar, + all_plot_groups=all_plot_groups, + rawdata_axes=rawdata_axes, + plot_data=plot_data, + bar_color=bar_color, + plot_palette_bar=plot_palette_bar, + plot_kwargs=plot_kwargs, + barplot_kwargs=barplot_kwargs + ) # Plot the error bars. if group_summaries is not None: @@ -288,15 +303,16 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): ax=rawdata_axes, method=group_summaries_method, **group_summary_kwargs - ) + ) # Add the counts to the rawdata axes xticks. - add_counts_to_ticks(plot_data=plot_data, - xvar=xvar, - yvar=yvar, - rawdata_axes=rawdata_axes, - plot_kwargs=plot_kwargs - ) + add_counts_to_ticks( + plot_data=plot_data, + xvar=xvar, + yvar=yvar, + rawdata_axes=rawdata_axes, + plot_kwargs=plot_kwargs + ) # Enforce the xtick of rawdata_axes to be 0 and 1 after drawing only one sankey ----> Redundant code if one_sankey: @@ -306,13 +322,14 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): plot_groups = temp_all_plot_groups if (is_paired == "baseline" and show_pairs and two_col_sankey) else temp_idx if (two_col_sankey) else all_plot_groups (ticks_to_skip, ticks_to_plot, - ticks_to_skip_contrast, ticks_to_start_twocol_sankey) = extract_contrast_plotting_ticks(is_paired=is_paired, - show_pairs=show_pairs, - two_col_sankey=two_col_sankey, - plot_groups=plot_groups, - idx=idx, - sankey_control_group=sankey_control_group if two_col_sankey else None, - ) + ticks_to_skip_contrast, ticks_to_start_twocol_sankey) = extract_contrast_plotting_ticks( + is_paired=is_paired, + show_pairs=show_pairs, + two_col_sankey=two_col_sankey, + plot_groups=plot_groups, + idx=idx, + sankey_control_group=sankey_control_group if two_col_sankey else None, + ) # Plot the bootstraps, then the effect sizes and CIs. es_marker_size = plot_kwargs["es_marker_size"] @@ -322,47 +339,50 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): results = effectsize_df.results (current_group, current_control, - current_effsize, contrast_xtick_labels) = effect_size_curve_plotter(ticks_to_plot=ticks_to_plot, - results=results, - ci_type=ci_type, - contrast_axes=contrast_axes, - violinplot_kwargs=violinplot_kwargs, - halfviolin_alpha=halfviolin_alpha, - ytick_color=ytick_color, - es_marker_size=es_marker_size, - group_summary_kwargs=group_summary_kwargs, - bootstraps_color_by_group=bootstraps_color_by_group, - plot_palette_contrast=plot_palette_contrast, - ) - - # Plot mini-meta violin - if show_mini_meta or show_delta2: - contrast_xtick_labels = plot_minimeta_or_deltadelta_violins(show_mini_meta=show_mini_meta, - effectsize_df=effectsize_df, + current_effsize, contrast_xtick_labels) = effect_size_curve_plotter( + ticks_to_plot=ticks_to_plot, + results=results, ci_type=ci_type, - rawdata_axes=rawdata_axes, contrast_axes=contrast_axes, violinplot_kwargs=violinplot_kwargs, halfviolin_alpha=halfviolin_alpha, ytick_color=ytick_color, es_marker_size=es_marker_size, - group_summary_kwargs=group_summary_kwargs, - contrast_xtick_labels=contrast_xtick_labels, - effect_size=effect_size + group_summary_kwargs=group_summary_kwargs, + bootstraps_color_by_group=bootstraps_color_by_group, + plot_palette_contrast=plot_palette_contrast, ) + # Plot mini-meta violin + if show_mini_meta or show_delta2: + contrast_xtick_labels = plot_minimeta_or_deltadelta_violins( + show_mini_meta=show_mini_meta, + effectsize_df=effectsize_df, + ci_type=ci_type, + rawdata_axes=rawdata_axes, + contrast_axes=contrast_axes, + violinplot_kwargs=violinplot_kwargs, + halfviolin_alpha=halfviolin_alpha, + ytick_color=ytick_color, + es_marker_size=es_marker_size, + group_summary_kwargs=group_summary_kwargs, + contrast_xtick_labels=contrast_xtick_labels, + effect_size=effect_size + ) + # Make sure the contrast_axes x-lims match the rawdata_axes xlims, # and add an extra violinplot tick for delta-delta plot. - set_xaxis_ticks_and_lims(show_delta2=show_delta2, - show_mini_meta=show_mini_meta, - rawdata_axes=rawdata_axes, - contrast_axes=contrast_axes, - show_pairs=show_pairs, - float_contrast=float_contrast, - ticks_to_skip=ticks_to_skip, - contrast_xtick_labels=contrast_xtick_labels, - plot_kwargs=plot_kwargs, - ) + set_xaxis_ticks_and_lims( + show_delta2=show_delta2, + show_mini_meta=show_mini_meta, + rawdata_axes=rawdata_axes, + contrast_axes=contrast_axes, + show_pairs=show_pairs, + float_contrast=float_contrast, + ticks_to_skip=ticks_to_skip, + contrast_xtick_labels=contrast_xtick_labels, + plot_kwargs=plot_kwargs, + ) # Legend handles, labels = rawdata_axes.get_legend_handles_labels() legend_labels = [l for l in labels] @@ -371,14 +391,15 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): rawdata_axes.legend().set_visible(False) if bootstraps_color_by_group is False: - show_legend(legend_labels=legend_labels, - legend_handles=legend_handles, - rawdata_axes=rawdata_axes, - contrast_axes=contrast_axes, - float_contrast=float_contrast, - show_pairs=show_pairs, - legend_kwargs=legend_kwargs - ) + show_legend( + legend_labels=legend_labels, + legend_handles=legend_handles, + rawdata_axes=rawdata_axes, + contrast_axes=contrast_axes, + float_contrast=float_contrast, + show_pairs=show_pairs, + legend_kwargs=legend_kwargs + ) # Plot aesthetic adjustments. og_ylim_raw = rawdata_axes.get_ylim() @@ -386,147 +407,155 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): if float_contrast: # For Gardner-Altman plots only. - Gardner_Altman_Plot_Aesthetic_Adjustments(effect_size_type=effect_size_type, - plot_data=plot_data, - xvar=xvar, - yvar=yvar, - current_control=current_control, - current_group=current_group, - rawdata_axes=rawdata_axes, - contrast_axes=contrast_axes, - results=results, - current_effsize=current_effsize, - is_paired=is_paired, - one_sankey=one_sankey, - reflines_kwargs=reflines_kwargs, - redraw_axes_kwargs=redraw_axes_kwargs, - swarm_ylim=swarm_ylim, - og_xlim_raw=og_xlim_raw, - og_ylim_raw=og_ylim_raw, - ) + Gardner_Altman_Plot_Aesthetic_Adjustments( + effect_size_type=effect_size_type, + plot_data=plot_data, + xvar=xvar, + yvar=yvar, + current_control=current_control, + current_group=current_group, + rawdata_axes=rawdata_axes, + contrast_axes=contrast_axes, + results=results, + current_effsize=current_effsize, + is_paired=is_paired, + one_sankey=one_sankey, + reflines_kwargs=reflines_kwargs, + redraw_axes_kwargs=redraw_axes_kwargs, + swarm_ylim=swarm_ylim, + og_xlim_raw=og_xlim_raw, + og_ylim_raw=og_ylim_raw, + ) else: # For Cumming Plots only. - Cumming_Plot_Aesthetic_Adjustments(plot_kwargs=plot_kwargs, - show_delta2=show_delta2, - effect_size_type=effect_size_type, - contrast_axes=contrast_axes, - reflines_kwargs=reflines_kwargs, - is_paired=is_paired, - show_pairs=show_pairs, - two_col_sankey=two_col_sankey, - idx=idx, - ticks_to_start_twocol_sankey=ticks_to_start_twocol_sankey, - proportional=proportional, - ticks_to_skip=ticks_to_skip, - temp_idx=temp_idx if is_paired == "baseline" and show_pairs else None, - rawdata_axes=rawdata_axes, - redraw_axes_kwargs=redraw_axes_kwargs, - ticks_to_skip_contrast=ticks_to_skip_contrast, - ) + Cumming_Plot_Aesthetic_Adjustments( + plot_kwargs=plot_kwargs, + show_delta2=show_delta2, + effect_size_type=effect_size_type, + contrast_axes=contrast_axes, + reflines_kwargs=reflines_kwargs, + is_paired=is_paired, + show_pairs=show_pairs, + two_col_sankey=two_col_sankey, + idx=idx, + ticks_to_start_twocol_sankey=ticks_to_start_twocol_sankey, + proportional=proportional, + ticks_to_skip=ticks_to_skip, + temp_idx=temp_idx if is_paired == "baseline" and show_pairs else None, + rawdata_axes=rawdata_axes, + redraw_axes_kwargs=redraw_axes_kwargs, + ticks_to_skip_contrast=ticks_to_skip_contrast, + ) # General plotting changes - General_Plot_Aesthetic_Adjustments(show_delta2=show_delta2, - show_mini_meta=show_mini_meta, - contrast_axes=contrast_axes, - redraw_axes_kwargs=redraw_axes_kwargs, - plot_kwargs=plot_kwargs, - yvar=yvar, - effect_size_type=effect_size_type, - proportional=proportional, - effectsize_df=effectsize_df, - is_paired=is_paired, - float_contrast=float_contrast, - rawdata_axes=rawdata_axes, - og_ylim_raw=og_ylim_raw, - effect_size=effect_size, - ) + General_Plot_Aesthetic_Adjustments( + show_delta2=show_delta2, + show_mini_meta=show_mini_meta, + contrast_axes=contrast_axes, + redraw_axes_kwargs=redraw_axes_kwargs, + plot_kwargs=plot_kwargs, + yvar=yvar, + effect_size_type=effect_size_type, + proportional=proportional, + effectsize_df=effectsize_df, + is_paired=is_paired, + float_contrast=float_contrast, + rawdata_axes=rawdata_axes, + og_ylim_raw=og_ylim_raw, + effect_size=effect_size, + ) ################################################### GRIDKEY WIP # if gridkey_rows is None, skip everything here gridkey_rows = plot_kwargs["gridkey_rows"] if gridkey_rows is not None: - grid_key_WIP(is_paired=is_paired, - idx=idx, - all_plot_groups=all_plot_groups, - gridkey_rows=gridkey_rows, - rawdata_axes=rawdata_axes, - contrast_axes=contrast_axes, - plot_data=plot_data, - xvar=xvar, - yvar=yvar, - results=results, - show_delta2=show_delta2, - show_mini_meta=show_mini_meta, - float_contrast=float_contrast, - plot_kwargs=plot_kwargs, - ) + grid_key_WIP( + is_paired=is_paired, + idx=idx, + all_plot_groups=all_plot_groups, + gridkey_rows=gridkey_rows, + rawdata_axes=rawdata_axes, + contrast_axes=contrast_axes, + plot_data=plot_data, + xvar=xvar, + yvar=yvar, + results=results, + show_delta2=show_delta2, + show_mini_meta=show_mini_meta, + float_contrast=float_contrast, + plot_kwargs=plot_kwargs, + ) ################################################### Swarm & Contrast & Summary Bars & Delta text WIP # Swarm bars WIP swarm_bars = plot_kwargs["swarm_bars"] if swarm_bars and not proportional: - swarm_bars_plotter(plot_data=plot_data, - xvar=xvar, - yvar=yvar, - ax=rawdata_axes, - swarm_bars_kwargs=swarm_bars_kwargs, - color_col=color_col, - swarm_colors=swarm_colors, - is_paired=is_paired - ) + swarm_bars_plotter( + plot_data=plot_data, + xvar=xvar, + yvar=yvar, + ax=rawdata_axes, + swarm_bars_kwargs=swarm_bars_kwargs, + color_col=color_col, + swarm_colors=swarm_colors, + is_paired=is_paired + ) # Contrast bars WIP contrast_bars = plot_kwargs["contrast_bars"] if contrast_bars: - contrast_bars_plotter(results=results, - ax_to_plot=contrast_axes, - swarm_plot_ax=rawdata_axes, - ticks_to_plot=ticks_to_plot, - contrast_bars_kwargs=contrast_bars_kwargs, - color_col=color_col, - swarm_colors=swarm_colors, - show_mini_meta=show_mini_meta, - mini_meta_delta=effectsize_df.mini_meta_delta if show_mini_meta else None, - show_delta2=show_delta2, - delta_delta=effectsize_df.delta_delta if show_delta2 else None, - proportional=proportional, - is_paired=is_paired - ) + contrast_bars_plotter( + results=results, + ax_to_plot=contrast_axes, + swarm_plot_ax=rawdata_axes, + ticks_to_plot=ticks_to_plot, + contrast_bars_kwargs=contrast_bars_kwargs, + color_col=color_col, + swarm_colors=swarm_colors, + show_mini_meta=show_mini_meta, + mini_meta_delta=effectsize_df.mini_meta_delta if show_mini_meta else None, + show_delta2=show_delta2, + delta_delta=effectsize_df.delta_delta if show_delta2 else None, + proportional=proportional, + is_paired=is_paired + ) # Summary bars WIP summary_bars = plot_kwargs["summary_bars"] if summary_bars is not None: - summary_bars_plotter(summary_bars=summary_bars, - results=results, - ax_to_plot=contrast_axes, - float_contrast=float_contrast, - summary_bars_kwargs=summary_bars_kwargs, - ci_type=ci_type, - ticks_to_plot=ticks_to_plot, - color_col=color_col, - swarm_colors=swarm_colors, - proportional=proportional, - is_paired=is_paired - ) + summary_bars_plotter( + summary_bars=summary_bars, + results=results, + ax_to_plot=contrast_axes, + float_contrast=float_contrast, + summary_bars_kwargs=summary_bars_kwargs, + ci_type=ci_type, + ticks_to_plot=ticks_to_plot, + color_col=color_col, + swarm_colors=swarm_colors, + proportional=proportional, + is_paired=is_paired + ) # Delta text WIP delta_text = plot_kwargs["delta_text"] if delta_text: - delta_text_plotter(results=results, - ax_to_plot=contrast_axes, - swarm_plot_ax=rawdata_axes, - ticks_to_plot=ticks_to_plot, - delta_text_kwargs=delta_text_kwargs, - color_col=color_col, - swarm_colors=swarm_colors, - is_paired=is_paired, - proportional=proportional, - float_contrast=float_contrast, - show_mini_meta=show_mini_meta, - mini_meta_delta=effectsize_df.mini_meta_delta if show_mini_meta else None, - show_delta2=show_delta2, - delta_delta=effectsize_df.delta_delta if show_delta2 else None - ) + delta_text_plotter( + results=results, + ax_to_plot=contrast_axes, + swarm_plot_ax=rawdata_axes, + ticks_to_plot=ticks_to_plot, + delta_text_kwargs=delta_text_kwargs, + color_col=color_col, + swarm_colors=swarm_colors, + is_paired=is_paired, + proportional=proportional, + float_contrast=float_contrast, + show_mini_meta=show_mini_meta, + mini_meta_delta=effectsize_df.mini_meta_delta if show_mini_meta else None, + show_delta2=show_delta2, + delta_delta=effectsize_df.delta_delta if show_delta2 else None + ) ################################################### Swarm & Contrast & Summary Bars & Delta text WIP END # Make sure no stray ticks appear! diff --git a/nbs/API/plotter.ipynb b/nbs/API/plotter.ipynb index 1eb6a122..39db0ee1 100644 --- a/nbs/API/plotter.ipynb +++ b/nbs/API/plotter.ipynb @@ -168,13 +168,17 @@ " # Extract parameters and set kwargs\n", " (face_color, dabest_obj, plot_data, xvar, yvar, is_paired, effect_size, \n", " proportional, all_plot_groups, idx, show_delta2, show_mini_meta, \n", - " float_contrast, show_pairs, effect_size_type, group_summaries, err_color) = get_params(effectsize_df=effectsize_df, \n", - " plot_kwargs=plot_kwargs)\n", + " float_contrast, show_pairs, effect_size_type, group_summaries, err_color) = get_params(\n", + " effectsize_df=effectsize_df, \n", + " plot_kwargs=plot_kwargs\n", + " )\n", "\n", " (swarmplot_kwargs, barplot_kwargs, sankey_kwargs, violinplot_kwargs, \n", " slopegraph_kwargs, reflines_kwargs, legend_kwargs, group_summary_kwargs, redraw_axes_kwargs, \n", - " delta_dot_kwargs, delta_text_kwargs, summary_bars_kwargs, swarm_bars_kwargs, contrast_bars_kwargs) = get_kwargs(plot_kwargs=plot_kwargs, \n", - " ytick_color=ytick_color)\n", + " delta_dot_kwargs, delta_text_kwargs, summary_bars_kwargs, swarm_bars_kwargs, contrast_bars_kwargs) = get_kwargs(\n", + " plot_kwargs=plot_kwargs, \n", + " ytick_color=ytick_color\n", + " )\n", "\n", " # We also need to extract the `sankey` and `flow` from the kwargs for plotter.py\n", " # to use for varying different kinds of paired proportional plots\n", @@ -191,56 +195,65 @@ " # Extract Color palette\n", " (color_col, bootstraps_color_by_group, n_groups, \n", " swarm_colors, plot_palette_raw, bar_color, \n", - " plot_palette_bar, plot_palette_contrast, plot_palette_sankey) = get_color_palette(plot_kwargs=plot_kwargs, \n", - " plot_data=plot_data, \n", - " xvar=xvar, \n", - " show_pairs=show_pairs\n", - " )\n", + " plot_palette_bar, plot_palette_contrast, plot_palette_sankey) = get_color_palette(\n", + " plot_kwargs=plot_kwargs, \n", + " plot_data=plot_data, \n", + " xvar=xvar, \n", + " show_pairs=show_pairs\n", + " )\n", "\n", " # Initialise the figure.\n", - " fig, rawdata_axes, contrast_axes, swarm_ylim = initialize_fig(plot_kwargs=plot_kwargs, \n", - " dabest_obj=dabest_obj, \n", - " show_delta2=show_delta2, \n", - " show_mini_meta=show_mini_meta, \n", - " is_paired=is_paired, \n", - " show_pairs=show_pairs, \n", - " proportional=proportional, \n", - " float_contrast=float_contrast, \n", - " face_color=face_color, \n", - " )\n", + " fig, rawdata_axes, contrast_axes, swarm_ylim = initialize_fig(\n", + " plot_kwargs=plot_kwargs, \n", + " dabest_obj=dabest_obj, \n", + " show_delta2=show_delta2, \n", + " show_mini_meta=show_mini_meta, \n", + " is_paired=is_paired, \n", + " show_pairs=show_pairs, \n", + " proportional=proportional, \n", + " float_contrast=float_contrast, \n", + " face_color=face_color, \n", + " )\n", " \n", " # Plotting the rawdata.\n", " if show_pairs:\n", - " temp_idx, temp_all_plot_groups = get_plot_groups(is_paired=is_paired, idx=idx, proportional=proportional, all_plot_groups=all_plot_groups)\n", + " temp_idx, temp_all_plot_groups = get_plot_groups(\n", + " is_paired=is_paired, \n", + " idx=idx, \n", + " proportional=proportional, \n", + " all_plot_groups=all_plot_groups\n", + " )\n", " if not proportional:\n", " # Plot the raw data as a slopegraph.\n", - " slopegraph_plotter(dabest_obj=dabest_obj, \n", - " plot_data=plot_data, \n", - " xvar=xvar, \n", - " yvar=yvar, \n", - " color_col=color_col, \n", - " plot_palette_raw=plot_palette_raw, \n", - " slopegraph_kwargs=slopegraph_kwargs, \n", - " rawdata_axes=rawdata_axes, \n", - " ytick_color=ytick_color, \n", - " temp_idx=temp_idx\n", - " )\n", + " slopegraph_plotter(\n", + " dabest_obj=dabest_obj, \n", + " plot_data=plot_data, \n", + " xvar=xvar, \n", + " yvar=yvar, \n", + " color_col=color_col, \n", + " plot_palette_raw=plot_palette_raw, \n", + " slopegraph_kwargs=slopegraph_kwargs, \n", + " rawdata_axes=rawdata_axes, \n", + " ytick_color=ytick_color, \n", + " temp_idx=temp_idx\n", + " )\n", "\n", " # DELTA PTS ON CONTRAST PLOT WIP\n", " show_delta_dots = plot_kwargs[\"delta_dot\"]\n", " if show_delta_dots and is_paired is not None:\n", - " DeltaDotsPlotter(plot_data=plot_data, \n", - " contrast_axes=contrast_axes, \n", - " delta_id_col=dabest_obj.id_col, \n", - " idx=idx, \n", - " xvar=xvar, \n", - " yvar=yvar, \n", - " is_paired=is_paired, \n", - " color_col=color_col, \n", - " float_contrast=float_contrast, \n", - " plot_palette_raw=plot_palette_raw, \n", - " delta_dot_kwargs=delta_dot_kwargs\n", - " )\n", + " DeltaDotsPlotter(\n", + " plot_data=plot_data, \n", + " contrast_axes=contrast_axes, \n", + " delta_id_col=dabest_obj.id_col, \n", + " idx=idx, \n", + " xvar=xvar, \n", + " yvar=yvar, \n", + " is_paired=is_paired, \n", + " color_col=color_col, \n", + " float_contrast=float_contrast, \n", + " plot_palette_raw=plot_palette_raw, \n", + " delta_dot_kwargs=delta_dot_kwargs\n", + " )\n", "\n", " # Set the tick labels, because the slopegraph plotting doesn't.\n", " rawdata_axes.set_xticks(np.arange(0, len(temp_all_plot_groups)))\n", @@ -249,16 +262,16 @@ " else:\n", " # Plot the raw data as a set of Sankey Diagrams aligned like barplot.\n", " sankey_control_group, sankey_test_group = sankeydiag(\n", - " plot_data,\n", - " xvar=xvar,\n", - " yvar=yvar,\n", - " temp_all_plot_groups=temp_all_plot_groups,\n", - " idx=idx,\n", - " temp_idx=temp_idx,\n", - " palette=plot_palette_sankey,\n", - " ax=rawdata_axes,\n", - " **sankey_kwargs\n", - " )\n", + " plot_data,\n", + " xvar=xvar,\n", + " yvar=yvar,\n", + " temp_all_plot_groups=temp_all_plot_groups,\n", + " idx=idx,\n", + " temp_idx=temp_idx,\n", + " palette=plot_palette_sankey,\n", + " ax=rawdata_axes,\n", + " **sankey_kwargs\n", + " )\n", " else:\n", " if not proportional:\n", " # Plot the raw data as a swarmplot.\n", @@ -282,21 +295,23 @@ " is_drop_gutter=True,\n", " gutter_limit=0.45,\n", " **swarmplot_kwargs\n", - " )\n", + " )\n", " if color_col is None:\n", " rawdata_plot.legend().set_visible(False)\n", "\n", " else:\n", " # Plot the raw data as a barplot.\n", - " barplotter(xvar=xvar, \n", - " yvar=yvar, \n", - " all_plot_groups=all_plot_groups, \n", - " rawdata_axes=rawdata_axes, \n", - " plot_data=plot_data, \n", - " bar_color=bar_color, \n", - " plot_palette_bar=plot_palette_bar, \n", - " plot_kwargs=plot_kwargs, \n", - " barplot_kwargs=barplot_kwargs)\n", + " barplotter(\n", + " xvar=xvar, \n", + " yvar=yvar, \n", + " all_plot_groups=all_plot_groups, \n", + " rawdata_axes=rawdata_axes, \n", + " plot_data=plot_data, \n", + " bar_color=bar_color, \n", + " plot_palette_bar=plot_palette_bar, \n", + " plot_kwargs=plot_kwargs, \n", + " barplot_kwargs=barplot_kwargs\n", + " )\n", "\n", " # Plot the error bars.\n", " if group_summaries is not None:\n", @@ -347,15 +362,16 @@ " ax=rawdata_axes,\n", " method=group_summaries_method,\n", " **group_summary_kwargs\n", - " )\n", + " )\n", "\n", " # Add the counts to the rawdata axes xticks.\n", - " add_counts_to_ticks(plot_data=plot_data, \n", - " xvar=xvar, \n", - " yvar=yvar, \n", - " rawdata_axes=rawdata_axes, \n", - " plot_kwargs=plot_kwargs\n", - " )\n", + " add_counts_to_ticks(\n", + " plot_data=plot_data, \n", + " xvar=xvar, \n", + " yvar=yvar, \n", + " rawdata_axes=rawdata_axes, \n", + " plot_kwargs=plot_kwargs\n", + " )\n", "\n", " # Enforce the xtick of rawdata_axes to be 0 and 1 after drawing only one sankey ----> Redundant code\n", " if one_sankey:\n", @@ -365,13 +381,14 @@ " plot_groups = temp_all_plot_groups if (is_paired == \"baseline\" and show_pairs and two_col_sankey) else temp_idx if (two_col_sankey) else all_plot_groups\n", "\n", " (ticks_to_skip, ticks_to_plot, \n", - " ticks_to_skip_contrast, ticks_to_start_twocol_sankey) = extract_contrast_plotting_ticks(is_paired=is_paired, \n", - " show_pairs=show_pairs, \n", - " two_col_sankey=two_col_sankey, \n", - " plot_groups=plot_groups,\n", - " idx=idx,\n", - " sankey_control_group=sankey_control_group if two_col_sankey else None,\n", - " )\n", + " ticks_to_skip_contrast, ticks_to_start_twocol_sankey) = extract_contrast_plotting_ticks(\n", + " is_paired=is_paired, \n", + " show_pairs=show_pairs, \n", + " two_col_sankey=two_col_sankey, \n", + " plot_groups=plot_groups,\n", + " idx=idx,\n", + " sankey_control_group=sankey_control_group if two_col_sankey else None,\n", + " )\n", "\n", " # Plot the bootstraps, then the effect sizes and CIs.\n", " es_marker_size = plot_kwargs[\"es_marker_size\"]\n", @@ -381,47 +398,50 @@ " results = effectsize_df.results\n", "\n", " (current_group, current_control, \n", - " current_effsize, contrast_xtick_labels) = effect_size_curve_plotter(ticks_to_plot=ticks_to_plot, \n", - " results=results, \n", - " ci_type=ci_type, \n", - " contrast_axes=contrast_axes, \n", - " violinplot_kwargs=violinplot_kwargs, \n", - " halfviolin_alpha=halfviolin_alpha, \n", - " ytick_color=ytick_color, \n", - " es_marker_size=es_marker_size, \n", - " group_summary_kwargs=group_summary_kwargs, \n", - " bootstraps_color_by_group=bootstraps_color_by_group,\n", - " plot_palette_contrast=plot_palette_contrast,\n", - " )\n", - "\n", - " # Plot mini-meta violin\n", - " if show_mini_meta or show_delta2:\n", - " contrast_xtick_labels = plot_minimeta_or_deltadelta_violins(show_mini_meta=show_mini_meta, \n", - " effectsize_df=effectsize_df, \n", + " current_effsize, contrast_xtick_labels) = effect_size_curve_plotter(\n", + " ticks_to_plot=ticks_to_plot, \n", + " results=results, \n", " ci_type=ci_type, \n", - " rawdata_axes=rawdata_axes,\n", " contrast_axes=contrast_axes, \n", " violinplot_kwargs=violinplot_kwargs, \n", " halfviolin_alpha=halfviolin_alpha, \n", " ytick_color=ytick_color, \n", " es_marker_size=es_marker_size, \n", - " group_summary_kwargs=group_summary_kwargs, \n", - " contrast_xtick_labels=contrast_xtick_labels, \n", - " effect_size=effect_size\n", + " group_summary_kwargs=group_summary_kwargs, \n", + " bootstraps_color_by_group=bootstraps_color_by_group,\n", + " plot_palette_contrast=plot_palette_contrast,\n", " )\n", "\n", + " # Plot mini-meta violin\n", + " if show_mini_meta or show_delta2:\n", + " contrast_xtick_labels = plot_minimeta_or_deltadelta_violins(\n", + " show_mini_meta=show_mini_meta, \n", + " effectsize_df=effectsize_df, \n", + " ci_type=ci_type, \n", + " rawdata_axes=rawdata_axes,\n", + " contrast_axes=contrast_axes, \n", + " violinplot_kwargs=violinplot_kwargs, \n", + " halfviolin_alpha=halfviolin_alpha, \n", + " ytick_color=ytick_color, \n", + " es_marker_size=es_marker_size, \n", + " group_summary_kwargs=group_summary_kwargs, \n", + " contrast_xtick_labels=contrast_xtick_labels, \n", + " effect_size=effect_size\n", + " )\n", + "\n", " # Make sure the contrast_axes x-lims match the rawdata_axes xlims,\n", " # and add an extra violinplot tick for delta-delta plot.\n", - " set_xaxis_ticks_and_lims(show_delta2=show_delta2, \n", - " show_mini_meta=show_mini_meta, \n", - " rawdata_axes=rawdata_axes, \n", - " contrast_axes=contrast_axes, \n", - " show_pairs=show_pairs, \n", - " float_contrast=float_contrast,\n", - " ticks_to_skip=ticks_to_skip, \n", - " contrast_xtick_labels=contrast_xtick_labels, \n", - " plot_kwargs=plot_kwargs,\n", - " )\n", + " set_xaxis_ticks_and_lims(\n", + " show_delta2=show_delta2, \n", + " show_mini_meta=show_mini_meta, \n", + " rawdata_axes=rawdata_axes, \n", + " contrast_axes=contrast_axes, \n", + " show_pairs=show_pairs, \n", + " float_contrast=float_contrast,\n", + " ticks_to_skip=ticks_to_skip, \n", + " contrast_xtick_labels=contrast_xtick_labels, \n", + " plot_kwargs=plot_kwargs,\n", + " )\n", " # Legend\n", " handles, labels = rawdata_axes.get_legend_handles_labels()\n", " legend_labels = [l for l in labels]\n", @@ -430,14 +450,15 @@ " rawdata_axes.legend().set_visible(False)\n", "\n", " if bootstraps_color_by_group is False:\n", - " show_legend(legend_labels=legend_labels, \n", - " legend_handles=legend_handles, \n", - " rawdata_axes=rawdata_axes, \n", - " contrast_axes=contrast_axes, \n", - " float_contrast=float_contrast, \n", - " show_pairs=show_pairs, \n", - " legend_kwargs=legend_kwargs\n", - " )\n", + " show_legend(\n", + " legend_labels=legend_labels, \n", + " legend_handles=legend_handles, \n", + " rawdata_axes=rawdata_axes, \n", + " contrast_axes=contrast_axes, \n", + " float_contrast=float_contrast, \n", + " show_pairs=show_pairs, \n", + " legend_kwargs=legend_kwargs\n", + " )\n", "\n", " # Plot aesthetic adjustments.\n", " og_ylim_raw = rawdata_axes.get_ylim()\n", @@ -445,147 +466,155 @@ "\n", " if float_contrast:\n", " # For Gardner-Altman plots only.\n", - " Gardner_Altman_Plot_Aesthetic_Adjustments(effect_size_type=effect_size_type, \n", - " plot_data=plot_data, \n", - " xvar=xvar, \n", - " yvar=yvar, \n", - " current_control=current_control, \n", - " current_group=current_group,\n", - " rawdata_axes=rawdata_axes, \n", - " contrast_axes=contrast_axes, \n", - " results=results, \n", - " current_effsize=current_effsize, \n", - " is_paired=is_paired, \n", - " one_sankey=one_sankey,\n", - " reflines_kwargs=reflines_kwargs, \n", - " redraw_axes_kwargs=redraw_axes_kwargs, \n", - " swarm_ylim=swarm_ylim, \n", - " og_xlim_raw=og_xlim_raw,\n", - " og_ylim_raw=og_ylim_raw,\n", - " )\n", + " Gardner_Altman_Plot_Aesthetic_Adjustments(\n", + " effect_size_type=effect_size_type, \n", + " plot_data=plot_data, \n", + " xvar=xvar, \n", + " yvar=yvar, \n", + " current_control=current_control, \n", + " current_group=current_group,\n", + " rawdata_axes=rawdata_axes, \n", + " contrast_axes=contrast_axes, \n", + " results=results, \n", + " current_effsize=current_effsize, \n", + " is_paired=is_paired, \n", + " one_sankey=one_sankey,\n", + " reflines_kwargs=reflines_kwargs, \n", + " redraw_axes_kwargs=redraw_axes_kwargs, \n", + " swarm_ylim=swarm_ylim, \n", + " og_xlim_raw=og_xlim_raw,\n", + " og_ylim_raw=og_ylim_raw,\n", + " )\n", "\n", " else:\n", " # For Cumming Plots only.\n", - " Cumming_Plot_Aesthetic_Adjustments(plot_kwargs=plot_kwargs, \n", - " show_delta2=show_delta2, \n", - " effect_size_type=effect_size_type, \n", - " contrast_axes=contrast_axes, \n", - " reflines_kwargs=reflines_kwargs, \n", - " is_paired=is_paired, \n", - " show_pairs=show_pairs, \n", - " two_col_sankey=two_col_sankey, \n", - " idx=idx, \n", - " ticks_to_start_twocol_sankey=ticks_to_start_twocol_sankey,\n", - " proportional=proportional, \n", - " ticks_to_skip=ticks_to_skip, \n", - " temp_idx=temp_idx if is_paired == \"baseline\" and show_pairs else None, \n", - " rawdata_axes=rawdata_axes, \n", - " redraw_axes_kwargs=redraw_axes_kwargs,\n", - " ticks_to_skip_contrast=ticks_to_skip_contrast,\n", - " )\n", + " Cumming_Plot_Aesthetic_Adjustments(\n", + " plot_kwargs=plot_kwargs, \n", + " show_delta2=show_delta2, \n", + " effect_size_type=effect_size_type, \n", + " contrast_axes=contrast_axes, \n", + " reflines_kwargs=reflines_kwargs, \n", + " is_paired=is_paired, \n", + " show_pairs=show_pairs, \n", + " two_col_sankey=two_col_sankey, \n", + " idx=idx, \n", + " ticks_to_start_twocol_sankey=ticks_to_start_twocol_sankey,\n", + " proportional=proportional, \n", + " ticks_to_skip=ticks_to_skip, \n", + " temp_idx=temp_idx if is_paired == \"baseline\" and show_pairs else None, \n", + " rawdata_axes=rawdata_axes, \n", + " redraw_axes_kwargs=redraw_axes_kwargs,\n", + " ticks_to_skip_contrast=ticks_to_skip_contrast,\n", + " )\n", " \n", " # General plotting changes\n", - " General_Plot_Aesthetic_Adjustments(show_delta2=show_delta2, \n", - " show_mini_meta=show_mini_meta, \n", - " contrast_axes=contrast_axes, \n", - " redraw_axes_kwargs=redraw_axes_kwargs, \n", - " plot_kwargs=plot_kwargs,\n", - " yvar=yvar, \n", - " effect_size_type=effect_size_type, \n", - " proportional=proportional, \n", - " effectsize_df=effectsize_df, \n", - " is_paired=is_paired, \n", - " float_contrast=float_contrast,\n", - " rawdata_axes=rawdata_axes, \n", - " og_ylim_raw=og_ylim_raw, \n", - " effect_size=effect_size,\n", - " )\n", + " General_Plot_Aesthetic_Adjustments(\n", + " show_delta2=show_delta2, \n", + " show_mini_meta=show_mini_meta, \n", + " contrast_axes=contrast_axes, \n", + " redraw_axes_kwargs=redraw_axes_kwargs, \n", + " plot_kwargs=plot_kwargs,\n", + " yvar=yvar, \n", + " effect_size_type=effect_size_type, \n", + " proportional=proportional, \n", + " effectsize_df=effectsize_df, \n", + " is_paired=is_paired, \n", + " float_contrast=float_contrast,\n", + " rawdata_axes=rawdata_axes, \n", + " og_ylim_raw=og_ylim_raw, \n", + " effect_size=effect_size,\n", + " )\n", "\n", " ################################################### GRIDKEY WIP\n", " # if gridkey_rows is None, skip everything here\n", " gridkey_rows = plot_kwargs[\"gridkey_rows\"]\n", " if gridkey_rows is not None:\n", - " grid_key_WIP(is_paired=is_paired, \n", - " idx=idx, \n", - " all_plot_groups=all_plot_groups, \n", - " gridkey_rows=gridkey_rows, \n", - " rawdata_axes=rawdata_axes, \n", - " contrast_axes=contrast_axes,\n", - " plot_data=plot_data, \n", - " xvar=xvar, \n", - " yvar=yvar, \n", - " results=results, \n", - " show_delta2=show_delta2, \n", - " show_mini_meta=show_mini_meta, \n", - " float_contrast=float_contrast,\n", - " plot_kwargs=plot_kwargs,\n", - " )\n", + " grid_key_WIP(\n", + " is_paired=is_paired, \n", + " idx=idx, \n", + " all_plot_groups=all_plot_groups, \n", + " gridkey_rows=gridkey_rows, \n", + " rawdata_axes=rawdata_axes, \n", + " contrast_axes=contrast_axes,\n", + " plot_data=plot_data, \n", + " xvar=xvar, \n", + " yvar=yvar, \n", + " results=results, \n", + " show_delta2=show_delta2, \n", + " show_mini_meta=show_mini_meta, \n", + " float_contrast=float_contrast,\n", + " plot_kwargs=plot_kwargs,\n", + " )\n", "\n", " ################################################### Swarm & Contrast & Summary Bars & Delta text WIP\n", " # Swarm bars WIP\n", " swarm_bars = plot_kwargs[\"swarm_bars\"]\n", " if swarm_bars and not proportional:\n", - " swarm_bars_plotter(plot_data=plot_data, \n", - " xvar=xvar, \n", - " yvar=yvar, \n", - " ax=rawdata_axes, \n", - " swarm_bars_kwargs=swarm_bars_kwargs, \n", - " color_col=color_col, \n", - " swarm_colors=swarm_colors, \n", - " is_paired=is_paired\n", - " )\n", + " swarm_bars_plotter(\n", + " plot_data=plot_data, \n", + " xvar=xvar, \n", + " yvar=yvar, \n", + " ax=rawdata_axes, \n", + " swarm_bars_kwargs=swarm_bars_kwargs, \n", + " color_col=color_col, \n", + " swarm_colors=swarm_colors, \n", + " is_paired=is_paired\n", + " )\n", "\n", " # Contrast bars WIP\n", " contrast_bars = plot_kwargs[\"contrast_bars\"]\n", " if contrast_bars:\n", - " contrast_bars_plotter(results=results, \n", - " ax_to_plot=contrast_axes, \n", - " swarm_plot_ax=rawdata_axes,\n", - " ticks_to_plot=ticks_to_plot, \n", - " contrast_bars_kwargs=contrast_bars_kwargs, \n", - " color_col=color_col, \n", - " swarm_colors=swarm_colors, \n", - " show_mini_meta=show_mini_meta, \n", - " mini_meta_delta=effectsize_df.mini_meta_delta if show_mini_meta else None, \n", - " show_delta2=show_delta2, \n", - " delta_delta=effectsize_df.delta_delta if show_delta2 else None, \n", - " proportional=proportional, \n", - " is_paired=is_paired\n", - " )\n", + " contrast_bars_plotter(\n", + " results=results, \n", + " ax_to_plot=contrast_axes, \n", + " swarm_plot_ax=rawdata_axes,\n", + " ticks_to_plot=ticks_to_plot, \n", + " contrast_bars_kwargs=contrast_bars_kwargs, \n", + " color_col=color_col, \n", + " swarm_colors=swarm_colors, \n", + " show_mini_meta=show_mini_meta, \n", + " mini_meta_delta=effectsize_df.mini_meta_delta if show_mini_meta else None, \n", + " show_delta2=show_delta2, \n", + " delta_delta=effectsize_df.delta_delta if show_delta2 else None, \n", + " proportional=proportional, \n", + " is_paired=is_paired\n", + " )\n", "\n", " # Summary bars WIP\n", " summary_bars = plot_kwargs[\"summary_bars\"]\n", " if summary_bars is not None:\n", - " summary_bars_plotter(summary_bars=summary_bars, \n", - " results=results, \n", - " ax_to_plot=contrast_axes, \n", - " float_contrast=float_contrast,\n", - " summary_bars_kwargs=summary_bars_kwargs, \n", - " ci_type=ci_type, \n", - " ticks_to_plot=ticks_to_plot, \n", - " color_col=color_col,\n", - " swarm_colors=swarm_colors, \n", - " proportional=proportional, \n", - " is_paired=is_paired\n", - " )\n", + " summary_bars_plotter(\n", + " summary_bars=summary_bars, \n", + " results=results, \n", + " ax_to_plot=contrast_axes, \n", + " float_contrast=float_contrast,\n", + " summary_bars_kwargs=summary_bars_kwargs, \n", + " ci_type=ci_type, \n", + " ticks_to_plot=ticks_to_plot, \n", + " color_col=color_col,\n", + " swarm_colors=swarm_colors, \n", + " proportional=proportional, \n", + " is_paired=is_paired\n", + " )\n", " # Delta text WIP\n", " delta_text = plot_kwargs[\"delta_text\"]\n", " if delta_text: \n", - " delta_text_plotter(results=results, \n", - " ax_to_plot=contrast_axes, \n", - " swarm_plot_ax=rawdata_axes, \n", - " ticks_to_plot=ticks_to_plot, \n", - " delta_text_kwargs=delta_text_kwargs, \n", - " color_col=color_col, \n", - " swarm_colors=swarm_colors, \n", - " is_paired=is_paired,\n", - " proportional=proportional, \n", - " float_contrast=float_contrast, \n", - " show_mini_meta=show_mini_meta, \n", - " mini_meta_delta=effectsize_df.mini_meta_delta if show_mini_meta else None, \n", - " show_delta2=show_delta2, \n", - " delta_delta=effectsize_df.delta_delta if show_delta2 else None\n", - " )\n", + " delta_text_plotter(\n", + " results=results, \n", + " ax_to_plot=contrast_axes, \n", + " swarm_plot_ax=rawdata_axes, \n", + " ticks_to_plot=ticks_to_plot, \n", + " delta_text_kwargs=delta_text_kwargs, \n", + " color_col=color_col, \n", + " swarm_colors=swarm_colors, \n", + " is_paired=is_paired,\n", + " proportional=proportional, \n", + " float_contrast=float_contrast, \n", + " show_mini_meta=show_mini_meta, \n", + " mini_meta_delta=effectsize_df.mini_meta_delta if show_mini_meta else None, \n", + " show_delta2=show_delta2, \n", + " delta_delta=effectsize_df.delta_delta if show_delta2 else None\n", + " )\n", " ################################################### Swarm & Contrast & Summary Bars & Delta text WIP END\n", "\n", " # Make sure no stray ticks appear!\n", From ddeefa778cb7215e81e8673ca91962ad7cdc47c1 Mon Sep 17 00:00:00 2001 From: JAnns98 Date: Thu, 12 Sep 2024 18:47:00 +0800 Subject: [PATCH 37/42] Trimming down plotter --- dabest/misc_tools.py | 17 ++++++++--------- dabest/plotter.py | 9 +++------ nbs/API/misc_tools.ipynb | 17 ++++++++--------- nbs/API/plotter.ipynb | 9 +++------ 4 files changed, 22 insertions(+), 30 deletions(-) diff --git a/dabest/misc_tools.py b/dabest/misc_tools.py index 9f1fed1f..ea08dc1a 100644 --- a/dabest/misc_tools.py +++ b/dabest/misc_tools.py @@ -86,11 +86,6 @@ def get_params(effectsize_df, plot_kwargs): plot_kwargs : dict Kwargs passed to the plot function. """ - face_color = plot_kwargs["face_color"] - - if plot_kwargs["face_color"] is None: - face_color = "white" - dabest_obj = effectsize_df.dabest_obj plot_data = effectsize_df._plot_data xvar = effectsize_df.xvar @@ -100,7 +95,6 @@ def get_params(effectsize_df, plot_kwargs): mini_meta = effectsize_df.mini_meta effect_size = effectsize_df.effect_size proportional = effectsize_df.proportional - all_plot_groups = dabest_obj._all_plot_groups idx = dabest_obj.idx @@ -144,8 +138,7 @@ def get_params(effectsize_df, plot_kwargs): if err_color is None: err_color = "black" - - return (face_color, dabest_obj, plot_data, xvar, yvar, is_paired, effect_size, proportional, all_plot_groups, idx, + return (dabest_obj, plot_data, xvar, yvar, is_paired, effect_size, proportional, all_plot_groups, idx, show_delta2, show_mini_meta, float_contrast, show_pairs, effect_size_type, group_summaries, err_color) def get_kwargs(plot_kwargs, ytick_color): @@ -381,8 +374,13 @@ def get_color_palette(plot_kwargs, plot_data, xvar, show_pairs): bar_color, plot_palette_bar, plot_palette_contrast, plot_palette_sankey) def initialize_fig(plot_kwargs, dabest_obj, show_delta2, show_mini_meta, is_paired, show_pairs, proportional, - float_contrast, face_color): + float_contrast): + # Params fig_size = plot_kwargs["fig_size"] + face_color = plot_kwargs["face_color"] + if plot_kwargs["face_color"] is None: + face_color = "white" + if fig_size is None: all_groups_count = np.sum([len(i) for i in dabest_obj.idx]) # Increase the width for delta-delta graph @@ -497,6 +495,7 @@ def get_plot_groups(is_paired, idx, proportional, all_plot_groups): # Determine temp_all_plot_groups based on proportional condition plot_groups = [item for i in temp_idx for item in i] temp_all_plot_groups = all_plot_groups if not proportional else plot_groups + return temp_idx, temp_all_plot_groups diff --git a/dabest/plotter.py b/dabest/plotter.py index 5eb8102c..21a32473 100644 --- a/dabest/plotter.py +++ b/dabest/plotter.py @@ -107,7 +107,7 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): ytick_color = plt.rcParams["ytick.color"] # Extract parameters and set kwargs - (face_color, dabest_obj, plot_data, xvar, yvar, is_paired, effect_size, + (dabest_obj, plot_data, xvar, yvar, is_paired, effect_size, proportional, all_plot_groups, idx, show_delta2, show_mini_meta, float_contrast, show_pairs, effect_size_type, group_summaries, err_color) = get_params( effectsize_df=effectsize_df, @@ -124,13 +124,11 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): # We also need to extract the `sankey` and `flow` from the kwargs for plotter.py # to use for varying different kinds of paired proportional plots # We also don't want to pop the parameter from the kwargs - sankey = sankey_kwargs["sankey"] - flow = sankey_kwargs["flow"] one_sankey = ( False if is_paired is not None else None ) # Flag to indicate if only one sankey is plotted. two_col_sankey = ( - True if proportional and not one_sankey and sankey and not flow else False + True if proportional and not one_sankey and sankey_kwargs["sankey"] and not sankey_kwargs["flow"] else False ) # Extract Color palette @@ -152,8 +150,7 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): is_paired=is_paired, show_pairs=show_pairs, proportional=proportional, - float_contrast=float_contrast, - face_color=face_color, + float_contrast=float_contrast, ) # Plotting the rawdata. diff --git a/nbs/API/misc_tools.ipynb b/nbs/API/misc_tools.ipynb index d8d9c2fa..d3723fe9 100644 --- a/nbs/API/misc_tools.ipynb +++ b/nbs/API/misc_tools.ipynb @@ -141,11 +141,6 @@ " plot_kwargs : dict\n", " Kwargs passed to the plot function.\n", " \"\"\"\n", - " face_color = plot_kwargs[\"face_color\"]\n", - "\n", - " if plot_kwargs[\"face_color\"] is None:\n", - " face_color = \"white\"\n", - "\n", " dabest_obj = effectsize_df.dabest_obj\n", " plot_data = effectsize_df._plot_data\n", " xvar = effectsize_df.xvar\n", @@ -155,7 +150,6 @@ " mini_meta = effectsize_df.mini_meta\n", " effect_size = effectsize_df.effect_size\n", " proportional = effectsize_df.proportional\n", - "\n", " all_plot_groups = dabest_obj._all_plot_groups\n", " idx = dabest_obj.idx\n", "\n", @@ -199,8 +193,7 @@ " if err_color is None: \n", " err_color = \"black\"\n", " \n", - "\n", - " return (face_color, dabest_obj, plot_data, xvar, yvar, is_paired, effect_size, proportional, all_plot_groups, idx, \n", + " return (dabest_obj, plot_data, xvar, yvar, is_paired, effect_size, proportional, all_plot_groups, idx, \n", " show_delta2, show_mini_meta, float_contrast, show_pairs, effect_size_type, group_summaries, err_color)\n", "\n", "def get_kwargs(plot_kwargs, ytick_color):\n", @@ -436,8 +429,13 @@ " bar_color, plot_palette_bar, plot_palette_contrast, plot_palette_sankey)\n", "\n", "def initialize_fig(plot_kwargs, dabest_obj, show_delta2, show_mini_meta, is_paired, show_pairs, proportional,\n", - " float_contrast, face_color):\n", + " float_contrast):\n", + " # Params\n", " fig_size = plot_kwargs[\"fig_size\"]\n", + " face_color = plot_kwargs[\"face_color\"]\n", + " if plot_kwargs[\"face_color\"] is None:\n", + " face_color = \"white\"\n", + "\n", " if fig_size is None:\n", " all_groups_count = np.sum([len(i) for i in dabest_obj.idx])\n", " # Increase the width for delta-delta graph\n", @@ -552,6 +550,7 @@ " # Determine temp_all_plot_groups based on proportional condition\n", " plot_groups = [item for i in temp_idx for item in i]\n", " temp_all_plot_groups = all_plot_groups if not proportional else plot_groups\n", + " \n", " return temp_idx, temp_all_plot_groups\n", "\n", "\n", diff --git a/nbs/API/plotter.ipynb b/nbs/API/plotter.ipynb index 39db0ee1..7dde2142 100644 --- a/nbs/API/plotter.ipynb +++ b/nbs/API/plotter.ipynb @@ -166,7 +166,7 @@ " ytick_color = plt.rcParams[\"ytick.color\"]\n", "\n", " # Extract parameters and set kwargs\n", - " (face_color, dabest_obj, plot_data, xvar, yvar, is_paired, effect_size, \n", + " (dabest_obj, plot_data, xvar, yvar, is_paired, effect_size, \n", " proportional, all_plot_groups, idx, show_delta2, show_mini_meta, \n", " float_contrast, show_pairs, effect_size_type, group_summaries, err_color) = get_params(\n", " effectsize_df=effectsize_df, \n", @@ -183,13 +183,11 @@ " # We also need to extract the `sankey` and `flow` from the kwargs for plotter.py\n", " # to use for varying different kinds of paired proportional plots\n", " # We also don't want to pop the parameter from the kwargs\n", - " sankey = sankey_kwargs[\"sankey\"]\n", - " flow = sankey_kwargs[\"flow\"]\n", " one_sankey = (\n", " False if is_paired is not None else None\n", " ) # Flag to indicate if only one sankey is plotted.\n", " two_col_sankey = (\n", - " True if proportional and not one_sankey and sankey and not flow else False\n", + " True if proportional and not one_sankey and sankey_kwargs[\"sankey\"] and not sankey_kwargs[\"flow\"] else False\n", " )\n", "\n", " # Extract Color palette\n", @@ -211,8 +209,7 @@ " is_paired=is_paired, \n", " show_pairs=show_pairs, \n", " proportional=proportional, \n", - " float_contrast=float_contrast, \n", - " face_color=face_color, \n", + " float_contrast=float_contrast,\n", " )\n", " \n", " # Plotting the rawdata.\n", From 2df0aff4608bddf565578be03cafc9553e18fb52 Mon Sep 17 00:00:00 2001 From: JAnns98 Date: Fri, 13 Sep 2024 16:32:41 +0800 Subject: [PATCH 38/42] Preliminary changes to plotter and scatterplot functions to allow legend plotting for swarmplots with color_col=True (not delta2/minimeta) --- dabest/plot_tools.py | 7 ++++++- dabest/plotter.py | 45 +++++++++++++++++++++++++--------------- nbs/API/plot_tools.ipynb | 15 +++++++++++++- nbs/API/plotter.ipynb | 45 +++++++++++++++++++++++++--------------- 4 files changed, 76 insertions(+), 36 deletions(-) diff --git a/dabest/plot_tools.py b/dabest/plot_tools.py index 81bd294a..56127641 100644 --- a/dabest/plot_tools.py +++ b/dabest/plot_tools.py @@ -1989,6 +1989,10 @@ def plot( cmap = [] for cmap_group_i in cmap_values: cmap.append(self.__palette[cmap_group_i]) + + # WIP: legend for swarm plot + swarm_legend_kwargs = {'colors':cmap, 'labels':cmap_values, 'index':index} + cmap = ListedColormap(cmap) ax.scatter( values_i["x_new"], @@ -2000,6 +2004,7 @@ def plot( edgecolor="face", **kwargs, ) + else: # color swarms based on `x` column ax.scatter( @@ -2015,4 +2020,4 @@ def plot( ax.get_xaxis().set_ticks(np.arange(x_position)) ax.get_xaxis().set_ticklabels(x_tick_tabels) - return ax + return ax, swarm_legend_kwargs if self.__hue is not None else None diff --git a/dabest/plotter.py b/dabest/plotter.py index 21a32473..30787194 100644 --- a/dabest/plotter.py +++ b/dabest/plotter.py @@ -9,6 +9,7 @@ import matplotlib import matplotlib.pyplot as plt import matplotlib.patches as mpatches +from matplotlib.lines import Line2D import pandas as pd import warnings import logging @@ -219,21 +220,21 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): # swarmplot() plots swarms based on current size of ax # Therefore, since the ax size for mini_meta and show_delta changes later on, there has to be increased jitter - rawdata_plot = swarmplot( - data=plot_data, - x=xvar, - y=yvar, - ax=rawdata_axes, - order=all_plot_groups, - hue=xvar if color_col is None else color_col, - palette=plot_palette_raw, - zorder=1, - side=asymmetric_side, - jitter=1.25 if show_mini_meta else 1.4 if show_delta2 else 1, # TODO: to make jitter value more accurate and not just a hardcoded eyeball value - is_drop_gutter=True, - gutter_limit=0.45, - **swarmplot_kwargs - ) + rawdata_plot, swarm_legend_kwargs = swarmplot( + data=plot_data, + x=xvar, + y=yvar, + ax=rawdata_axes, + order=all_plot_groups, + hue=xvar if color_col is None else color_col, + palette=plot_palette_raw, + zorder=1, + side=asymmetric_side, + jitter=1.25 if show_mini_meta else 1.4 if show_delta2 else 1, # TODO: to make jitter value more accurate and not just a hardcoded eyeball value + is_drop_gutter=True, + gutter_limit=0.45, + **swarmplot_kwargs + ) if color_col is None: rawdata_plot.legend().set_visible(False) @@ -384,10 +385,9 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): handles, labels = rawdata_axes.get_legend_handles_labels() legend_labels = [l for l in labels] legend_handles = [h for h in handles] - if bootstraps_color_by_group is False: - rawdata_axes.legend().set_visible(False) if bootstraps_color_by_group is False: + rawdata_axes.legend().set_visible(False) show_legend( legend_labels=legend_labels, legend_handles=legend_handles, @@ -398,6 +398,17 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): legend_kwargs=legend_kwargs ) + ########## WIP LEGENDS + if not show_pairs and not proportional and color_col is not None and not show_delta2: + if len(np.unique(swarm_legend_kwargs['index'])) > 1: + legend_elements = [] + for color, label in zip(swarm_legend_kwargs['colors'], swarm_legend_kwargs['labels']): + legend_elements.append(Line2D([0], [0], marker='o', color='w', label=label, + markerfacecolor=color, markersize=10)) + rawdata_axes.legend(handles=legend_elements, frameon=False) + + ########## WIP LEGENDS + # Plot aesthetic adjustments. og_ylim_raw = rawdata_axes.get_ylim() og_xlim_raw = rawdata_axes.get_xlim() diff --git a/nbs/API/plot_tools.ipynb b/nbs/API/plot_tools.ipynb index 50a6b53d..9697983c 100644 --- a/nbs/API/plot_tools.ipynb +++ b/nbs/API/plot_tools.ipynb @@ -2050,6 +2050,10 @@ " cmap = []\n", " for cmap_group_i in cmap_values:\n", " cmap.append(self.__palette[cmap_group_i])\n", + "\n", + " # WIP: legend for swarm plot\n", + " swarm_legend_kwargs = {'colors':cmap, 'labels':cmap_values, 'index':index}\n", + "\n", " cmap = ListedColormap(cmap)\n", " ax.scatter(\n", " values_i[\"x_new\"],\n", @@ -2061,6 +2065,7 @@ " edgecolor=\"face\",\n", " **kwargs,\n", " )\n", + "\n", " else:\n", " # color swarms based on `x` column\n", " ax.scatter(\n", @@ -2076,8 +2081,16 @@ " ax.get_xaxis().set_ticks(np.arange(x_position))\n", " ax.get_xaxis().set_ticklabels(x_tick_tabels)\n", "\n", - " return ax" + " return ax, swarm_legend_kwargs if self.__hue is not None else None" ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "022ea903", + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { diff --git a/nbs/API/plotter.ipynb b/nbs/API/plotter.ipynb index 7dde2142..49a95fb7 100644 --- a/nbs/API/plotter.ipynb +++ b/nbs/API/plotter.ipynb @@ -60,6 +60,7 @@ "import matplotlib\n", "import matplotlib.pyplot as plt\n", "import matplotlib.patches as mpatches\n", + "from matplotlib.lines import Line2D\n", "import pandas as pd\n", "import warnings\n", "import logging" @@ -278,21 +279,21 @@ "\n", " # swarmplot() plots swarms based on current size of ax\n", " # Therefore, since the ax size for mini_meta and show_delta changes later on, there has to be increased jitter\n", - " rawdata_plot = swarmplot(\n", - " data=plot_data,\n", - " x=xvar,\n", - " y=yvar,\n", - " ax=rawdata_axes,\n", - " order=all_plot_groups,\n", - " hue=xvar if color_col is None else color_col,\n", - " palette=plot_palette_raw,\n", - " zorder=1,\n", - " side=asymmetric_side,\n", - " jitter=1.25 if show_mini_meta else 1.4 if show_delta2 else 1, # TODO: to make jitter value more accurate and not just a hardcoded eyeball value\n", - " is_drop_gutter=True,\n", - " gutter_limit=0.45,\n", - " **swarmplot_kwargs\n", - " )\n", + " rawdata_plot, swarm_legend_kwargs = swarmplot(\n", + " data=plot_data,\n", + " x=xvar,\n", + " y=yvar,\n", + " ax=rawdata_axes,\n", + " order=all_plot_groups,\n", + " hue=xvar if color_col is None else color_col,\n", + " palette=plot_palette_raw,\n", + " zorder=1,\n", + " side=asymmetric_side,\n", + " jitter=1.25 if show_mini_meta else 1.4 if show_delta2 else 1, # TODO: to make jitter value more accurate and not just a hardcoded eyeball value\n", + " is_drop_gutter=True,\n", + " gutter_limit=0.45,\n", + " **swarmplot_kwargs\n", + " )\n", " if color_col is None:\n", " rawdata_plot.legend().set_visible(False)\n", "\n", @@ -443,10 +444,9 @@ " handles, labels = rawdata_axes.get_legend_handles_labels()\n", " legend_labels = [l for l in labels]\n", " legend_handles = [h for h in handles]\n", - " if bootstraps_color_by_group is False:\n", - " rawdata_axes.legend().set_visible(False)\n", "\n", " if bootstraps_color_by_group is False:\n", + " rawdata_axes.legend().set_visible(False)\n", " show_legend(\n", " legend_labels=legend_labels, \n", " legend_handles=legend_handles, \n", @@ -457,6 +457,17 @@ " legend_kwargs=legend_kwargs\n", " )\n", "\n", + " ########## WIP LEGENDS\n", + " if not show_pairs and not proportional and color_col is not None and not show_delta2:\n", + " if len(np.unique(swarm_legend_kwargs['index'])) > 1:\n", + " legend_elements = []\n", + " for color, label in zip(swarm_legend_kwargs['colors'], swarm_legend_kwargs['labels']):\n", + " legend_elements.append(Line2D([0], [0], marker='o', color='w', label=label,\n", + " markerfacecolor=color, markersize=10))\n", + " rawdata_axes.legend(handles=legend_elements, frameon=False)\n", + "\n", + " ########## WIP LEGENDS\n", + "\n", " # Plot aesthetic adjustments.\n", " og_ylim_raw = rawdata_axes.get_ylim()\n", " og_xlim_raw = rawdata_axes.get_xlim()\n", From 57f0c58bdd782ddc1699e0e109a2c0a314496c0d Mon Sep 17 00:00:00 2001 From: JAnns98 Date: Mon, 16 Sep 2024 10:13:54 +0800 Subject: [PATCH 39/42] Edit text for swarmplot legend --- dabest/plotter.py | 4 +--- nbs/API/plotter.ipynb | 4 +--- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/dabest/plotter.py b/dabest/plotter.py index 30787194..b0f0af67 100644 --- a/dabest/plotter.py +++ b/dabest/plotter.py @@ -398,7 +398,7 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): legend_kwargs=legend_kwargs ) - ########## WIP LEGENDS + # Add legend for swarmplot if not show_pairs and not proportional and color_col is not None and not show_delta2: if len(np.unique(swarm_legend_kwargs['index'])) > 1: legend_elements = [] @@ -407,8 +407,6 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): markerfacecolor=color, markersize=10)) rawdata_axes.legend(handles=legend_elements, frameon=False) - ########## WIP LEGENDS - # Plot aesthetic adjustments. og_ylim_raw = rawdata_axes.get_ylim() og_xlim_raw = rawdata_axes.get_xlim() diff --git a/nbs/API/plotter.ipynb b/nbs/API/plotter.ipynb index 49a95fb7..3d7bb06e 100644 --- a/nbs/API/plotter.ipynb +++ b/nbs/API/plotter.ipynb @@ -457,7 +457,7 @@ " legend_kwargs=legend_kwargs\n", " )\n", "\n", - " ########## WIP LEGENDS\n", + " # Add legend for swarmplot\n", " if not show_pairs and not proportional and color_col is not None and not show_delta2:\n", " if len(np.unique(swarm_legend_kwargs['index'])) > 1:\n", " legend_elements = []\n", @@ -466,8 +466,6 @@ " markerfacecolor=color, markersize=10))\n", " rawdata_axes.legend(handles=legend_elements, frameon=False)\n", "\n", - " ########## WIP LEGENDS\n", - "\n", " # Plot aesthetic adjustments.\n", " og_ylim_raw = rawdata_axes.get_ylim()\n", " og_xlim_raw = rawdata_axes.get_xlim()\n", From 4528455175adad1d077b9e30eaa23c7006236312 Mon Sep 17 00:00:00 2001 From: JAnns98 Date: Tue, 17 Sep 2024 16:19:34 +0800 Subject: [PATCH 40/42] Minor text changes --- dabest/plot_tools.py | 1 - dabest/plotter.py | 25 +++++++++++++------------ nbs/API/plot_tools.ipynb | 3 +-- nbs/API/plotter.ipynb | 29 +++++++++++++++++------------ 4 files changed, 31 insertions(+), 27 deletions(-) diff --git a/dabest/plot_tools.py b/dabest/plot_tools.py index 56127641..b6582c85 100644 --- a/dabest/plot_tools.py +++ b/dabest/plot_tools.py @@ -1457,7 +1457,6 @@ def barplotter(xvar, yvar, all_plot_groups, rawdata_axes, plot_data, bar_color, centre = x + width / 2.0 bar.set_x(centre - bar_width / 2.0) bar.set_width(bar_width) - ... # %% ../nbs/API/plot_tools.ipynb 6 def swarmplot( diff --git a/dabest/plotter.py b/dabest/plotter.py index b0f0af67..523712b0 100644 --- a/dabest/plotter.py +++ b/dabest/plotter.py @@ -60,18 +60,19 @@ def effectsize_df_plotter(effectsize_df, **plot_kwargs): delta_text=True, delta_text_kwargs=None, delta_dot=True, delta_dot_kwargs=None, """ - from .misc_tools import (get_params, - get_kwargs, - get_color_palette, - initialize_fig, - get_plot_groups, - add_counts_to_ticks, - extract_contrast_plotting_ticks, - set_xaxis_ticks_and_lims, - show_legend, - Gardner_Altman_Plot_Aesthetic_Adjustments, - Cumming_Plot_Aesthetic_Adjustments, - General_Plot_Aesthetic_Adjustments, + from .misc_tools import ( + get_params, + get_kwargs, + get_color_palette, + initialize_fig, + get_plot_groups, + add_counts_to_ticks, + extract_contrast_plotting_ticks, + set_xaxis_ticks_and_lims, + show_legend, + Gardner_Altman_Plot_Aesthetic_Adjustments, + Cumming_Plot_Aesthetic_Adjustments, + General_Plot_Aesthetic_Adjustments, ) from .plot_tools import ( get_swarm_spans, diff --git a/nbs/API/plot_tools.ipynb b/nbs/API/plot_tools.ipynb index 9697983c..efcb95ac 100644 --- a/nbs/API/plot_tools.ipynb +++ b/nbs/API/plot_tools.ipynb @@ -1509,8 +1509,7 @@ " width = bar.get_width()\n", " centre = x + width / 2.0\n", " bar.set_x(centre - bar_width / 2.0)\n", - " bar.set_width(bar_width)\n", - " ..." + " bar.set_width(bar_width)" ] }, { diff --git a/nbs/API/plotter.ipynb b/nbs/API/plotter.ipynb index 3d7bb06e..3db03ba4 100644 --- a/nbs/API/plotter.ipynb +++ b/nbs/API/plotter.ipynb @@ -119,18 +119,19 @@ " delta_text=True, delta_text_kwargs=None,\n", " delta_dot=True, delta_dot_kwargs=None,\n", " \"\"\"\n", - " from .misc_tools import (get_params,\n", - " get_kwargs,\n", - " get_color_palette,\n", - " initialize_fig,\n", - " get_plot_groups,\n", - " add_counts_to_ticks,\n", - " extract_contrast_plotting_ticks,\n", - " set_xaxis_ticks_and_lims,\n", - " show_legend,\n", - " Gardner_Altman_Plot_Aesthetic_Adjustments,\n", - " Cumming_Plot_Aesthetic_Adjustments,\n", - " General_Plot_Aesthetic_Adjustments,\n", + " from .misc_tools import (\n", + " get_params,\n", + " get_kwargs,\n", + " get_color_palette,\n", + " initialize_fig,\n", + " get_plot_groups,\n", + " add_counts_to_ticks,\n", + " extract_contrast_plotting_ticks,\n", + " set_xaxis_ticks_and_lims,\n", + " show_legend,\n", + " Gardner_Altman_Plot_Aesthetic_Adjustments,\n", + " Cumming_Plot_Aesthetic_Adjustments,\n", + " General_Plot_Aesthetic_Adjustments,\n", " )\n", " from .plot_tools import (\n", " get_swarm_spans,\n", @@ -644,6 +645,10 @@ "display_name": "python3", "language": "python", "name": "python3" + }, + "language_info": { + "name": "python", + "version": "3.11.8" } }, "nbformat": 4, From c79688dce8f6cc95e5677ece98f18b686ecd1110 Mon Sep 17 00:00:00 2001 From: Jacobluke- Date: Wed, 18 Sep 2024 16:32:31 +0800 Subject: [PATCH 41/42] Fix a silly mistake in type hint --- .gitignore | 1 + dabest/plot_tools.py | 3 ++- nbs/API/plot_tools.ipynb | 3 ++- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 5f112e28..99237c7e 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,7 @@ _proc/ .gitattributes .last_checked .gitconfig +.cursorignore *.bak *.log *~ diff --git a/dabest/plot_tools.py b/dabest/plot_tools.py index b6582c85..528c5fb3 100644 --- a/dabest/plot_tools.py +++ b/dabest/plot_tools.py @@ -356,7 +356,7 @@ def single_sankey( strip_on: bool = True, # if True, draw strip for each group comparison one_sankey: bool = False, # if True, only draw one sankey diagram right_color: bool = False, # if True, each strip of the diagram will be colored according to the corresponding left labels - align: bool = "center", # if 'center', the diagram will be centered on each xtick, if 'edge', the diagram will be aligned with the left edge of each xtick + align: str = "center", # if 'center', the diagram will be centered on each xtick, if 'edge', the diagram will be aligned with the left edge of each xtick ): """ Make a single Sankey diagram showing proportion flow from left to right @@ -437,6 +437,7 @@ def single_sankey( if align not in ("center", "edge"): err = "{} assigned for `align` is not valid.".format(align) raise ValueError(err) + if align == "center": try: leftpos = xpos - width / 2 diff --git a/nbs/API/plot_tools.ipynb b/nbs/API/plot_tools.ipynb index efcb95ac..eea68c7a 100644 --- a/nbs/API/plot_tools.ipynb +++ b/nbs/API/plot_tools.ipynb @@ -409,7 +409,7 @@ " strip_on: bool = True, # if True, draw strip for each group comparison\n", " one_sankey: bool = False, # if True, only draw one sankey diagram\n", " right_color: bool = False, # if True, each strip of the diagram will be colored according to the corresponding left labels\n", - " align: bool = \"center\", # if 'center', the diagram will be centered on each xtick, if 'edge', the diagram will be aligned with the left edge of each xtick\n", + " align: str = \"center\", # if 'center', the diagram will be centered on each xtick, if 'edge', the diagram will be aligned with the left edge of each xtick\n", "):\n", " \"\"\"\n", " Make a single Sankey diagram showing proportion flow from left to right\n", @@ -490,6 +490,7 @@ " if align not in (\"center\", \"edge\"):\n", " err = \"{} assigned for `align` is not valid.\".format(align)\n", " raise ValueError(err)\n", + " \n", " if align == \"center\":\n", " try:\n", " leftpos = xpos - width / 2\n", From 144179b4c520073fc97c56623ede9e642a38302f Mon Sep 17 00:00:00 2001 From: Jacobluke- Date: Thu, 19 Sep 2024 13:35:00 +0800 Subject: [PATCH 42/42] Generate test image baseline for contrast bar --- dabest/_api.py | 2 ++ dabest/_dabest_object.py | 2 ++ dabest/_delta_objects.py | 2 ++ dabest/_effsize_objects.py | 2 ++ dabest/_stats_tools/confint_1group.py | 2 ++ dabest/_stats_tools/confint_2group_diff.py | 2 ++ dabest/_stats_tools/effsize.py | 2 ++ dabest/forest_plot.py | 2 ++ dabest/misc_tools.py | 2 ++ dabest/plot_tools.py | 2 ++ dabest/plotter.py | 2 ++ nbs/API/plotter.ipynb | 4 ---- ...st_01_gardner_altman_unpaired_meandiff.png | Bin 27322 -> 28273 bytes ..._02_gardner_altman_unpaired_mediandiff.png | Bin 27864 -> 28806 bytes ...st_03_gardner_altman_unpaired_hedges_g.png | Bin 25271 -> 26000 bytes ...test_04_gardner_altman_paired_hedges_g.png | Bin 36369 -> 38727 bytes ...test_04_gardner_altman_paired_meandiff.png | Bin 39169 -> 41586 bytes ...5_cummings_two_group_unpaired_meandiff.png | Bin 28310 -> 29225 bytes ..._06_cummings_two_group_paired_meandiff.png | Bin 45028 -> 46969 bytes .../test_07_cummings_multi_group_unpaired.png | Bin 40619 -> 42431 bytes .../test_08_cummings_multi_group_paired.png | Bin 55131 -> 58615 bytes .../test_09_cummings_shared_control.png | Bin 62382 -> 68066 bytes ...t_101_gardner_altman_unpaired_propdiff.png | Bin 24558 -> 25502 bytes ...3_cummings_two_group_unpaired_propdiff.png | Bin 24789 -> 25749 bytes ...cummings_multi_group_unpaired_propdiff.png | Bin 32356 -> 34114 bytes ...t_106_cummings_shared_control_propdiff.png | Bin 43588 -> 48886 bytes ...est_107_cummings_multi_groups_propdiff.png | Bin 47200 -> 52635 bytes .../test_109_gardner_altman_ylabel.png | Bin 24329 -> 25235 bytes .../test_10_cummings_multi_groups.png | Bin 74212 -> 79452 bytes .../test_110_change_fig_size.png | Bin 28410 -> 29284 bytes .../test_111_change_palette_b.png | Bin 32406 -> 34212 bytes .../test_112_change_palette_c.png | Bin 32399 -> 34211 bytes .../baseline_images/test_113_desat.png | Bin 32417 -> 34227 bytes .../baseline_images/test_114_change_ylims.png | Bin 31692 -> 33592 bytes .../baseline_images/test_115_invert_ylim.png | Bin 32295 -> 34120 bytes .../test_116_ticker_gardner_altman.png | Bin 20164 -> 21147 bytes .../baseline_images/test_117_err_color.png | Bin 24573 -> 25515 bytes ..._two_group_unpaired_meandiff_bar_width.png | Bin 19971 -> 20927 bytes .../baseline_images/test_119_wide_df_nan.png | Bin 35157 -> 37811 bytes .../baseline_images/test_11_inset_plots.png | Bin 287450 -> 293376 bytes .../baseline_images/test_120_long_df_nan.png | Bin 35157 -> 37811 bytes .../test_121_cohens_h_gardner_altman.png | Bin 18976 -> 19938 bytes .../test_122_cohens_h_cummings.png | Bin 17930 -> 18823 bytes .../test_123_sankey_gardner_altman.png | Bin 27360 -> 28109 bytes .../test_124_sankey_cummings.png | Bin 21104 -> 21379 bytes .../test_125_sankey_2paired_groups.png | Bin 36288 -> 37942 bytes .../test_126_sankey_2sequential_groups.png | Bin 36288 -> 37942 bytes .../test_127_sankey_multi_group_paired.png | Bin 62087 -> 66606 bytes .../test_128_sankey_transparency.png | Bin 27129 -> 27865 bytes .../baseline_images/test_129_zero_to_zero.png | Bin 19208 -> 19945 bytes .../test_12_gardner_altman_ylabel.png | Bin 30595 -> 31485 bytes .../baseline_images/test_130_zero_to_one.png | Bin 19324 -> 19860 bytes .../baseline_images/test_131_one_to_zero.png | Bin 22547 -> 23204 bytes .../test_132_shared_control_sankey_off.png | Bin 45923 -> 49663 bytes .../test_133_shared_control_flow_off.png | Bin 59598 -> 63188 bytes .../test_134_separate_control_sankey_off.png | Bin 48273 -> 51986 bytes .../test_135_separate_control_flow_off.png | Bin 63181 -> 66909 bytes .../baseline_images/test_136_style_sheets.png | Bin 32082 -> 33962 bytes .../test_13_multi_2group_color.png | Bin 40318 -> 45058 bytes .../test_14_gardner_altman_paired_color.png | Bin 56856 -> 56321 bytes .../test_15_change_palette_a.png | Bin 42428 -> 46752 bytes .../test_16_change_palette_b.png | Bin 39879 -> 41519 bytes .../test_17_change_palette_c.png | Bin 40937 -> 42848 bytes .../baseline_images/test_18_desat.png | Bin 40954 -> 42839 bytes .../baseline_images/test_19_dot_sizes.png | Bin 36596 -> 38444 bytes .../test_201_forest_plot_no_colorpalette.png | Bin 14241 -> 14172 bytes ...test_202_forest_plot_with_colorpalette.png | Bin 14296 -> 14227 bytes ...horizontal_forest_plot_no_colorpalette.png | Bin 17704 -> 17635 bytes ...rizontal_forest_plot_with_colorpalette.png | Bin 17719 -> 17650 bytes .../test_205_forest_mini_meta_horizontal.png | Bin 17515 -> 17446 bytes .../test_206_forest_mini_meta.png | Bin 15367 -> 15298 bytes .../baseline_images/test_20_change_ylims.png | Bin 40537 -> 42316 bytes .../baseline_images/test_21_invert_ylim.png | Bin 42313 -> 44246 bytes .../test_22_ticker_gardner_altman.png | Bin 25178 -> 26110 bytes .../test_23_ticker_cumming.png | Bin 40979 -> 42733 bytes .../baseline_images/test_24_wide_df_nan.png | Bin 44271 -> 47093 bytes .../baseline_images/test_25_long_df_nan.png | Bin 44271 -> 47093 bytes .../test_26_slopegraph_kwargs.png | Bin 33195 -> 35195 bytes ...test_27_gardner_altman_reflines_kwargs.png | Bin 27906 -> 29405 bytes ...st_28_unpaired_cumming_reflines_kwargs.png | Bin 39504 -> 40688 bytes ...red_cumming_slopegraph_reflines_kwargs.png | Bin 27930 -> 30814 bytes .../test_30_sequential_cumming_slopegraph.png | Bin 109216 -> 120111 bytes .../test_31_baseline_cumming_slopegraph.png | Bin 107492 -> 117727 bytes ...cummings_unpaired_delta_delta_meandiff.png | Bin 54482 -> 57073 bytes ...mmings_sequential_delta_delta_meandiff.png | Bin 64529 -> 70231 bytes ...cummings_baseline_delta_delta_meandiff.png | Bin 64529 -> 70231 bytes .../test_50_delta_plot_ylabel.png | Bin 67701 -> 73884 bytes .../test_51_delta_plot_change_palette_a.png | Bin 64630 -> 70260 bytes .../test_52_delta_specified.png | Bin 53102 -> 55365 bytes .../test_53_delta_change_ylims.png | Bin 66553 -> 70069 bytes .../test_54_delta_invert_ylim.png | Bin 66172 -> 71463 bytes .../test_55_delta_median_diff.png | Bin 53947 -> 59148 bytes .../test_56_delta_cohens_d.png | Bin 43312 -> 45112 bytes .../test_57_delta_show_delta2.png | Bin 45871 -> 47666 bytes .../test_58_delta_axes_invert_ylim.png | Bin 56564 -> 59132 bytes ...ta_axes_invert_ylim_not_showing_delta2.png | Bin 45871 -> 47666 bytes ...0_cummings_unpaired_mini_meta_meandiff.png | Bin 58150 -> 61593 bytes ...cummings_sequential_mini_meta_meandiff.png | Bin 74580 -> 81481 bytes ...2_cummings_baseline_mini_meta_meandiff.png | Bin 74580 -> 81481 bytes .../test_63_mini_meta_plot_ylabel.png | Bin 77337 -> 84133 bytes ...est_64_mini_meta_plot_change_palette_a.png | Bin 57976 -> 61235 bytes .../test_65_mini_meta_dot_sizes.png | Bin 53306 -> 55896 bytes .../test_66_mini_meta_change_ylims.png | Bin 92264 -> 98115 bytes .../test_67_mini_meta_invert_ylim.png | Bin 78943 -> 85824 bytes .../test_68_mini_meta_median_diff.png | Bin 68762 -> 75347 bytes .../test_69_mini_meta_cohens_d.png | Bin 49274 -> 51791 bytes .../test_70_mini_meta_not_show.png | Bin 53565 -> 56068 bytes .../test_71_unpaired_delta_g.png | Bin 50144 -> 52404 bytes .../test_72_sequential_delta_g.png | Bin 64529 -> 70231 bytes .../test_73_baseline_delta_g.png | Bin 64529 -> 70231 bytes .../baseline_images/test_99_style_sheets.png | Bin 41192 -> 43104 bytes 111 files changed, 22 insertions(+), 4 deletions(-) diff --git a/dabest/_api.py b/dabest/_api.py index 7c8d0eac..a6399385 100644 --- a/dabest/_api.py +++ b/dabest/_api.py @@ -1,3 +1,5 @@ +"""Loading data and relevant groups""" + # AUTOGENERATED! DO NOT EDIT! File to edit: ../nbs/API/load.ipynb. # %% auto 0 diff --git a/dabest/_dabest_object.py b/dabest/_dabest_object.py index 3f618a2a..ec917b03 100644 --- a/dabest/_dabest_object.py +++ b/dabest/_dabest_object.py @@ -1,3 +1,5 @@ +"""Main class for estimating statistics and generating plots.""" + # AUTOGENERATED! DO NOT EDIT! File to edit: ../nbs/API/dabest_object.ipynb. # %% auto 0 diff --git a/dabest/_delta_objects.py b/dabest/_delta_objects.py index 30c44895..1827c1b2 100644 --- a/dabest/_delta_objects.py +++ b/dabest/_delta_objects.py @@ -1,3 +1,5 @@ +"""Auxiliary delta classes for estimating statistics and generating plots.""" + # AUTOGENERATED! DO NOT EDIT! File to edit: ../nbs/API/delta_objects.ipynb. # %% auto 0 diff --git a/dabest/_effsize_objects.py b/dabest/_effsize_objects.py index 59426a24..d1d3ce24 100644 --- a/dabest/_effsize_objects.py +++ b/dabest/_effsize_objects.py @@ -1,3 +1,5 @@ +"""The auxiliary classes involved in the computations of bootstrapped effect sizes.""" + # AUTOGENERATED! DO NOT EDIT! File to edit: ../nbs/API/effsize_objects.ipynb. # %% auto 0 diff --git a/dabest/_stats_tools/confint_1group.py b/dabest/_stats_tools/confint_1group.py index a9b0beb1..744a7142 100644 --- a/dabest/_stats_tools/confint_1group.py +++ b/dabest/_stats_tools/confint_1group.py @@ -1,3 +1,5 @@ +"""A range of functions to compute bootstraps for a single sample.""" + # AUTOGENERATED! DO NOT EDIT! File to edit: ../../nbs/API/confint_1group.ipynb. # %% auto 0 diff --git a/dabest/_stats_tools/confint_2group_diff.py b/dabest/_stats_tools/confint_2group_diff.py index 3b07eb96..c599e178 100644 --- a/dabest/_stats_tools/confint_2group_diff.py +++ b/dabest/_stats_tools/confint_2group_diff.py @@ -1,3 +1,5 @@ +"""A range of functions to compute bootstraps for the mean difference""" + # AUTOGENERATED! DO NOT EDIT! File to edit: ../../nbs/API/confint_2group_diff.ipynb. # %% auto 0 diff --git a/dabest/_stats_tools/effsize.py b/dabest/_stats_tools/effsize.py index 32f965b1..f5a0d4fc 100644 --- a/dabest/_stats_tools/effsize.py +++ b/dabest/_stats_tools/effsize.py @@ -1,3 +1,5 @@ +"""A range of functions to compute various effect sizes.""" + # AUTOGENERATED! DO NOT EDIT! File to edit: ../../nbs/API/effsize.ipynb. # %% ../../nbs/API/effsize.ipynb 4 diff --git a/dabest/forest_plot.py b/dabest/forest_plot.py index 7d29464f..583ece0c 100644 --- a/dabest/forest_plot.py +++ b/dabest/forest_plot.py @@ -1,3 +1,5 @@ +"""Creating forest plots from contrast objects.""" + # AUTOGENERATED! DO NOT EDIT! File to edit: ../nbs/API/forest_plot.ipynb. # %% auto 0 diff --git a/dabest/misc_tools.py b/dabest/misc_tools.py index ea08dc1a..8690eed9 100644 --- a/dabest/misc_tools.py +++ b/dabest/misc_tools.py @@ -1,3 +1,5 @@ +"""Convenience functions that don't directly deal with plotting or bootstrap computations are placed here.""" + # AUTOGENERATED! DO NOT EDIT! File to edit: ../nbs/API/misc_tools.ipynb. # %% auto 0 diff --git a/dabest/plot_tools.py b/dabest/plot_tools.py index 528c5fb3..12889870 100644 --- a/dabest/plot_tools.py +++ b/dabest/plot_tools.py @@ -1,3 +1,5 @@ +"""A set of convenience functions used for producing plots in `dabest`.""" + # AUTOGENERATED! DO NOT EDIT! File to edit: ../nbs/API/plot_tools.ipynb. # %% ../nbs/API/plot_tools.ipynb 2 diff --git a/dabest/plotter.py b/dabest/plotter.py index 523712b0..86aa45cb 100644 --- a/dabest/plotter.py +++ b/dabest/plotter.py @@ -1,3 +1,5 @@ +"""Creating estimation plots.""" + # AUTOGENERATED! DO NOT EDIT! File to edit: ../nbs/API/plotter.ipynb. # %% auto 0 diff --git a/nbs/API/plotter.ipynb b/nbs/API/plotter.ipynb index 3db03ba4..346cfb77 100644 --- a/nbs/API/plotter.ipynb +++ b/nbs/API/plotter.ipynb @@ -645,10 +645,6 @@ "display_name": "python3", "language": "python", "name": "python3" - }, - "language_info": { - "name": "python", - "version": "3.11.8" } }, "nbformat": 4, diff --git a/nbs/tests/mpl_image_tests/baseline_images/test_01_gardner_altman_unpaired_meandiff.png b/nbs/tests/mpl_image_tests/baseline_images/test_01_gardner_altman_unpaired_meandiff.png index e45d3b8365efdaf07fecba2fd8058a4c726511eb..9881e2e917c5434b91e69f9be80e4bbc2e15e63d 100644 GIT binary patch literal 28273 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 bsAqYzvd+uOF)chpj!s)sPa{+9`1OASM%iqm literal 27322 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 diff --git a/nbs/tests/mpl_image_tests/baseline_images/test_02_gardner_altman_unpaired_mediandiff.png b/nbs/tests/mpl_image_tests/baseline_images/test_02_gardner_altman_unpaired_mediandiff.png index de5d07ef914ba86ad3fe79cd5e297ef7a6d89603..d12112cb1b2e2d2db2a9ca68b9bf99ab17728c7b 100644 GIT binary patch literal 28806 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�RP5{>maQkf%21T=+4u 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 JPxa{e{{T(&c~}4d diff --git a/nbs/tests/mpl_image_tests/baseline_images/test_03_gardner_altman_unpaired_hedges_g.png b/nbs/tests/mpl_image_tests/baseline_images/test_03_gardner_altman_unpaired_hedges_g.png index 80d36fcf9d22d0c2f4f4369410bee4c57eded0a7..13627f6a96d40392c6ee63deeeba49cd971a619d 100644 GIT binary patch literal 26000 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 diff --git a/nbs/tests/mpl_image_tests/baseline_images/test_04_gardner_altman_paired_hedges_g.png b/nbs/tests/mpl_image_tests/baseline_images/test_04_gardner_altman_paired_hedges_g.png index 3052b15953b6c90fc98191de4818d572b3f8ee7f..37c2cfd6e43693b222e6bf1e7367f0fdf99896ee 100644 GIT binary patch literal 38727 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 NjWyJ{{p$jFvb7? literal 36369 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
fwS!lBLTNoz%e~g;AQu+m!E{ca0 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

x0*WNAJ?F97;q>tdbfMHMpAKjA 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 ZFLwxpoITH|ihIOSI+{B*?x|V({|^Wb(Rly> diff --git a/nbs/tests/mpl_image_tests/baseline_images/test_06_cummings_two_group_paired_meandiff.png b/nbs/tests/mpl_image_tests/baseline_images/test_06_cummings_two_group_paired_meandiff.png index 5571d0315d21cd10128fb366ece621967fa2ea5a..d8c15a9d9e76bc70059df09b24a3c54fc6e0f723 100644 GIT binary patch literal 46969 zcmeFZc{rDA`!8%xQjwA*Q6Z5iQ8G`7NRlKonG+H+B{FAdBAGH(LI@$5r%DnsC4?kX zlBtaQbM?Hx{qEmB_TT$>|9IE&U28q7hx>aE*L9ws>AZtAHIA=mU}vD9pjdxGMNx}_ zf=ZYCO;3kEDYJO+1^-&>pmP2S1;s`a@;BvEnJ3m16ompO6y>zt;>LTfxm_5F7hAay zmDTvtyz7o@eMx-Hhk^0Ms!i<_>$$o2UtB!>V1s{)mc+dllbDySE)44#FY^oUPuidF zzuEASCRM(99}Ay(!QkPSJd^Df6D@z2Z_mf&+I8i!Tq~F9NNafMyhkd;Y;11YvuXbJ zT3;@oApEt9*Cv0BtfHc#XtS^}GyYOyqh`gwPTv&y|Nry<%H0Sn@hR|Hba`X`A}4xz zao%WVMO|IJGslE_)22<2+H4%B8^u!|KenJz*1%J`t2AS^@vD~9(y!_VGS|J|T&1O@ zrS7focQBqEZOhTiavKQdV`5?PGg=-!r(5jA6TahEKx%4gKgU5lQ}s=QV#fQ8$~eY4 zvUj$4c`uI{4Sp%Ua>VV|qsiR-!KifX?D+dSdgLC*wdN!2z z$@~~BwC@S|J3Sou-cvnZV#_(hYdpQ)ixd59yU35qz2A7-mp_z z^6ONkF_V$^U!L!cu^q!NY1gqndi9FkrNpZ!K#g3`o1zQ5wD)cwMnwB3A~)UoQ#b@mU(q^U zwJ5>LJ3MNs*_U69@Map7a~`t%P_xnd7q#c_w|pj(!%oE%6sl=2nlA0TzwaB{u3fv5 z8$|4*={@%C-CNNp-goOj*&nJKvRvaLHU;byU#Hv_zI=BnQ3&V8Prl+9w5Q9EIe-5A zFZa?PKYs@3WK3M~Fg4wEPnGAr#g)YFnz5GF)Es%i52`ud&SDapygW_7o6YJaWSz#(gB$T=`L_@6_#_IYhR z9?nr2cl63GF?;g6ZgoAIOfFowkT@2;Qzm?)^dAb__DnhLPyW%)D@)hnq&&pF70r%y z41P>f;O5RqPNrI28kTYFzErq=vLZMr$f_k0yZzQ2SHM7sz;hqHtUBDN$hf#$txrx3 zww*IlI(d?DZlXKTy7e(7g-({9|BhoWkA@rax+iew{d(-{=ga1$YHDh}{vA#{&c#%b zYgTV8%D(8;n{qtD^yio2xJsO4awxm2+Ref*PV0I-r`07_m!@;N?1b6FbPMfwB)E^J zhuYs~*|{@fqPuYLSl{0b-b;f!ce62?wmm!hr!Cw2uyGNNv5P&#QQYsa-Vr|~JXXKM zKW%bIiK>&J6C~e2Z&pEmC`9=G8~>TJmO01!_uWKU-n&Wp`7_D&(#tcgk#Ehtg!bLH zp;1;Pi(8KDR;R;aVgpZPmibN1%mSUuqm8_`IXXJFbT}1DwkYhzg`KeZvL1iZrW8UTgb>E>o7v zCy>*fe!ji$S9&oX4O+=zIAN&PkUjRe{JYig>-Gxj^_q{WLAe) zzkaRsJL36AIA3oRh*v}&BzkmPgAAPj;vOZmA zc=(2;#q!l--ZLpXE3HH~jFk1Q%oQq>m7z-H8dp+zPS_e%XJ22om0bBVc$;G%b93r$ zda8W_0$7_H9-QPo8FP@aK-|n8;B_iVZ=IXiSzqo*qPoF+< zHw7>=H?MA@p|t!ES1FMF+E-?IlmnuZk&40hz}?cc=05;#+Y^6+DP{PhpV2+7~{DBbeUyYsDC#4ddnOi z{a<5TfOE^w&*u^s--|v#tqRdP0EBx7yEd+bR3{{+(b9&FjJG`Gpp`33z|+=MFo!a@J7hO*w?(iC5p{!Tkc z#6OU@`pj9MRG3#;WO-h?bg5|Wvu&X3FH~1qVYZs|Gf#4^3~S^U6eQ*3FxhrISJKgG zx7rwH^_~rfUp`-8vjvOR@%Oj4kz+37oi`E=oK9&r9;^#{AYw+Ry>E-lWN(ffdZ zhizHs#=EG)lv(Dcj$)hNHNeq>S@_7&ot>Q@J$*_qaPGOHvU1(Oqi@5}qsMHG7TM>1 z_Jo$N%w{{3^t}1-p>Do>)obZjpv<_qK01%Z4Ot4(Vq7LZ`=d{sL~knWbr(QYK8`zV z)_yallHDFeUlD7Ep+b6xgV*U%w8L7Hih6^ifh2ef!r_nqT)Q#|G>*Y5|>0pGxDPAJd%^E*vu69797x zTDK*sS=F@}bx||!H4RtyR|n==HgO(_*LWXyl%*m1z;P`tt(t`0O!SXX-th}hpFQ){ z7ph06bQ}y5f5FVJZuRe%Z*`2__r2dRR5jj}2k7^Ld(uZF^80rSj$YF$t)&y?YQPo@O(Ld#uYMj4$E=Y`qxR(=6}EEfZtoQk+X*U-mJTboGZNFyhE`ZP1?FTTE1Z-#z1T&GkVWCGZ1rWtZ6ar|0AIo@5k(Yt)-mGAE>UtDYe z_BpVad+gXT$MH@Pa{gkm>v4~ZMxSK}U-^Errmjxect&w>`@bU$Iu++!U-jlV;y{5T zOn+~zZb?&P-nsMo`G~Pucd|Y1MMtNg2JXAhfZc$`rr_=_VSe!ZO+(7&KlS7p$>DDE z>(ctk@$1&s)*Ada3z5n|X>}a^#P3#W_-$yYzx~4H+E3|cm|0j@D$mJ^I+Dc@cBQAM zr?c?#&JCQB^c28k(ourvozAOWE%ngh*|W#^?H!&6QXVdfHibdFq>m*#z5`eTsyX8P zgUS5hHdZ11AXH1E-*vNF$IjRC$R<~kHpgy>l||Nkb>PO``}Q$}Zaq+!tQ0DAR5#ah z%js|A#)q-shIq`4SKi)zoN337ur#%3)BY-d&5Sk$Z^60DUF?QrMVQ64+0-UTc{t4c zIE@}|{P*{eZjnQOq-AtxUWnDVf0uBYHI%l*by67*8IVTjxqdKEnryoEh7reqKlJb0 zL<|fJ$hN`8pu4Z?FYvsG3b%Q?R*q@YzU1awatD>2U0g`bKjOV~8}i%Iu_Y=(*Yf;ISEPio<)MHF3jyWU$p8;h2-8t?t{mFY>{IpbPfJ zw1+I-vk7yk=O>&+l^kwLJbw1lWj;Z{Kds{R#>QJIO?2lE20= zo!nOPe6exeek28c?Cte#=BdJ(pzz5bd;Q~~?Q=PtG>%c#JBd2@;FzmWILA@nqgTEw zey3$>zKPCylK?$%3l&w>s*o)LfVzx|N=p7x-pR9>FLVX99uX|uF{Y%i&%waJpsA_p zgL=}b{3Nxwxc;;1f8Nr|O-c8Pvoe#iq#Puf!`V{k)E&iFAf`VW| zpie65>N{NJZvSw))$KDI+qXnFJ3ISlX}W2RSK|MHa~v@p+>;!fjpH428JAU8Uw`NB zT>`aDKIdDT_?<0EII9*dREsBBced#nV2pLtv**t@NGER8%VNcs75#oEa62}(A&=c! zYkM?hMoJ3x>dNG5_|D}Y#}y>}>V}*sWjiN$Ym8_HL=+Xbo;i0ekX+Tvm#qB!{Dc%f zR*!ABeEit8>DiATRwrY{F6qx^{&p{Ynvro={;Z`X-#4eDFY@xpy578bbA^>?cxZ>b z=%%`h74G0cx3MGu`>a&v&t$YwP(;+X4vQ6b?{H#dK7GWOi+l^YC@(LmmX;QW#fid{ zqN1WxMQlw{87ST!9wqtX=K%F&xhP5vBT&TkuQVQh)7ZFUMoe1qZX-w-mU(qXc3DVc zta!Eg!4n-NJ@$V*r9ZW`$z`+wd*wEHp>!r`?=umLUHrmp7@d$H{dHRA_nX~bkEg^h zeZHw4D`rrY!JRxM&qRYoWLzJ<sH>)cx*Ho4yelS-k}YRi}dBa8=N9% zjqg>!s?O9ANKQ$)efO>(PJ-Rv-(ThA$!~&Nnz?S3tv#KKE>PFQsAFx--|I11 zD%~OT_uE~NL$`kat&xd|8!5=Op&>ukh~KxP(0kdPfLQ{Q!IalfJbn7K0+8vH=cGs9 z_L!}5ie?EorOeD4oRaaun8^G0{Q-c--ZV7a^=)$-KR@JDta;|lZvTDY>i+UKzI@Tw zckQ`~lkqXk-Z^2iDa_*^i_Or<8f{%;3*JS_gnOA{Nl*BT7Y6}F$QLPq3MO1%xkf`p ziH@7u$M5;Um|1-T)&^h))`m})owAFI7-zp5)3{XPMJeQ&XK~UdPI&<0rq?%dCj_R&o(2Ky(VTGHKtSfCw&n zQX)z10bcp`{rdoRzp{pgMq1L2oDKic>VW#tl2Be`#tv2V(QOP=o*H6^|F)!xW6|gMl3CP{#2C{4Pnc% zdjBjVqk5$ENgC%x3a-0vnYM1-y6Khs^;=7o;;VZ4?$s!?#bVa}O-&bV|tMl&rMI-0a zJ@HfA2b8x8RFsKcWj;7OoKx6m#93nRebs=RwOs!VfotmP-?}#aJt;kX?d8(hs84w| zSeYrkq-GC-n`q6?ynHG4#{8i9#fv5*Eoo$L>FKer8f^-rX4Dn^`PTg4(>5D?QXfAK zkWyx%advf8tIV*Z9~&Q6ymV>*xQmC1+D3nQ=1oOa{yDiWb8O28a%bN?Hz+aA)fK+@ zZnL?$IpILqY;1?5GC&DZSs4ln3V!|d42p<2E+k?ST$w zOLk}pv)$~m-*{|Y`| zCDHyrB+AI}y6XgAa1U0yzGKIZ$cCW@2QP+*hDOE3y+6M%*)hEQZ}3Xu)2Dl_AA`;c zjEexyx|B$bJDDpeP@}-<3!Qu81sqPNAATz$!qUWv=FhS>$5AI50^rV^VcE<;ixz;Y z0>a=>yXD+1)uw&mB+bp-w9j6>lE4rDaF*E2$~rKbk*#cRFLY0JC@4HMC}1l!Ycmtp zmO^&N#-jT{9b^8D7Go?G_(mHW8{+~!K>M^oh*or0E%sQ7R!#r)JmU0?e&uh|^bdVkgbTtd*{xbKTmvG z=~8W0VQ&bkD+-QomJUvBPBeM#@g&U(V_|%5mKre8xJf2>hyHG~ID}oef!X>oKnLB8#s>m5KRn^Ehsox4pJIn$S+>JV4nC_p)Xue5L4ekLxpCb2m->e zZXIgCdVhJ5U4z`o&Ej^HYD_ee3qMlaM$)3c&M$J`eM``axrId)^bkJ2HBHisf}GdB z-R@_nYJRZi?%PLN>G(w6xwC1GO^)fSvqUwWFfJB7pc*TljZt+Tw_=;Hk9EQ4wYiK# zv+h%G`4YeSZIrHna(esTy_-bV?0Ru=_vgHK6E1;v5AE{0h-6DDHX15f;-;npLAU&a z>Jm)W>8{Qit%9z*QLfHiUJZaovFV(VSAlb^#*^w-SI2&Jl&{>U3|+W7H+~-cC0)qo zV0-}|O3C)^p`D$&kW2lgctOKTN{)@6)V*+FJ5bwKha>VIZfU1$Q_~4&=^V3I4cpJU zZsm7$xiK^bvQ)7w${_2Ql9Oy9^<7k4Ty6hmAYW8H6H)flT3Wtn|9H03sdT%jgl|!f z6?7O@$Gi3hC$7vqLDl$iW$}H?p((=BixLueeNe`Ts>@BuEhZ+m$6@yMo;`a`KBG%M zefl)^*-nRJ_hh*~UOrv+*1Rg_kR|S^!q1duD>`Bfw>!i}brU4&onViVY z&4nOYJv$>x`NgIC5E^wALT}F2#>SV6 z9^0W7H2gHcEzo9r_@-v1_1(wRotzG`v$HRhF2A|G8+-qqgOrpylT)#0Mcy2$XTuP~ z_6ofV7aSq1N|$ETI4}v3+KIw);?O!e{ii*Ewer~8<@JpD2B&RpZ53Y%0RJ8FS`eL^ z?2GVPoJ&eeqXh(>|8iwx`*VYJc*26&ef*LbSE@7wUO84iwh_Vw{wMN#u= z)|~dN3xR!0-^Gg-f0iV*j!?)hTwEA=l4#lxwg1n`e7TJNsZ)1vp5*mYPPw6+GU94c zJvl!gLz|~72*<(7+WJPD&HAHervzCi50F)VLflV8zk5q9|t?caX>Fou6ppXS02k;53s**=h&Jo|nY!GGAJ>CTYrZ!~D z)2yu8-$M=mwh}5=Ky`mbnb)GGj!r=QG1u_eFxBF&=^CDd+^s@B!O=f|+K>E6P&4nR z>NK~D5oQ~3Q36M^$lFF_^{K&nz|ZEkHrm4O^=Vqc+(sOigqQtVjEdsSigX{ zr<}63OZ1v(VFPz^uw^F|D@BpMkR)y?(OU^yLu*DKx9iNIjF6h^Ec$E|N@?rFGInoa zov}{FVRIK{M!IF%oZEt%cM3qz1sl^eGz@?CY#-{Jb+EXI2y-aw{wg$T`O%+MUL5aT zlt6PGj&N`vGD9hiiHXsA3R!7Ta0~PLSd;a-ENiJ**QXATpS(_)Io#!r9|4?NrW1B# zwcBN7Z(j$x`D-ZJsA|Ny%2-&XyB<$jP``)?-@!h!Q-Ar=IrD=t1l}$zxaYroxr>Qj zHc68UCxI_|^Y-nHW~*;5VBNcTn?|%1tDg>Av_RxFiC`}LxOQvB!-o%1{uS5*_uYR- zN!_Wtf%bowgfz9aX`&naM@MbYKZt_)Phjv%EiyQbrUyt3xJp#$xj7drQFc%xx}!&r zs%U5gsHTk`S||2tBBZ9N*npXNeQgeHCV=vMay>f!(p+Krj_2G=Vf=IZ8}(n4oB@-26*ug`}M zA0pN7dP(mDoI@{g9J+sQm$-AniRxyq7T?nFq{mZ4KG^E89&VowV=B|^krf%dHU zEtjzE7cU%sd`yz-tG6#yNNN5Ry;)rXA|pOv>?W5t()n@k=ZAKRCmJB-F{iQ^!XBoK z#ZhG^HVB`U1+~7pt1B2MPE;L8Y6@Cfn=*B56AjOTcBQ2$F=!Lf257U=xB?fEs(zR6 zo!|$nOXmR6#qAaNn-zs^D93QaOEP&=K#N*f`FDE$qFh1YHiH81_iA#qEhA0+LU!?Y zc2dGX&0c@YWm4Z`I`ta;7UH|+*|Yw@YG0fh_7hrv_qi_1YQxL9x2k z$Y>k5v4*n({Z~P(d2Vr;&}m$%18|b|*|U{HPIBqmyM%-`sHSZKG_bO@t=?+ndBdQ@ zW%dF!uOV+MZ%@DeI~OG>naRr~$(3>2PADpf+a1@1;?vLj!Wu&VRTn5${l}PyOLDbC@N|TCG&I~4d_lSaecBBiZeRoqh6=}>VVQeT2wwh5#sI*f&zI(0T>L6>9m2t zdKl!ujl{g$o_0=E^fmAMxW$Fpv8f8`jgMZu*aTvw@anRT4lDX4-PQ5k5t1!Wbg%wD zK6+%rT`SR>W9P57ojqsr{e6s=*fDz>8zRtXopML7o-E?JfKs- z&WEpvj>P?YdYTyo`*yDK@#DK8M)iHpbcl5h?awGK-nM1SmaRSHQar^NN^=&tR!U~h zi8c4RD4CwopL(zIq%|02*ZJzz$`R*X5)$m}VRTrQz?|?Sb}x+vDQnbFwFBKB81X*y z_+;>#>Chd|vvkHHCoh~i(|XxJ;WEnbcZdlB)U%nYr%p|>>;;z2Md$-dksEh;-BzKS zaC3lYenBack@q(_)_Hz|v0a42 zjUt2FhS?j7%SuYNgIPUIPnT0tqSY7L3Yusv%$EA$FQj__EqulBZ!UE!=5@OL5``O; zn~d!JnxV80XLF)k^sTPU!#j8&?Il5>QZ6|?J)O4T^YZ0OX}QtC2$?#V48ML=Z`^oo zT+!@47rm9074d{L;w5PDyPz&#+{dzDBieL6i~$oeBg);?(ajVpmNcC3WU$4EL;_C+ zTj%E$`E4Q4Pg8^7ic;(2q_;JOfG1t4lc%21QafczY={qpPFzL+71+vA@L)?Hs+>;qXj z3TSul-aX=X5$z9tO6r5)ZMRSv_R~{wY&hOY(GDFIX3cEL3D+VD-j}J+ShUziuQ6xO zyGg=>#?@=>-Q;)Mjk)?Z060F-Ao?Z)`z9w{XJv(=71Fd&vdM)CMOP0`pWp^<-^0sG z+*x5ZMxZ<`kDvz+*dP=o!9+&UP_VGzg`EXOn9p36kNwTfqoEE(Q-bpBwpFv4&{o!s zoag!d*Av{X8h7KLdk8ZY5*g5`Zl1+@oovG}c<*IvH=Gt`du_$EDY`|FbsauXi58qM zfflxS!6=3@j`j#3fKPIAGGx5em;+NCFA)<6AGvmV?`CA7u&-J&PutlEqOW07rhYE? z^T%yumwhD*3XjuEBlIl_uEU47;F}?8;!cn~3>XJX33N6hIe8bf?^%yKelT`XW{91s zt)r6+V*v>MPyfd2M-KK0CNqnTTQdLb%3E_hg3}+Atm`Ug(XWR7<1!1)4jXS+Rnd3k zJ+W^APBKUa2HH_UR~YG&mXfnNtNlQx1Z*uu;{&Rh%TF7)Wjt9 zZk?Kk2HnB~jUyVj8qgTve|{UpU=&10Sd>6+5P|qLhrWNGvp(3}+Zztf zqOGm166;c!pIX~i#KUE|JX>J>1cLzo@Z4VK&6V)AsD^aj1sQ#76^XlrkVKR~DtxDk}e-MqYn`oJ>r*U34Ku3ZB2|<^%!?w0IErW;9j#blqq4wP4KSLG+q8O&|n!ukp@2;)}?XvE)$l>%D z7a^$DZ7i!W$Dv;yW;Mx+;EQUry=Mi8uTHjU;MhoTU1{iSCIT-|#JOX6*HBUJ;o%`0 z21*QBbTCyxigIn*_CbMH{uZXr1buO(;o_AzA8^6TX2#Jqq5Wi9Lc0`;Pk%xehiBJzO9<0;b=uD=sxS@x(26iN@)Oi@$m52 zH9qa+${&7_;&v1^2z1ei_I4dzK~{hrus=3NI+Ec*s3s^ZOv%h_Hz7pX9ic@vz{J5R@PfUPLAk~5X}If$P>bK5YGXEJV~k`$q<>4z&RC@6uLZ$m8r!vx-Fo} z0A&e#Zi~y>tl@)kZme;-`4cWB{Z7RT@kt>eA?&}$Pd5!J57^0oSOYxn#Dy_?oRnh% zh56Xt9snv0uO0ac=oVaXzo8xkg@ni-KfVSF?qgRMzt^eS$@@iBUtLPlCglLh^o62r zUcsuoedi8UN^=mQNum!=A5(CWY#y5}LX+I~g15*dwi4bf_CF;>`j6bDN7U{<-hRW|K2A)Yuo(oFw8QI+3M{i~Tz5&b(vCdR!BPBUB`MUy8gg z#=CEC;@prIMQ>E?`R(!2nu+>SQ{*#Lrt?z%@|4B;LScP_Q)rks^G&c;?B0J4?VeCZ z$;CpYZl{4NEFdMd1CNkG=%g(lAKxHCL*zD5>URd1Wv&kFX5eFER8E!sY+smyG7QTY ztsAu)nx7K*n?{0UFodb(ygU|oS5Czo?xmc-ibU$qZwo47bVI|$LMQIS!dUikfN3Sm zu$t}~rd>jdvs;5|)Xtqd*V(;rq5aNVa}$L~jVIebX?2@l^V3P!_IfG69)#=}E*}~M zq%4!XF4A;Z8LX|XRa8_W=RzeNzETLXhR&>>h&#M_^+1RjiiI+4lUvFu`Dbstxg>QO z=UXObChSDGMnO+&#?xTn{4Mq{-fy>*)3mlVU$38fG+)lFeiF)H)B&S#2;e6rXkEc2 z|I{Av#=Q%N`UQ)35J7-#&!6xycrbYFiF)I1FZ?AD7%3--7uFIYCF|F(hr;hKpHu;% z3+p1lSePCU2DkzG6cFDUVwMUCfpOcvxpP*S?VkLDj{_i&ZlAM&Ij3Bp`i*8r+ik|OG7I?apDBrft!Zefr$3H#+>rxNYm;@mbg$*?u=-Tu;N_D4#@0FgTC2XAPl*R-CJ2?N48 zacP@QrtS^m>vKMT@?>oVz^hGxp%WYXkM|`X1W< zq>zY#bK`X7iiqn^eF|9+Cn&`*8_0E_9^;-+i-?G5(IZk2#V(a_^a{yVA$168Ko-mg zSpFBhRc6kJCw-rvCgdrY(uY7@*KT$xqH$M%Y-_X9I+w{5;DW>=NR^2_e28yqy`tp0oY${8!otE@ zI4_Yz3cPzRCRqeQV2{CH1&jhXODm=DV1PVqYwP#c+!sL+utH+R;W^4}xg>C3wJau# z8e41s{{1a4j4Umm%p8BFm9B`E1W1PafI6A_kUzU)UCc>3$U<>(9Kec1998qI-tt&T zsfoudIoJ*c0nB*>U~hzN7dNdASPzmy;p088uzPgkd+gpNm@4~D&Ld5)ev5CO=}sT_Jsc^ zU$Z^}`v$5cg57k`{;*O5yCrQZ#1$Z1SXVzK>cj_|(Om1j9P*L}G@ zVEy*U_;@M(Q)(LbUp`iq%kuVd8Kv2Tx11rojjpCEg|Jc(L z20g)ZHp9ptrG29RqcD4OV?yl1hp9PN5${5-LT<~h2wFzn-IJJ2r~xov&_9sy);Ya# z_kkzI7Z}g3{;8KCi9XzE!hsM4)_rNW4M7t36S2IDp3=k+CVm-gl3Uvj&o!=4;49aR!n+<|h&Aq)FGTK5&{1AeNFBjr~ zB;Nw04EfEs*@~lOQ*r0@OjlWk`Qs`@A2 z$zIXbbzVhUD(n!#QA)^OJesrKE(CcK{jok`XFZYLe*boYxCmd6P{<-oDv*ee+Rvdu z7|+H-&JrTXe3HZ#YBjSrk8|;Va`I_hJl^@bg3!6NBKUJFpP&k(v!Jx0CE_-(hwALI z&AZ%4LK-LuXtHHns$Q1Zw^g^M74!b8GfiV_7}PNqa>^qtLFU43Ms?F2DV@A~zVP5u zp}*XEGtC@!xSBJEMy>)A5>wITOSFXW19T>Jj5%U45{0#Tc}6sR2qC(6)9$5)1c@Rn zvp6@Q02Kyw5%KU`=MgP^ui3T-(D*L4m4f7ONI27b%>P6)`mdy}x5v8XH^{{!pm8d4 z^v93LsQB885)t*(fz_1A=oky{-I97-N$Er)-=00lbpiXqpCPivY|(z=wP;l z17r#Xbn)iX-b2f!v4wT@_0?9Qb1@e~oUN#Y1bd7Gj|7`d@}ouD6zGl4Ja4o4yBg1% z52qO(MpgIa^02H6g~;Y-)sCTnOuT3 z?DV#uF!i|YVDfgvIe_L#!hIg8!j{t+ZK$6u!&1~+qBmQ=*!J>Xp3{&jsGG^e=Yq~6 z$KB6M=k)e&4(WH7NahB2!x!8aQ~wEx2Ot_C5YG_4)=gr-Ah6ENFYF2j!tECqmcg3r z4uLkiTskvzP@|j%4@d?T{$*Ztew2WC05nl$!$9^#Op^ZljRmQ8&{nkzrI@FX&F)ZJ zPDkn&I}fSKa8zKdc|v!>lnLE|g{^Yp#BH$);bCF-EwV83P=2CN>0wc6W35FTNq%@o z4hY7u-NBMtq~Q~p3G-jkQ#5OYZRXm0ZH@RB2kO|j%@4TfeMMu5rXLVMXI)%BIbRLc zl81+uXd)onU@5y=JQ^lk%vM*HJIk-j5PqMD(Ts~SVzY>}39_nn4oQhfVk@dBeFL-5 zIu`l)vmS?}8`J&!_aXezj~s?SLJ!D|U<}wgPCk8|H@Fy>6RwI#VKB4EUPbg&*4lbR zX?|qCY3{|q5~E+G59%f&g#gZvGBX*moj6)7O165~i|E3!BVl6{n4t}H z%-;|p@V$q$nwgoIiscnYevP<`;8nh@BQ+3E0GU4`wS#C;x~!ChgdT$tq~`}mukd0f zBQi3Qt5E{k9qn`H)GloWoIr3T$8E|K3vRc7z}SoGVzxNCS4ZMMNYhRXe4rcHl%gBm zws`Qo*hgM=b-|m-YtaEQg2Jzf3>0#Vc$!+JzLNmDjW3vm-- z`eJ=G+#I-d3aAoX_q3i~2(q}w5H-CRvTIk*k?1sP5$FPudHByf{u(0iT-MQX>QU3e z%;K`v>DO-7|8bGIq8kwLAbVEyRTx%hjLGQb;_!kjMYA>6*{$`*e*TQ2I*aTtP%13H z-@ku5V3I&SO)CjXC?sD$@DlJ~`_fq*GJ^rE%Dkf5QKJv zb&t=;m0Xc0cuEk!0NT)rXrHw5_naGFxg^R?a-5*$WZOJxh4hE3tnPQHuqhy{3RVl! zQ!R{Vf%s5RM6Ql%zfX|bj>l-S7zJIFs7$EB0GEE%{UG|vP|~CJUkF%QT8a!v1nh*~ z%3aC-C2iQ2QiukT6)QXqNFm(Z+)1Y#i}bR>f2^L}#lCG&$T(i&Dg(HzD2X^jQHIWW zGEsU5Y=1VyD?FMPF9@=FLR_hbbG-)oDPq!J;Q^aXe{>}C54pLg8P4KtEBrZaiMfaK z0LaydJ94AcW1c{ywQJWBC(@$v;g+dV;T;a z#9Hiw)QO8#w5;gw5agh)J$n9JLvKLj3M2-!vH%*s-1_@_(Ji3XweWy2 zezToQ)=CGy{)KS}x$KTpuVf+EHwmUc&+^+u zPsvu?^5fWQxP*fT4-%XTH!k(b6Ea`|X1MpjfqFDpq_1vcA`hWp==qEd+cN+AmAJH@7`h&+Tew#53cf#1^E=f@5g?GBBy43%Nhn{u<5)~KNV=iNt!BBC9tvaL9v3H zlFz+hZhNFL%ZWDv1ASW{N*>qIiPBzeNd(>@?Gf(t-RFnc!$``01^BvZa7zDo6yN4+ za1k*erd#HD6a_E!qBtZuz~U5;SV#`&kMPVxb(@|!AS+4c+%OdjRn8cENjJy1@`07Y zt`BvL7LU{CwOAec?=2^oAQ!-I7Zeg2ilA9wbwB-4k4a!wT;tsjRxBQhzz!$m-T|_W z_-&=9L7x(&P46|qAMAo6g(YpK+(&~t8-aBUV{&5 zNqkUYZbP&nu|a6A04Eq;ju*CUr=_})BWL~S;~vAR<*6j53DPLWl+`6px6kuSSm2VxZ zUpqf|2G= zpR_SuqxLX{L3|wxJ&nBYJ>55)^fX-bRR2kDqdg|+WPsn0gbAJ$QW(`kPNbFqy1xp_ zQysVyuRFXM=}Gh`WJpqA>tjKaVhg1JOBbL}^n0NdfcgztW6jE^^Bw(Eybei^$}E|* z;6Vk>I>?<^f`;r~F{FWVgC2_3{Rr`9tQD|f>}e3efnBgh z=9$qGpggjerx zAekUSF(=L;mITbpM<6j7=dzK6$k1Ogq) zE%(63Doe}*^NVSDhqkk`8$$%m)lIz!AhI@0*$)IApn(e%P9k38)h+*RM#;Ai+Ece9 zPvA?2s^K?J6!t}}eBK^}wB@mBu9c4^`p-?a2^g?D8p+}SWUhh)VQg&nacl_8|6*34 zmllDGZi%&RO4~5C{;BJq(Z9uPD!{w{OP=W8VB+Q8*WP~c$F*#IR-%U7y?c*|*4EVE zgl^rsB7R}_A`O2o^-&7wCA%>&fj)NE_gW5B3nfug_> z>{n2LyhFr$oo?IZz%#U`$a_{CqvF zK@xr#5w5*Ky=Gy#QU~5A?{lf(lCp?s`JuPTj~-D#MDRie{`&fPKAaUoD>n~_L}CO3 zZ!%ydxNM%8Mvh@St~1Y~u?n$aGHU?@Y0bOq%gHm7F?1rL!Ib>Fcc=8lJnsLT*a}mr zr$%>axBR$OA_g$fxJVDjZKaS8sX~U{@!K2bk-ktX~#mxDIhvV1~;I|uCcp}6Cv{={?EW?{}aM9YkYVZ=;+mt z$6eBim)}sHuoGa`IC=79qD3Oeph>LH+?S5*;ktUAjI(+x99g?u9kc6@k4Q;RKQZcX zVCDMhbZxB$1`*AXS$80R$74H^y)lN?*8Sg8F(wfw)YJe$eqJecGl2A^lsJ6*IOj;K z8eZA(?hI5|N9QHS4WuILi*_H|?LG))$jpC14cYyk{ z?kQ`y;xD=m)U4$f4nAZz&=mj~3?KW#?f5{*gbP9v0KlfWX+$ss+mSYD25!eqgke5&`xTd1^TOt?N}w3!|848D&iU zny|fd`mH2gHMXw)0oL$+Yc3Bp;y>2cT1X~xOweT!eIawgpo-)nLkwW~zJ~&ppv?Oi zqwJDegH6Gl$9o_sf+uPGDkIBZVUmCX+aJ_FRJsY#z^=z8w|;DUNOz|7({y72(lu~2 za&!gpev=}+3jj2WAxmewR{b8>BUiw;Qv(22c#ulMQV1s7Xu>q_8441xK9Gs64ASPY(-_1$rR zhOa;v+)aH~y3|SZo@@X9tUe#n)8dC&Y2+3Zs*r-u%2FTQ$ve0IF33ej8<9yN6~MGh zJzuY~dgEiBm62c#pecxlQDwqb3Oe+HTCK$(Mui0^@AfUuiV>jp3iEJ%zIT6le5C`yVivg73yhr_Qv$wRR zMn1>%4?|A=GY>bFL^b@gmeZR$Wlb20m?BT|o>7^<&cu(ZYzzQ8LaOP*3_d3M_I5|6FTq5?YwLKV4e~5~6R%9pwM5KUY%3|4+P>UDq@LjcAsod!8Bi`#qjcFIS+msI6 z#{2d1=}FjMBT;()Ri}+KRBqp6ES0Cuo<3saIYo;o9Z0>xXjF|xU%$=6d#V>Z#m^&$ zhpE!9So|NyX2}~`z&@{bHE^n?9ZdC37tf_PWHcCvH3IbekRT=C&lg&|Yc?HI2C%OY zk&QBpg<1!u`1n+!(EhF&$rO#(GeXLj|9Lg?cxu2X&>GT&?_<~n+!RvqE-)+zw=H(@ zN6h%zF9k;> zwHCDsb9{q4B};=$$}As{N#cwRhy_3$rFFp81qQ|a#v4P3R*kFK!-V^^ejf*3zwpPi zEQfZHB9&?>q4qDtd(||pSJJ$^yx_C)qNmAAm>dU{N$9+`;XwHYnOn927LVc@92`t@_=NBZPB2~ND3bh0qNv>)psPX&#_Y*60|xPGE*Hy5tPOUf!996VI}C=5{N+2A*t90Lk=K8( zh)VEb^MQHQFA12cL#|(~uN%4(%v5rw7^sG0iCFT^oLQt?v{imEhtAi|ZCv(Gf&aoR zm3P}pGKT5G&@CGK`-jRz#l%cW9uOD7NJmYqQCPFw<;+2~z5TvtiW_pf1t$pscc^XaK$W}}sDm%34k+1u-%Ixdh{&2Xy|i=(8tUl1{bg&PwT(u0 z?RVU!W%mnTO^<@S=@wF7Xj-3A^Dqg6iBu7h)1SK!AZD()e2XNF*x6Gx+n`fIBtUR6 zz27obypMAuoHy-Bi-R!^K%}0(D%WU5x*Xxa?bl*yPcV5mJdG&1+UyxqT~--GLB`qn z0)3%G=Z1_F{|iGWIWbvl`(jh9XiEjjbt3Z%`lcWqc-g%G76=)L$01MjrB>`S^H>@ zz29!Sqf>Te35SfpowQ2t6%{5H6~91A4lbg*23{^w)MKBX;@*^{UbAZj6NJzv@Kgss z+h*_3UZh5-PWkNF`=5Tbg74rpKY)S%hS4!D^)uSPMsLrQ2e)@qmDm1&K`;gsy%h8^ z+~v=~@=G#Uar})-!Fd_Do%{BwE=cqJb5n^A!Obma(=O4noEv22z?M@-`Jcdw(P*Z+ zSMcH|Y(Mg4a9$Ac`vbe246JQI*2BG(MP{;e&tp{T51sq&t1d`D%7l&?`$-SQ{d_>e zVP0T~miArV<>h_q4z+3b6B+~u?u6^!lf*i<-bS=VfFFeX9y^N}>FIrr9J^N|H1z=DPzYbV(9&B_!vvzFzK8OYH_!6)2WJW3iQ6y{YbWvOWyKnJ8Nq{#!@j>U6cX(tI zvH>kIi9vOAbeWFGbs~@;kQ&%*j=@VxSZ;V4c>TeNLu&?NqrrX93JG(9@rF1VdNeY0 zBaD(1EwNEr>G#~X2IEQ%tq;bWWH^PnCARn6bW{0GJQ;f!_TMX<{mYeAEICg(H ziKh;kqE$9naiMZpld)+sXS^=TGwKNgS-?15i$}pgNlc&8WKcpHcFnJo{D3=HA9`1H&Yzs z(#yMy0on_knfzX=rroi)RnrYs%x0wKdMp-D`Yf^ZkvMUt!jv3&SrYPYWR~b)3>mVF zZXof4hYv%bMyqu13@eaTRaB_=IUF9e9L5_u-|Mjvks9ch0Iga#o_DUQ+TG+YOQIyw z7D^`K=&3v`x#3DoG%!!n`64FOI33<<+kycnhQEf2WQxw}YDT-+nO*jkyCG(4& zSdCg?QTT!rYS*DwKn^9n6QU5V@e|%vQ;-ZJ9QV0p!`h0~Ir_1q(>$!d=QF7{MW0%8 zDD;z2<;%|J$(CF#BhJ9sYu9R&Drgt!Y=j;FM~yTCG+TTt^4JV8{JzTn5CZ^2YzL|X z@nk#3`k|EJy&5Qh#58~=M**k82bGe*E?h229>Ig@MGpJ)#5WDa+x0$5W>IXCHR7)m z@}y0vPa=nTDSOk79sApogZhu#+3)?}7Q9u&Cpf8Kxa%@mRTrfWzdJF^7kNoaEMiG38zh>JjP%5ap zC&Es8Tt0*;+te;)kz3XUdg%h!fsFw~<;%|XSGA-$pW9j(!t8g?jrrI>XhS{;RULDE zE_w)WD}t-ojEphv5b@{X%xh&3`0*ZZP{REoIC+JMD>*oVGPEuefeq`iZHSWNr?G3u zYnd=LavV8KX9;(Vs2@%1G0i0}Q$yDENlvKc$KdFMSVAit6Hy0~$8MFeUg!9g#jFvAC`djw;f z@B+A{jyH8c4Na9kKA?3G8wJgP;$~dh9ESP^kj=hhu~Kth&N2P$(q1vSE#d;K2Vl

^+qdO$@XDqGsvF$bJ|L96 z;M0`7tX`=b`SQwbSY4DKV5}d~m)qry+w*f_^gOi_a*N(z;e-VR2m36>D|&G8gB>79u?CLo#E+;#&_{btDnSlL)Rb^D9 z4K1~5Se;k^r8EvOxx3Z-q}TZ)tl3 zc;6R$<{fJO0L76!rnlbB5H<$yOkl~beB0ecO1jy_r$!|z6IIpU5SAvq;7^;SnV+8@ zmyzM$yKuuyk-V+FU~=Q!zdt{u%DV*ax8-o5y8p>s7#DEDii;orjHcAFGE~_3`}GtI zKEPl_Q&Urg94Aw9a&i)nKIK#0csivanYNOY`-=};aa~;uw)cPdY%KFTO-ac#Ej$Ip zG+A@L5|X|c{Z=J|rK783f$z)cRB&7HN-Clncg)Q?y!AHvM8SlZg`rnmaqLvYuI ziwFT77t7SZpo3nx$Xp)kEcc~%1ry468^@B6lPekP-X#{=tXH*qH4r$H_K0LbX3zxuv?a}*< zMs_HXVRFrt#B5n}zje>~yoLJx3{G*`wF~W5i>roHDe*bwzuU&RPaL-Nx9NOE$NG9MrN2uTI`@MQFPZy1V|Vuqk6tDVtR?`ZEY^lJ zn>%J1Wo3gOahtJ=J{%hqz67jB4rX>XwoRTN*fwSB3xwI~kC$@i3zKRA<*k zVLd?RrTvcI0zW)!%(^$F?Qm@vP)pts(pDf%w!$2}yJY#Bukg`lxiHhG!{q9`KwbbG1->=)Gx-y@Pzh?W4mvP>>E~joG0)hO z>?SL_=QDjiC#^QzQOPw_Iiz3hLWG2KE&SGsy}dh{+*&tZz^P(Fu{qTWJC|u9M8YY? z{T3r+j)wIRoaH}UCB~1IVB3Xp@1S1|g_&@-@kvQlsKdf3Tk(* zS4k0A5{ZnglwP4ZJQ&av&tu4M9A{nib$!y&l@yZixH;vGR#!v$V9fruTqqX!PUA zE(3&W0C%9Qu^%l|jHNTBmUo<-rQGR+5iq8nnJ6S#K^bFYA|*jVSnD zW7OK@r~h(M?o+eusAAHG`=nYMnY%o?MlW3Ntrl(H52EAt`-Hk?VB`wwXo%>#kX9Ap znTv##zn<#%$bv}fc)21`wYyX8I~XZ&XT$o|E^~<#_-iVR){4{S$wfs&J*srHgN&8b z%NS@3l>(T9Up==zy)FKkYxn1eRF6QR(#!LR3npB$rY=HRsbAC0_AU~@7#;5e?p5a} z_FCUk;;XX_=%+Mm-**tBGP7&UkdX1WmRnq+w_c-oj(27Vo>(n^bp7%W0|-W-(-_(* zKexq-h_KEcbSvXAggYoJi3ixz5MWO=cwkN@ZchiELwwQO>Oc>#+i5um5LK~c;o#t) zezOv3GxqJ#%|dPVLl=UgUVt7^@X>FpX4Gb)nq5=+h;*kJO=r>dkp(D~fPG;CO5?I?GXw5R|_# znlnK#q2A-ySBlWN8bU-S`BX$}HZ*lhkqW&f=AiQG(HJ&Q$CcootbXz{Q*+b$W;)GSUnIQ8vOfJI)IYEnhNW?u-#z2sWediw1pR!3w@LMKWQ+JZBEvQ ztEUHc!XbcYC7)9yFER4+0x5W*N1cHpG9VSg@859&d_<{N|>hI|ILK9~^D>%dSv${^&@ z8vu&(3w_O67F_F3K-F)Foo`m{ajp~w0R+va%vi+BLZzVvR3|Rcr|gUceJ0Yillzh= zcxtPo3~jpm;zFYg&&&D;27(FJ<^G|_^JGV{l&sAD!m0Gfk0pd~+JN0?u|>ahm6f?B zIiA!KrJ*h{=Puq%x8N?m_Gt{~ottF#M$JC(ai}^)a$PciDnf@Ci^Rd_H~R>Bsb%&o zU7yoyUR?-o3=fIb`ndJm|GtgU^*+janD5@~+;2^h@rcW!(|^o?8<)`pMzWOg5NwsVu6= zuTk)onQ5TJ!C))48m*Q{GQb!0m#Mlcxq!%CGir+Y`r>5IG!c^r7DX%RxjU>WtL2(A zs_jFt-Fm*=xOZ@XkeZjC;===YQ{s(<@YS(6F6m`pf|q8HudL z=tb>^WWd{*3UA2p`ssr)8929f(Qxr<|NengS1LBoUpnd|{SfsZVww6ZEQ^qtk83-c zO8)*e7m~$14yff+vq1Cx(wA9#NgLWasg=IM1Nc-O!z)?HAIp8Gfm?=^_i=4?iU^n{ z;4C6)W+Dn#I7L+t5PVIn)DEcjHLlw^0q60c>ghD~{_T7;LiQr>a&poz@aQf$W&-^L zJ3CKP3L_wm^hKK4ei1Q{yHDQCi@UG8-&KVLuG@0i8t}+JWfH%>AeY)X3N;@rpSm{z zr`1qamLX7lQnCk|&qU1K5S-;UZ2GrX7pEXU_WR2#-rJZ{qcZe?C!a^tnZccEy*i8X z*!cV1|8(D#P-zu6A6Y9f9zQHHkt{c1!hXoV+i_Xhxg+Ft&^z(71Ip?l7} z=PCRaSfj>n_~{~$+YAg0@2H)c;(;2y*Ky6b_z6THW2LT67EEhL%T3Z*)zfx?wdOkI zv0iSJ%7wI=@5ofksEdk@esddBy2;Qv|bN>*H^{n zCAK2rkmJS07n|PUoJi6^3_dsLa+XA$YShvX=_6q4;Y_aZf5f+%fyW zqis1-F|+jek{EA&)T?#H6WmZBidzjAnh_pq@O|TA)6!BGKi@o;w(jVxSy}(mYP~hF z1Nec0k`gnwk?E7I34B87QuDz^v`Mv%3kWY<16`d55aQ1URc=82;GqsNfAAp3l#7i6 zI6JsJbveDqm*;5uqo(L+JkW;?wgVA-AcRPUp`IpW4i<)KB0e0F7#H`%#^!OX)V@+G zbs<3*CKL+YZoM9a%7R%11Z(^o4pmmhHBn=)2x677R23OApKNyH_j@Wjy-cA2Oge>| z#~0VRj8Qu+sJ_yd22GcqY_~Cy_S(!XB9&;RmbCMS)Cr>ArbdP4Z^p^cF?F%uX8Eop z4_c$oJ!!^Iw+Z^b*I1mQSD}K%QIb_xt>f2BOp|b1`O9ZASUB_)O@_Xqnn%%!bf1xWVX8f^-Hl`X-xc zQmK7T%`feY3?RZF2$NmOz9w$; z;2fqOCET|sQ^7u*cTM{G3-8{&97|;KhtN>%Mo)-DhlPPJB&-4!1!(P5kRKTtQM-J5o#zyiwbNfGp} z>;2NKS2fxN(X@>zQM^})-z~`LkLorzi3>H}Z@oG=EgSH0ZBNW%#{2;| zOa1BB^wg@JDR+E3Q`NFP1Eg?5`_&~6P6M)s8`XCNR)oHe zernk|_XSA2pD)@j{q48NsPXNk+z`xe*j9Fc-l<%-Y^BwX=}(QU-oj|S0eJL~>e&OMQLz?~%HSLOFP61-d$YJCSmu>>w89=U*7h?K*d?1=N@K_DOR|jCpjoe^A zT5j0|6eHuhIG|kgoT|p_1Wj{ubjLHj{rJk?-~XpwCv}BTXwn@~m ztwkCZ4@_NG7lXHDEbDoUe5$N0CIZ80v^n$^(4zZu{#uz-nc$g#K-v z@?m00X;hec#iiDR&ZE?h0CG<91?WR=3o)YeuJtM}RU3_Yj<=_fH#P+rEo~=z3peQQ z@ndJvdJ()}pspYEa8`KtQv$c)V7YH0>6NMZbdwLrK>)#;;^#-&jWsleGw{Zofxy2z zZk-*Uoc#R!c#BfnR|rhA$0XUUt+L#P#gPRK+PR+-gzWyTIthy$B)|VeQe~kiqbXez z8oblW13Pc`1fuA6EA%c2tNT&f>jyJRNEIeaXb-qU7w2!cFK0~w6Su4%tM(&t)9af{ zFoo@2yc~e}e%(?+$@zLVjCOr@h+?6Jy*41jlq6h?6^43C_nS+Iec3W7fZJZY?c}?R zy?VB!f4=mm3dCcKmzqkf$jBb+1SjySi5gn}TFtL}2C~^^@zd@8#BBf5>_qcTTAm=~F(zpLSK2#Q~ zTb%n+Z{`v>bXt(if9DjN_Gs_oa?%nCxN-l7aT5LPrfIiVv$M=msL)AIc^$sRlMo?0 zg%`#&A%4f7xY=FB!q-rvqVKzBJj?bH0}GXny~Ui2-HFhe*&0@DpZP2MEZ%r~?7j{# z&5|DyEjSonkoA#~hafM*ayJ=oa>wPVf%pW_BR=B2kRZggY;27z7gsbmuaL1Br(#g+ zNSp1yj{}nO)%K$wIm_$XhxN5fWmu>e3y8aYRI4D5!5T#TH7oi zZAP}c3=lPGD0;~W{ckqhEGSESX101_9qT0DDpqKw_-4LL(Rwc*UfNWkBqyDJ9H!vF zq@)_jb((NQ>!!dA)?>EKj1Gksqei&e%ivpoz8WO{jNk5nXa{3mxNp^5)CWjXo}My4 ze?A1)pk<-d;Qzu}(awjz$t0r)f`qct*cuQa2NbZOh)!I8+z3ZYK#5Cj?~K2Q{+Z7K-D_&j<{==vR>kz zkKL&ILj|hcJv|(P`$IsJ4LJNw;@bq2{R03AfJ#iPt*w0z2j??5Y%&QVTX=L*b&OAC zAsJq#CN0;2nyFi%w;nwr@I8*c{bP>rbhMSY?qWZ5bH+?QhAL2nFCz#9oprX|?+x?W zqKYA@Tbaa?ds`MW`^R2R2dJKzUAGgLE6No&#Hr{D0KhO<`iVgkbjiU*$18^dpdM&= zM$*03EfjA1q?O?E-XS5^LF3{Mj?-|cCvVg224DW|Ke&V|!>YWNAUfVVSr<Ojz?lSzY+$f z(}A3>c2->6FKyZDkI~V67rTh3`9)5<4)$Z;uraY^)SaETpfq_jt({S^GFtePdCVp} zch1P~UkOuRdd5W4R ziYw$~R{XX@HKb(ApC(!?x^A~z9_#TmAL?*BNpu4I0!+*fpal2tFCl^RllwG`z|t}0 z24NLt2d1S8TF>w741^Ogc_02(R8~^Lcn!p0fZCRS79p4BK^V{y@Y6EW<}|>N{9=Ft z#j2L_18lr5U<~&#Qxe2_0m$%hw|7bRCYW@ylgjkJ2Z4OrV2%ANDpAK?a1WJ~lx9J& z#1fznu=WVqF6ve?z39Nxv;52;uoh<`&Qj#2j^$y8nucWPgNA@BPc$}ReJ?1*? zhjRg0reB!CWPN|W=HNdGZl@? zGni7c4=!HOE1)CBY5LbtU)Xc{pMN6f`lx5}H6UI-b3sSAbru)21+4mqwx}={i!LI% zbr z=g_dgqUX-z@fzCSGwSO%ude(AmisUnN)-v$v!F78pH+G@d+-)!zkDeJd$q-^_TvaU z`-i(&uBK6B)iSwK-lyABQc@OJ-PnKWsc%l7WKrD2eyoMc~M}QRT!5j zAY@601wv)eN9M;-Rs3q`)30Zai?(1U)zPpMRuLeja*`EVfN! zW@X(6jv_zM=(ho!U!dZ5<01$P#=@rpp^jYWg?>?0p*q55;xHTL-C#_HOTKNrGc7+q zAG9`E?^$w3UhaM3`HopzPtthS)^On#2%tD;L0f1+NbPuscX`};G&z^Ue6QF)$~H?h`(#!c{a`YYr*gk4rQtP4 z-g&glsb&Ker;4Wa_}5zPI2(^{jB~R577pY zf09kHf=PorNEqMDSej9R`%XY}OEz+Bt1Q!w_z-;g@E@1+bdh9z1a6zL3< zea}9ZV1q2!UaufTS;=|EAmIA)Ynka*OP#b-{5QLoWb}b`N$E}+i!0gadH3XDW8^z} zsM=hb{gqE}b!j;`@lfqJ*3f&b8F+f92x(9V3r4!`0g`M`Wq}WruT3S?+>wh(aulVi zHO4o7A0{AU4!;!P+yPN>i~XPXy;)s_(q{tGbE~U|7I-1)?Vm_RTG4deu{J?0Y@;83 zUvqu8LW!XL(X<93A!9G>Bs#5CVMFXZAFD`6PVG)zRgB98lYYLHe3kSQ2$--HR?a~pm4<_VU1=5-YA%~tu@h%3=E_QzVBO=X3P*2Bg2!I zZjdaK(-y6 zToF=NQBetxj(!V*)nYX3@AYVl3mRg95)z*<&$C8=hX?j-C~#5yj@j7QuJeSQZ-SJ+ zfByzAyMp=8=f3&^Xd``48ZVFJbfb1@G?(>E%TV4!^fve6cH?z!@vmpf5uJx?e!F@; zRtCFMUX3mi+#pq}`ce+46OWUA#qDqPkM)7=XHe^AQbO2NkPb^;pK;D_6}k5KbLngo zp`i9P#kJ}@*^-Es?oyPoLWV4s7MV?M);s^*;`;AtdAt13a&OzQEBX$S@d#%2E%L}$ zJd3K z#epZ2ke%)FXTjC=SO9wE-Ew_pYSrhP_2*9whLF8y`6x4H9ZX&rGEvcPkqos0@%L)G zkw|QM|2UxTf=iom>3sMK_;<2Esd~)8A+df6jxB?e*7%~6KR|%;mX}A6Z5q&0)zt6+ zYl>Joaas830?73P3U8ZJ7jU*2WNx!<|CXg%qtr#GI)G~IvtCm4kB0-c9Y`!1*?vJU z**$%TFEa#0XsiB=HA+cA*F~kPgY4^BXR&WwQ8%9m!gN<#U9EuUQ}DmJ)9AIc{H3C$ zeaTg;ENaifu$Cu1J8(kPu{_bL&(3+f-s2wb0rqTB_HhDiW%1XBDKhBtTs1|QGbTU( z-hJHW3Mb6RT-Cq&Jce@Qoa-OrC*Q@VDyBKIsXVBvzeb#=es>RL!x`jgd01h3%>fQ# z}dkqaK;wN32jhlgdQh4TUD zk2N%}Q7e)M2hD7h1m7|>jGsMAxpfPA?)9rX{-yq}9iv+9P1oNgrqWb&6ftm7wxUTl zE|eAeeITCsty>f{_1YJ4U>si165PZ?952r7foTBZ3hJrf1yS* zEz*_FM#izy{}gt(>Vj*X;Ue6Zo{c;^5}f_PIcPHX+65#%wevzvb&AqJk~R78(0!mX zJXrSnWP#AsfA86ix%S4wVjLV&Omzbp&VaK+U`T-$nIh)GC}`C?3u+DgyI9j^Uw$B= z*wOv{Fgi1n4Pu=kH%C_hlOUp_(*SaR(=xLg3hhAUg*K zBOhN}7dPE?LJ$U_haX?=d&B%8Gm^svzkbX02JB)a0;IA^lc+ zX{K!IZr*{*_QCC^Hy(lM03i?&w>1|Wr-w$^rc6pK>S4@V%=@fI z7I_~gDozRJao_kzmPS(Oij`vO&(JTCvm89EkiT3vv{R7bUGa2t$y5o+t+~0A(b8wi zR)wPnw;7p69_*7Ijt>vA_t<7|nfFvPQ}{ucxj313fbng?!oGCN$l4KUDVG zKM@N*;U*dg{=)%I&Q}_&qF%fpEVw$hCqPW>`%=aK9PNadk^Nv;Gv91lRhVD)=4hRL z5ePUSD+-b^c~*Vvrv^>nMdQV7`$@A)fMM?zSeUb z$K!E-fVK(-^u|UeSC)NPfRhTkGL!RIZ{-#5EQAYgd>JGldHsJ7gh}OW+J)XJ5Q}c0 z%N?qdTsJhj2kk$jl`HPkio2P0m0Is|5a;PXMf{nOv7cMwo$CLchz<4o ziTT0mclnrFSco5=aLLw)_v_+y@JhuN>eKKy)nS$>Ht`5?tPnt>XjkaK#7ti*t69l= zdyHgFZt97*vk+{gzG~H(n#_KCql+rTtL1O}s}J)^&2QgoIw>pT zkf#F`P6nj_%HDQ&K>?Q4qLp@ssyuwST)y7fcKYIYxkgx6*A1#V9iD_+>@H{#kt}*n zn33YD7hc4DcNzPW+5L31ET{IJ@K{BH=%sKR%XvT);o(dF>}=CdPCax3`Cd!q!Z1-R z^!kxB*&F;PC<8QxGAYMP3LJ9R!ZLT|+c`NVxg2=$adDVcr%al0EyfYTQYWvOnvizh zs8wMfjL*?`vs9H4VK58}h&2IeVnoTa(6F-;eEAiB_Ri6sLUHhQ)WFVra^7(0Y$V5! zDq$#PJrR2y`unMJ@6ob}g!?9*4>gI`MpWA0-TsJ8ir*E0HJNk`ZEtn)Zt6jy zAGgu!pb*?4i_1;Zjw8`{j zS^BsM0Z0Jc=ZtKHE~O^xk8SEN=B(~th(x|$!v=R+m)g~WuM%^(89jFfjY&ydYTizq zy3TEGF;r9>K68IWUiL4f>oeaS<($zMm$RWn6iZr8M;sx0Q+^E44I~4d=#%ATdf2R| z27L$;^9PU5|_Fe|=p;MCEuOf(94+O9pD{SuP>vV)o)a=e;kg&P#yab$s zN1PzcuIs{He;$e4MTz#m9REP$U21uIDo?Nb;>=sSrPa|ROUe10#%8*RbmTWCUf%9f zqFI@Wbz0s^Ymf6{*sXvH*4OtnAH{`Ugsk#Z`)K);%F_?B&d!|L6%-0jf2Sr{`kifK zf{RFX<KtX_uL&GMVw`?1i;TBTj+(la+^ez1G;F0QF43 zdFe++yk6(McpY)*7+xOCWoBj)IyEN_fT~^u*6AQDwfOt(uPDxWSxmG_fU@ z1D1+x-LcQ1thPVeBXQUi{p-AL*74X2J>V{Xi%V(gbiNAn&Q~_^XXeG5X}${zEP$evu~@7Hcn_R)}MupxxU^gj`@nyXrtp zI_VO>K3XL|O9&E$Y1EJ1UevO8DK?xB{RUw_wwoBW3J+QGu!nYu%sQfG_%sP4qS(}`AO(J@5Zl~konq`xgtmltbOdRbC1Kw-#| z98ohJ*SzBhpS*LvB^4#s*Eb-%S$pHSZe(>ZlE;gu;47^qbg)%>QxYyFH=8>`u<&ls zK4L8#KQDhXE~^FgU|+=~@R;^NZlG@rx6o(_Zp}n1Ej`6l^Oe{jf;zm#~r&KA>Z^2 z3|>*V$cE=|+$mz{d3M?zen)yL@2x9H>GIB|r*Ux#(`ulJ_vx7{MIQ&WB348p4GxY+k;c*INsVwoTC5Erh- zp|JhG+)}7O(^O(;IX#>sA$zAUBa;ItqvDxZjp5z%!{8G!@6$&#+uLP+`)X)(-`r>m zX?2Fbb5pTst7d-t$%Q>Sm?KfQmDb=#91~-I8p8-`hOT7IBAfdKnqnYUpZvZ=E6!yI zrczEtQI_vZiuK0}_Z^*7*cA`UID?x$gK;R+bv=kL`3Y~4~Z>xz4-GB2L#YQa}&g-7Sx$24s+JP|9R#$tC6dQ~9`bzsL z3Q}yGM@ELh-(UadYmt{qw9XPffg#d)Yv@Dj>aAl+eq*^a+5!0*{&?cusP z*$wOaRwziYD@GeO1%d6cGA<{9n4cI#Y&4+e$$;-N>yao}vPZhb2#U{F14;||Ru*^8 zD)iX>!;am_WrptN-|De@z-}bzV_U}^SvfiCY*6DRD+%+cvhcjm%Lv{ip82hr;4#gj zA3pIF^6}RT>c10oCsE0%u8n`}JwGfo=uHvtJ+Z?O{|D?UkcVzsebB?TmV_ zkqW^{x5*KOO54c4CpWjt7xm;}S9NUAdM$6PJUn5Gltp;;xzypEuqJ2ltRg6!oZYM_ zl@Ai90S7wct46d|Ql594Dr{OW*-}8Xlk^Ggu&OR|KXGR-RylfrxkE!ae-tZQH)*M~ zhZgF;ouH{oI%x_*##I&)!HYvtSEWyHIR(iTqL(J?WNVL2dpSad`?E?HPdA0zsA3wd zNLKaTUqd@$tM{`ix0_l#3j${P>viav$d?!-rfEPOaUkeQYYzw4jh1jaUGLKaZmo002cdbjw%lqe;i;pTPJ^cOcFFweq8JU^Kq<^s~ zB=S;Se>_$JirFJJ7Vq*C;DYKMzeTmrq3Y!bkG+#8ki@jOkm15ZEm-+h@3feFQL5B~Ks)N?S zPDWWd3v_=vp350bZr`{z@cIm!R{C=_h#D>u z2mR-4%PHvgMCV#vzPPN~>#&5LZoGg7F^&C_ml~||f~oXcvOc@syMO-!#!Zge$?0;N z;p);?F)`vRgZYU#5nr3qns zbZuT|UMbJh(@GDE9r=u&iCQnt_y%|WDUp*$`LnrZqPO(TU59juGSWZPxjqVNN`BB- z^0sD)c16$rOx}>EejBqUOM$=aXNgP_XYg9N)$-28>CsTO*beX1H21E#*4m4z4~=zR z6Kcdem4WE!TR&S!b|*&5e~lNtri~9x$Hb|s(iQv~&i-z|LQ6rr`j1t_H7K09?ptm^ zzZ4~^TmSa#7KnfplMdRtI`2U(M7u|eho7Gj&hVR^OnZ-Tp)IlkaO8p7i;;KaX^pFp zukV$;WhW}=8rkPa#ReHZFEyp06b#=H8a!US45sq)zMfUO^q4y+l#Kgp_0rc$HpSqf zsb`ePQVb^LNa$`5l9IL~OD<5*K6&{sm7Ez*cn=?GZb4THd?3)pXoWsVCnBDJ5*n%s z^qt`2Kl1rVac6UX7`nTn=P`|~ zVbufKGt!qA#jvu;Hs0~tv|&^UoW3aSKH5(5INw+L^|>JeZi7Mx&A4vF!40kx-4hL^ z&*e;pD-B&WKlnwa9>Kk~;EQ3O9pR5t9auencF_IH)0Y^d1*3L<;)O|1x%JH^4tKYc znp)qc)yoIC{Js~URNn699cgf8{MZ#|h>4CrQNx>x6|8p?L~gJFU;8MM49-1EE*rVJ zR0%9WwqgKFW;jR9Pyeo0JBsDg2d6QX)QtMmg%acMxbpPKrN%TDCO2mHf7>~1DMpG`8{ECs#B&CKOs z6aKC>UhL@mialswbZg`_YYqfi+xW7zIKxl&Cx&dm_akj@j~+_w^CLz0;npEurb*XL zpf2WO-4G}nXJRjA9n$3m#jjaZe7qQpIb^&WVHWCBs|#@J`1_up%s2};2uxhwh0zQR z1RR%|MFv-((#fn{_I5GF3-^c9ub-cJC!BBjU&Fi4$Cm)@4KJIjb;oL?@;O5Hu(!9vs&IN3Ve%(EnVx|pMh=Y> z6PxsD@X-;z4oi~DYDq`0TVI(4j^$sbb33GJ<2JER!q2ZXUe}I&Uvac$sc&1yP1pFw zOUA~-D70bjnmbc~f`jK7rlJq2nf zhRpWmmkX_7XR)6YJ~W6f@>oeF3AkLxxlYZ@_5pMPg^L)crz(O~mg-I+s&U}9_J$1# zxYL@r&WmhFoEGalUtLlD^RMXo5N^(|l~NfTtX)zJ+Zkyo!6Z_()i}iVUP3JmcH&@jv~7DY%EtDd$0poQOIHo* z`A{9tsH&H%Tf%#2_VD;6t{mw|>=Xa~C#AB^k?cahxu??<5rhNl}azc^6>w5SE1>rajH608N z_wV3dOpcaMV1?%vST_I3IK46!ZOx~-?$d;$_|3&H$atjGP8p;XGtW6xvPrZyvm*$W zs5JWwJ4B1@X2jj1t_ZD$;T~vc9)7;W@5?7|^L|3%-aSAr5QD>7r|MeSB(~1kLoL%? zp!7ZF6GcH1R|v2hQ%oa1v%YBk&12*K?~@Y(u%Tks(OmHTW(M={k4`vE>7b;=y6L3hv-YUr z-=Y}`6BPD*t9f46afDSLjn<#bKyj_q_Z*Li*p%S*-}jk{r!$LLy`z4Xu=~wJ+8iQq zeUNPu0CQk+W#zosp@#mGloTfTG{Iyn04l&3eo*m)@ZkBqtf7t$L^lnNwDBPt)raMl z7+cf+k3f@e3a2_pt&2)jG+Hsq(PQgpY)1WAjSdfJZd*&Hdjyk;jh+zKxW(&kpf-|n zRkAiRt%hV0xpRNQ5Nu)_Lx#y^O)8$ReX+Me*}Yn5m!6%ymQ>ee!fF2D)YdYTnEMWI z!PU7oJJb12YZTaj=SQt>E%l|HD1G9)+r7$brg6ejILCU0aP@u^X}pYez9ujXizAK% zK=GvWTaAuG`5q&uX^h~wgCwfDO(NGwY!zAv>Y1FqxrCY89smqXUCAZeO^&sk8=o<;i@Y*Eh+ zsjQi&02fhzwj*EI1|<-L9RbcBWKyl1aDDO77#fg~(s%p9Somq=xMa!+iT+VPSo%Ft zR9HV6ViSLEYc#e6N>NhI%*ZT0K5hzBtWTPeVscv^ZMV}s z@;KY(9A^ZML{|EJaTs5gOTgsl*LN{85EcE!U`$FUTc3Z)S3*|ETSReH7 z5^(yZlDXf7dg?T*ofpn#Wr)V|PZ|m=eH#9_u%C2wt9f48e(nYDEE`2idO(viKIPr+ zVKL)}`_*q>$SUFTTMZeZqvKD0=U#Zd^D8Qkc@r)ywtv)`HCkGl1)C$iV8hYZJ>P!% zDm~#9Y-hJeyb93^Zc~cm7$hG~#_Ti$0|P4Ulm|YV8GYmJk*%cTjBcrM^_Vb2>9gqf zJjs8tJNkj2`8v>uy$z!}^bbji`-d`{e0S>W$vn zGo#E2c7(NO#D`rp6ESr8r70Wtlgp;o$>#I}7zyRig`S%(;1ZXg#%`yt~DnDhieDFZ3NyGYDPw6W7{OSX>Gcwba--ERYlzz zZX@2C68sGx6jlpq5j_S_<+L7)Q-1jpg-CRuhr-%${bs**6`haBs?*)$e*_eng0dez zMg9T|){)I$yZ1G|6cPFde9GsWjLc(=TneDOG2KtxUQo32ygN7Ev&b=1k5$XP{)pIC zQwD@R65nxV27gxGb(#%SWgaUTKKXfV?GqnCO|vjdx2Vvk%*qKVg{k@h>%KR?8ZLHH ztcz?Kamy6#VD3Vfk}lm1Wqlwg--Lagy28(o5bW~}bc6fB+;&Quy9*4bIUNMg!yOO1 zF_kkw>x^I;!}r7Mf5|F6IzHV&K+Feu!xE3pQQg;g7*aLRf;=9u7j5|mo*gfI-atn) zc)wa&hc@Am{@{#ub*6wMyYA_sY25i-=pHwiS`^u7aykR!XyO;J@yI{ zV?OM`%c_*j^CXU?YB7Kb{4?o5F300#baCMOsB9*5a*OInz#pv|UWD3syuiee7k%*! zL^vN3+UDk= zMn(|nRcyn;qSR`L1z>Peg?e?hdRc?t)VfsWsdwBM`>6kF!&U$!lIn#%w=IWozbGa_ zNBO6Ua`{X_&4tnCB<`v=J<<6P;x${iPrQi*kYh0-=3eG_d=3m-3dLB>e@TGvQz6cYrvfu29P}yTrpgo0jGHkt*2;Kyr)WIvN1c8_xfW zCB;nxY}mLO4nUw0Koa-Lzz@f`Qq|6&Uz8si);-j(`TB~1O7Nk=N5_XO8tfG28CGK~ zp8MaUhldC2ah@tASR@MV{^CUBX2=r$%NJ^>vo5#@1bqHXbrp~K9ufaYjQIykI=ZyC z`o6Lz|ATg6x31*7TxGt_BYacNwt)zTVpK!UHMb{ zMN25-WW(p*tzkJ@vhq~#I5_O*7jLO%g=g6X#Mt?XUD5E}#;5^y5N@qf761_TTvka% zz4;JbpfQ88X;;0^(Z~B0HghF5EUUwjyV_-24ttLDV-?5qAN4i4J#GhC7`&*+YHO@k zPL}W5eNp1pt#@FzD>8fMs=9Ao6pzH%hdRL;g{YaWIY3FjwV_y4ob`|_nV4Hs9GdVUc8oss6D)DF?7x$2Kj4mUSf*(8OKGiTWPo=DHzK{(E2 z&YqMnnFr||ljvKwk=r@H-1(>b>r-`ntq_ULSdi0l1`g=EoI?s58sJuMvp*QIbpI#6 zPF~6C=AB`Y;B5XU6?DOV|Jo<9q#Y?LruKH}N?y!Aa_N{T2@ET&lL9pr>L@UfK-7~9 zM=D&E^LyHn!A#?GSxi*CjqwX&<;$I$`ntaS`g*?nFlQQCIC9Wjxq@vz8q@qhae)8! zdP0N0TC~QMm>l(^R%mGWOE%s;dtx^O?CD|8OaaqluHc3_hTeVqjpZ61ysXi?DsHB7g0O zq@VtPej=GsLEgBx%;IICZm7N{Y4Q2#t&#GFt*=GyVlXl?*X*n71gpK^b8;N!@D(aJ z^Cm19#PIZ}*RKJx9&EWQMxc2L_B0D30x=K=p4|VY(Vb&EakyH`;)a5(h~cv?(-jw{ z28%41Yb_U)Xv=G=D08#&SiIg_-~&1Z0u@l7cH8+CYE5aiYD&h#=yBW}>FTY7lG~gM zzL){ql_A<=O+r%14n%jYTwOp)VQz1KU^-cg4PIvGs*rlyw_S6#8>t&OzV;Bv3q0sWo1U@4QWTM?5Tn47fk;6Z#*t zo^Ci^YvOwFizQv%`w?04NIR$OtbIjSX8)2Bs=4Cb{3q!i$Rxn-|FP$!9~2}RU_WC; zVsuxtKoeNe@qRA+=XckoORsdBd-%!+y(e#cVy73N|7rs=13uyI**;R6+?c?a4=>_U zlu=><~I0bzw>-aY;?|&y%~1;G#F}-%x~+wZB+a zI=1w4X5)*>%w4a|;@vLRkp_2m)5j=wpVQ}n&ftg;z3~;R~L=?um{Gr_UnsIhD#Lz3+rK^l&S}mf4nl-0Ws+TD*EJ1oIvN z3R?4W&J)1dw;-3J*@P{GCIZg8b`?Rt?s8f{CLtwB1B&Ko+X zRH6(HR?jQ36j#1^sHx$P7STM~s3{bu>UR`i$4*ntkX+cAC(6k15dFzD!s#PWe0~yJ zP_X5i-D(=QnwU;c>~~&1YNtO@zBtm9q#S84aYq>7%h)^X{M6q zVEo3&xQn9Hu8+0?N=74Ag9dyQlKX42jod@{e<0`Lv}^f2o`DvTSylXVkj*v0Gjgc? zcltUO4Jb=)cqyqV0v9*s4&Mh7)86~5k0WmS_5UkTO0Fuf(x8%tv4xojNJu#Ir>FG{ zqH|CC+Y;i~v3))4bL2PxiNA_3trJ|u5fNP?5IA!AQL*zK(T_TzuVXk9=A5dxZ^k}) z`0yj6iY?5A`4kk}1f-;`9*cF4n}WU#5JtXBmGoEj=uQfD*zFFf-5<=n+Hs|bIqApa z=&Te=iN`;-r#^Zwd@N5-uZq{E(4%2@m}Su}yPjq@r3u(TJlt#Gzv?ZwY4330@bks2 z^U95Q)gIERT^&{4D=a;eay3MviTVVT8@^LMDa*GloEA$?irdCNN{-9l`?Ju4RGXZA z4|T=Kd07s(af1EHt|i_YBp3MZ@5zs5c6Z=#+&sa8n#6x7f=el#;??BL`ELC2k7}d9y~A^!NV&Jt$;j;xzqSSoIzNqRqI>5qrrSz;=f9SnpN# z=tAHHbJl!$Z&PjMVxOrwImLx`xayq>yU)EB=VP^N#l_4dAej1U);q=|$V`y)29^i? zlSkXS;j2|gM^6iC3eIXiqC_te8l|ahOkk0U8m+`zTu8cQG0OEzrDHnGgwm2}1V#`j zmNQmfF-en3ZM$74<1+KB%Xq#CFS^{DKd9+7NX|Vrg~{Gi$j%iTvt#@Jv#WPtxD&3^ zX`uD;SCaH(g$+Dt&n&+k>N|cZNo_el>_3^hG@X~ggVITImfTP5>t9Ba-3TYY#V*GD zXqQQxa>DE0s3&J$P4FR?Y_73suzTp{_{311#$vTUyFXLup0t{9MwVSOn}T)CS_#`& zg^cplw14)$&yE7g-e6q$l_H$<tIm_Fo@Cy$}%a^yDCnhVSUNyur%AOFbVK;~XdTf?ohyj$`-rHd`5B zY*-rti(HTHcb}QS{RAExw~xl4%qmIqIo-P9DMg!A|LW>3Otf$g3xl~Thm9Lo$JH>d ztwYg8oQx-Z^4 z?51-x;z&o6^-iOf^xH43JE`fJ0tQJcGWFU#UwL6K^ifzfsDAqJVN@>~8x=G|P5M@?hUiq_b=EB=h2GB^g@Q^?d!g1}kpdKY z*YHG!qj+pAOH36jDwDqHI7gnoVWOdlX}fFH;?$d;mfhaSHE}vO`^Mv7goo_sgTHd| z+j9}$8~7fE)-_zL2!|Muu0dZ0%4sv%&ze+xro-sCVtz}7Z5678M*UJ?y~g*JZ*3#o zkaWOuEKb{IETz3aaxNw@sq6G635RhLrkoB-PqzMNtLP|mK$I0qL`NH}j^``XSdmrO z7}r>12mefDw37MG6LOdLkb3)*q`I=!diggRE`b3~S{0@G`-&&Ci-#0SW&|0nZ&4NN zU)6Gd)?+DLR3O?BDER--Ew}#-baTZ2R|U<)kHTI&`c&*VO9qWIP!ohF#x4`QIkCj0 zs(9a`Bbn@02X+2ifzMyC%sGFb(sXi47TWs_HzG5SP3Jv^w&i{A_?rvePHtcQ{za-c zw|;*}PJ!Fhuj4peHXrT(w=vQf70)c`}sM+W6I82`#U^BMDD9n@^my{yOabG z7pZ=Z!5Gn+qq04$N(#s6{qGP-zI;xY`I!o9NM~*yb*qWX!oB78?b{U;Et8)pq?8kW z3_a9{($$m^lg07_*Nqy;Vb0dad?-^?i;!ZKC>v#$i3cIpH9r<_Kbj8tX#Tks&g<84 ze%MpQnTu|E$s~l{6i7PB6Qr^e!Twf#o)+wB~qHTU%2WYZH2z* zb6A_5%g1{X;v%Dw7FW$G3&pierDk3GD?y*B#zf9Od@bWbH74>hY%e51Q|y_zQo$h! z3w`Mq)R18a4eV7=z1@i|mBy{vCAl|7gseFK3!=G$>;G3pgL8WO%KH;%BEQ<>YXC0| zST6~&xh-E=JON27Pdf{(FZ5huKOmPWg^NAC2GAFn#hAL3Q)d=|P|5<$X0N zUn!9w3-{y)hBekZe|AvWxAjAJFP-XZc7B#{n>4lo#(AlKQA9tO=JF|+g4nQ|tV&={ zJv%pdWofLEb+h3TtWNd<$)9`0aRd2xnP|PF* zx;4nUyw@SKL3BSDH{;@WYTH>|kOg6$FG}Q@ciC}$Td}^9Fr4J=#jv~!Q|@YuYDw;} zuTX6ruz3;xwv_;e$LRv|w{q{9%DbHtzEJqf1Oj>x7jd2fMe$*&H|Q9VArOU38o*5* zDT3292gPx)=otQZbtRUpQWfvNCFoBKmyZJFYed(ZUL|s$^X)1eK6!e1;c^|-NhMYaW)LL#pa41TQ` z-$+fVJg*nmxSQ%2u11quWb|^~;Uui=>hrYAJNttnr_K@NYX}YV3O)qTL96}_=#*75 z6@FIOfHEG;KJw@vk(M+90*M*& z@f;?dM2O)HGWD8*@v?w;n{hJJ+}ykcDv%=3^F>8RheSjG24>|!1oKYsQor7}z*LFV z$Qae6JDdk4cKYmLWPuz8kD0lxPP~Lg_%vOTX|oc~{mxrbHtW;uH}%BHdFVG9Z(>=E z4h$J~5RA69Y_|rI?2PAWt#x*yeUUPt9=dnW;YpT~NVt;H!1v`p(%o)SBqs0uqdNgoL4VTiZlQ^zdE*z$?9ctrmPzU`?AWx^+}cV=o-1PPxWm}@ zv;`@7LE>ftr0oGukB63yZh0`D9F#6x5KFh~;x3|AsCQjMKYwG8HY+Wk%BT4tLey0` z(Z0G}t0qo(%1;@#tQi{~i^l>&{NfQ(VF@RNe#L-O01-!XyNnvgr%VXx`+u={Z4>#E z&I$B;a=(eN2nen`c9~K8b(6LB$G?tfesGQXgerDIgD2$Kv$F6owWt{`;xQ)Trah7HfeLE~s8Ds3 z1X8%b)32%TssU1q*nkTgE(C`3ydD8~=epBkPs_6N&i^IuMc#_r=~pJj-R$~k4fdcR zeMmuxTuEEss(^5wSXmxYT>qtozJbl>Q_}x0Cy)tY`Jto7=-nDAvry5lwCx65j}KAo z+xFu5&GC*6i+-7p?EX<#txm5%akQ@I`n5ySuGyyW+mY|opr{}*byv<@)jVh2WprTX zD=!PvUuz}ExS{^bp?(!c4!EP>CD)NWyH5MtB&8dHBr<||96z^q>1IZ)La6woAk8A? zMY%zZ&H%7yJ$lr#*CUydkPlhVdTwR*x^dwko(9xkjKVjy~}1Nezj9 zv#3z*z{d1<7mLe3@*oFo8|dsHfOHE5pa=#9Q0xwiXGM>H{VMlX4oL~T2U$0buvq51 zJln;>!!rYHFkh!d=6%}PhZr@khJwkHZra2kG(aKEwTXt4cRn{sp2sB0$@pUqtPB%0 zsn*w)D3S`FB(zz}DKC~!`7K7+j1|4keD-X7pia=I>=%-FsEynjot>RVzrTn9j-A78 zLkA3v;j6X(zf={%uSAh68|_SibjN@5mXAwenp2Iq%OFU999*$J)|SB9klw!h&mg%I zqK7s<@q{g6;usn1E{KFFBL@SRi*H{V8^sX|4xq6AGjD+~+u^gI?KmHpEu9G=F^QkP z%2wC1!d4L~02!yOsD%42*Kl?e4R$Kery2tx&8iCb1+LSUa$(O$iOWnyhipRR5ajw9 zd~O3}4;eav%VIp+9OAq=IWa^N@|Hqv_jIGFPzs0dXnyxcRc+BicZde}UkkH?g>JCW z2g`SN8LLQ1Az@NTY|d>QwO@#>2y~8jgxuM{h&=}|n1|(;AXhtl_L7!%GO)ER8rl+T zDFU&uxG@5)Pk$C3`}yhI_3K+M?v8J2vq*78rxT=+xJU~n$U0eo#|;g7aTW?mJo&$T zk=!U%qNg=HVXf~|BQxhd9eCcO-|A`&)5|3T4um=3ZH&huT`i5tf*nlE=^oBpinMeO z1yzv{Cs`!X1qR>sReU&TvYL7;jRotGH|vgulrlV|RSzj`S4VD%_W$d(8FPQxihV#r z#>_P>Bf!$e7`otb;_2x76f;z+yP-S;xD^7N6hdhD;aouo*|VsmuAQ0T$Y|?c<67o5gF&G^ z<=6SZQ9!H2isT6k$@=QxJz9G7S6g4G6`Hp8?D(P}O%LLpE|5&l$o|%a%BlNqyQYVi z4%I^Qhp@3LUZ0Dw;Bd|BHHwzV%-3r2142DG%25=V9U1FmPG*IAI=@TqK~m%cr|>HS z*Rj*3n}T8~@{x1E#qAFnh5c`Gzr3pBG<#zbJ7J-SsIFYAkyGPnH8! z#T<&&6}R0}>w#@O`AH;<{HnoS2zz0}hNQxfD_5`Y^$SC)YGi-1NcR)Te~={0qtz8( zdKj+{T@IB}6M3U+xXlexIC3Q=Maeymy)N_fGfYg4tbA33ba8Y(Mdp!183a6A$0a5@ zKCO3Z-G5@771>hu59S#{XT%1;+>mI=6&ik^23oS)aU5ku7jaJhYRK8!piS;ops@znl~L8zHil6Ot3=aY_q zQ@baP1gpl1AvsY0Vm_R7v8F40#(f0}uXveZo_qZKdA_q)3VwdGn0T1|UDEM}PyLSU zd#^v)PX7JsRoX_O!~1jO-Z(*$DkYV$YO)k}QzVO+cPee@%$hI>3+m$Da`vEp*z*a| zJxc2Zl7E_%nrYSZ@ZA>`dwY6(pDakZBEmBb*GHjw1mg=+G!oI;E_(}~;MvMzA5mte zr`?|W<7e7r+)2Dy>rTCqb)MX(#4PCj^iUgyT}NS2!u;pz`-~ygFDgsuIQvTj8VyO0 z1Sy0(d-!2(fxM(YavwVWalRvZQ5At>GYlJ+GRJ5f8XPhd^mu1%M)4;z6$6_e+5tCU1DL*Z;kkTsE(FRgK(?4DPiVn=!)CBE$J> z_x$8R`a48_&q48d6l9UX7uC}U$VKJ9Cwc!~pZl678#bGw@@3%fBX@1#lWZhf4(^$` z3?w_1-=taJlM!md$IQUpijWb`FKrh6e@{`&)0jA^!OmFli4IT- zkv2>l=m#T19dte0}CI=`V+`g%TIrT>9cFQ&w9i!Q`3c3wN>u z{IJaYe`&eit%ZZLpW5Fr*R2Z17xCaEA( z=Q&_Lh+P|2$fdY~O`(af-=Z{Bod?eO+lE=;lVph^XR|pAsfLAr`SPa&vx&OQP-0d( z;y@QBsj_!rEnL`zr)cMA=BhQW|8G|L-?=NwROFxY$IFK9WGWU`K)JbCG`a1Uxfgab ze(y7GJFZj%46BwUneEjxN&$Q_{HMoa$YEss8GuFNcJ&tl7n$1S`>@-){Y66@End1KyTu9+SXRjh*>g^UZUhCRC@5!Y%f^c4W zahaYi^>J10J%8_*i1!YLL790K&UU5;5DbJcys#Q_yW3O5Pzb_v+7HMYrHvJLUKxnrjKqHotk^;rb zpy1$Z;A-ysruMLyj(|W|t+gfe=sektI{PpFfFA~2C*>_3Je+|QcAh}0G(MK&77Z3e^!)N(V;o`n+cON!~i`VyWvOY}O!69Rk@JbjaV=&%TlunKFm6(jn z_7Z#hS3XTam$XEP=CK^NCSfm0Q4ekDmiyItp=_uYUI808Y+-d zP(a?Hw<+Qk+zMQ#Ot&GpME!&?mJG*RDtths%-L0{&TUc*zS)h$k&_7J2QrzqGK>D{ zrKRlBM_gP)si~>6=(MyQyOhFY;?D?drKQ9lFr#m|PX-F8WI5i$f?xW|^tMvzLpWf= z5qQqu<0$Ru8OU8A5=2|RW2Ifr`0Lm7;i#4Q;r@_$i4n%dM&DH%I=Y#Q*-#^CI^pTV ztg@n%KTU~pH&A$E1Ox1AuHf}NIAd};bO|EbS^8a?IUpC08g ze7pfy`x$tLAA5QV03ZT|n({fM1g-j2R04;|4GId1=J(Rb!AnXKwn+I)f+zU~78cfM z8%W$+ChNSepb(#N+H1IA@P!TU8}cq9fI`GMH=mmlE!RNN|X_#Fm;!l6S zmI{`ka7N&M4Dq0fr>2Sp#OB?CpGWbKE%^xv3m4nZh`W1wzN2iJURztkZ@;%oAIu#K zKdY^&YyrOre+mETe=U^q^>x%2d~`8z{qK`{&Mz-BhT`FN>=pMt z{_p=tN_wUd2|`@Ye_yiK$Z`Jff2Z@p&7dX@S~a2@7>!L$E#cz-{mV;2xckzo9p*5> zkc%!VDypfa^>cFa?mEOaf?ni9Qj%5CVx99cA(-w1j*i^@g{8HC;z|Liqu`nvL3lCv z2YSo9#?KxQnVblC?wMzNe#pQ8qxd7Hq4Iy)@tth*iF(zJ81SHq!&2VR%#f7WZaXAxElukx3n)`Pz*|+egJO3VSDz8^%zi9v6M7$ zO@79MuQKyKG|<9-ooA~6EcKGmB<#9zsYG;)yr59Wbgly+E=@?HLw%8tXE70wE^x`g zRw;mr!;5V|S{S!~pm7Hz<%h_~*APdO3g3M0TZkM-eOckTap%5*qGAgGp703?(d_K( zh=_@2w`Q6UuRDNo-T~{a;m^nPRyYrK;GIn1wj#E+wq{C}==>%w4AD^Fptei40pV1> z^W7Yd{Y1Sg`zvq&Vqs+5Y(6K>e1d{=@Hwi$+k>2rqQ1wNBqSukKrsB#)^-gXMbSM` zf=Dvl#l@)|f}Wzie-=!Ay}hf;UoPX%Y5Cmj?DXntC=9t(-@mV%pJZANWIq##@H<`S zr4aG1YIZGdFK3B0?BvG5!D;#WB-B}ihEmj5h>Xkp6(Ey}`<~uVDKLZLpS(9AFL<8! zR)_FbhYH((J7;KWdS8j}mPzOSStY<}fA;j?LL%63gI~k2gMzwRwiy%%6`3M(IOh{B zxyWjFIv-~1H;4dK5_{*At>c!koZ!ysJB8>s8J zxGd}x`A1}M#joGE@kTDAF;g)Kg@WXdX3&(){QHM)Wn~3}UgmQg0(NPY1c5Lqe;Cca zf>^Yuq~r}e7w|9z0Bk>b4rY~Y=mGs~X~AHMy#YVe3O1T6LU$Xr#vi~PQ(Q6FTXXx3 z3p;kPB^fEHrV(jHX(=b3sB`%$lcOgD)k} z``E$Och$+scR@|dXy_K|uCQnGrnE3&ZYHEPH3DikFz_acc*b)YcpfdwM-2+2)5A75 zUfLrgAJip(gO7-VQq-^!9Ue7mdV2K!EakQwl`KHgQcVL1ZMf3zb5AkYetE^k#kW>+ z3yppyun$+*kOLPr6dHd(JG~C&tVY;c7yF)j{z?|q5X4@eYU)Go+TXvQf&&N(Nhbxc zQZNLE0U;9?9+LzC7p70i$uK^>hVU~wCZ-$k1pS#3#fLVGEUW^MTv&v83kV)?CF1b; zT?qLe&y#@KavFwVP?TTO(bYv#hxh~pXhlTs!uX7Vf?IPIQ1LB(7rRslSsW}Xm|I7; zo^gn%e`a>}>(I~x2BRTPUS5)jyTanYL-d7!UU0C254GZ~EdNb&!6IBzdynr;k&!ege8lCFImfC~MUBD-K-`y7A3&#~p=Q8Z z^~ZL1dz%1t9k9Orwg5y(ftO@d_$;DZ1E`?qC~7Fj#<F7*MzAbb)S3zh3!O)hNa^4N}_o5ZR|WR6Df z_RpsM@z7DDg>dWKfHE1=5cj{%ft6!u&fQ#CSZHhsCBYEG4}ie8>pVO>^X^Y}Oy%|! zWMuF?_m*gotiMJ`qId{6S@o@h1L7FD3=q0c#b35`#4!FX^Siu2L;V~X(L&7Nfe^K1 z`11|Mo9gOnxKRbg()wa9F`}%u2eCM^fBjNGy-H5j{TME4KaE071LUc1L<9yq)B}fA zgc{HXc^T`*8X6h{xf*!z*fKk{!fBcVlN(cH8u(h5ey94oCgtZp0=N2GnALQ?JLmiw z$}$6(e1O0IRVe(0!+^K0v5kL}kU)xhm6k?_0zhJew4q_@+mK}sg`CX8jfo~OwLJrS zJjA?qQTNigWIpYM+a5+m(i+$GM)=1oKfdJNmi?Hp&-~!Q4_NAi0SS^4hn#1ii+f(_ zm#3$f7oC6r8B)DH*OA)e4~vB50lqHZ4Scvd!m&`hYIlxnYU9B7jf{-E!pqBxjPu?Q^D+m| z0qPZGydd)zGP~*M=paxtcxGY~YW$ncn7DoRmIzJ`)%9r4093aKd~A|gvr zY!{c1KpaE>oWz4v6XViUwC21;fcm^gPA&71sz>J5`LUgnk`m%NLdFb1w~eL!QAZk6 z#ZWuxn>aXsNA$+0g<;YNEL7ZS;wNkWvbMfHGd~{)c>}pRi;P6?I4BRxMp^?M^9p;s zyjwE*%%>L?f?%=mb>O_^)*VKo8Rn8 zfihSJz-ZA5r}H)Z00eneH4a4ys$?%l!>CsT0TmR2u6fOGxjcD_S3bf74l~sZv|AsW z!sepc7={savB$8g%FEB6Sy)i7CV9Y_d2|k?s7I(D&`)_*YN}YLtHIKomlGdPg8DHr zp=;)~eQ4q#(oP4fN$djXA`RDia02CQXt5x7ZEo%=%q1{Et||;CL`A&;{L<0UQOxOa z*JznLM;qXf@H$u%TkJ`GxWlpJ*IZy`@lKlK<;#~#^PY~h>cahh{vcB- zq*Go8SKqUcb7azbb>(W+fC>M{*+aAK^;{i}??%me7QmZ_WXm_r&63IMva+%$O%*1p zNdYlTUaLXo;o)I}#sDlCSy{&7OIUAd0xB8x#cgvE^$K2Zg#wm?WT?lVMSMEX&tRxP zz1rK`;{brWo82c7A2Q?uyN;zvM-+MNnjW2;>`XovCW9E&0ZVQG-fJ7_KYJEgVGG#h zds5%H>?SEtWliY$`T1933J25ujE0;$V;GNM!a~O3b>=Zu2cyAVm~1j^q3qt9`t-r? z5|b_t-QWuvb>WHe@gleeg!-`bfVmrhnx{z0g!)-vM@){7-~Idd0YYJ84%OZq`9wgF zYxQ5biuvQuA3{Sz!{6pyqwCNx!$3iCx=x5S@MSn1S^G311p)m!IIt)nV(JG>SqL~1 z0D#lb4+7L&GcfnBfCYuS37QMY0j6hVr9s<<&*y{-c1LXBmPEgHE&lX4iPsL7lamu* zp=bbGC@L#!23qpbubGdC2>}9CLIAR5xH6Dq@8}4Nd2|^10iUQZk;Cj4VGC0UAVtBD zgo~Pn_tS)!Ce$>@?jzS9gdmSJOtwcbmfO!XV(cyTT_q+auJSz>fHqk%G(Q3Y0$@jq z22ongFq=(pZbrZZ4w+>b2L}hEn6Yvh$QZi~Mi?4uY7{)c5D~r28QfjUa>8J$2rSf4 zSdD*$X|<@Lq7~lEuaDl=)6;t!5zz)Kv#q5* zy7g-^s=h{p15Hg=VVBVaqW55U2czj9uaW$pVt9@r`~dVO>aAy4U%n~TVzA2C!gF%J z_F&ZN4XpK_=4*4q3RKB_s=jUufP&XyFE=^|md8Mt({92oOU%s74CpIMEQn(&=wW}e z9vSTp>yEa(O1i`wV7FH`a)Ya9+Va+Me zJfxa3{|H9Ayi%dDh6cG8o+{r`bXs$UA!siU7FMu>!E$wV6$htp0Q4`h;MsZub2%(w z17LpnIX3nJ?ggUp@$mq-TW`QNN??fJV<#P-l=OjWu6n+Lyg)HateG4)CGgl(RuU5&YjT!O43AaMOeTkGD60#=33W#cw5LDr04cGEXV<5E(NiRA`_w z6&adDNXBqeh$6}?Wek;2%2-q)QdBBKGFCE#6#wH=``yp??su>K{nuV=Ti>_dr{~dq z|Ay;2uk$>P<2=rOz1_Q4U*01rxHH%Ba9PE{nS>qcr@p)uJ~`B8c+A6tv+?=!B`6nc zK_%6^x$QWKw5REkv&6EXv=*ncrkiJU;m7!5j&HO7oNszsnM#7|o5mh~klME@z2 zsRLZf`hY7Ieg>KUYdQMo-^P4EO@a)R{P@%oY~%m*%NdL-R)lG%2gJp3Vr1vmk#DV8 zjIhylZ8Ij;$&aJ?qXPmcyREEhaq_T>7;Bz5aU!QaRn40XqbmYRN)*)8)JTTu;ONMs za9iAV+us@;b@$-HAB4&gnvM1R{5Eg?HL6o=PoaRLi9|FajM{FvAn2W69SDb&G!!^x zXvA+KPS2WH_c0eQ2BRI&27!+Rbrcg4JA7VN6R1Lbef~dii(7&$;aE?`l(mRn*5qyC zMm&C;`r5h2sVzHZyWDRCDr9uh#moU4F=#dU3pu#~8iZi{%9p$At?n+PoW*gK`AI<` zKZoEU06Op`>I;7m+Qr+VDPj+B!z}NWNXwTmZ8_|hj1GpoVXKz;&fM~}Lgj_(^*rho z)cX7H;}~x#Dk&k81<%L7;V8cT_v3KQ6Gh|?v7HI$)&yklM&2NU5}$+u#Gt^-mv@yn zH9vWxg}z7kXoM;ql}oASc`BS>%OcjrU^6R-Yf= ze|+-YR61F4>|h-jW?Sa(-u~5H0~2+Tl5C#J!{g?BdKcs25ld~RN4wv;J-YZA5K6rA zhnFweu}e68r2o^0sw{jc%nZC>8b|^z65ShZN_TINF%IyX8tv>gm#`>zM`h1+ZqXD#X~f8j|YtnEEVIs!2sl?6Loa@-r= zHab53@^lK^S8T9s5F%yn9(kX8yKwrsnubPY9pZ~Or_b%n0g0zN>B_!j;U%c#iR z@M(Hx#ulaa+apK!aDKGwZdqSULZuBKVKoELd;a?@Oo$;rdR%VAM^ zd3J77j@^G)(p|jF4zWNp4tzb`fxgBirl!sPekIPYa*f+hk9N@@K@a@(%NJ86FRNA* zz(#YUl9IlwYkt#@prA$8fE1ozRodY0mt+6GezZy#-kBl%zE&$Zb11sKrRC@6Pq?Zv zuVHcK!~GwK&9Hmo!JKqzc(@i4!L8~|xN`hMEdpn;P4yx-Q7@cU4NXmtQCz3aTA%n2 z8|K7c1nh|wigctCVK^@aq*BKLj$}fCiFJ;B!%CEunFqO*kFAC24i8E8aH^}$y1Kc^ z;86Y2i$fNk$)03@9!dNWfo-s02e3UdGBYFN-&|T)?03jB=z=FOWm5Pgb+edqq)M3^2b z9l=lW)5>E)w*c(^x8om)l=%7Y1KQoD#rksb5L-pgwbSNNJBLl;k zX?cD8<;#~4xa(qD*5E(kArsg$a3^80@I%9(#X?)GbKxdjEXZ`i)tIhwMbRw+m8~5T z2lA$ofQRBWYD`)q-G%u;4_;(Fwj~PnAS4exNNSZ&|B!;Yi%Z?EKS-tSiCR5emG_uX zP*4y#uD{$xo}38-V2miJ##&1C`HBFx(RccouAZI%@C?ea`MEQ+w6tlv3io%ExLmFt z|8s#czJR4dXzAz{QJPZJXWQ(dUI>L9!a8wrdZRv#Q;!L9fyGgW1l|@&=4k$(hbUy4 zl$jpELQ8|WJ_v5!pO2$l(+5iBafONU0+1z)i!XVnEdBFdGa_v8+psO(a3LXq+Fcu_ zF<$oRlLLuY9s4WRi;F*5JM;ID1SFh$7J;G*nk!wTn{ZA|aOAss^{UlS0V}eGx4-|s z#n2kP;PCsWr=-z+{SdFoorEN6O{PH{KI=5q|dS=~w3Yg`3nIcwq5^6(p1c%|aTi%C4QF>cN1l4f%lBWCiYXcs#i}3zLFcENkNrQFD)(IQFdGqg#;RbT}LkeU0bqbZQVQ8y@=9!1VQMU0}0j-f` zy1M2|{$^zd1vr+m&?@p!sRM61oHlCVVBcMKY@N@K5qcaqVjK)-!@@2Pc8-o76XS^3 zQTY|4Q9HVDwL*urV<_nt$cOtVx)(1tGt9}!*^N1z6%QV?_UrCH`pg2cq-%XldIm#!7aaJ0|V%7BZc?a`wv zfa791B|j#3tl9+LnAMO%Qq&2x3J+~Nl=L#N6?e<*hN6=U>_B)ABS#31Pdj}uY#9>g z7jBPFkz42xy2cS76MlThymW&2rtiFAviqU0%I4V-Io6l>=d6? zD34!^X%u$)>jVVYLAQnDwQ{ntvE7LVW^oR~0vAzm>?~QjG;BvR4~Z4i-Aj2@Pc8#~ zJUTH^2jjX>K-)F%-@g}oL)Oe&zTY#{g?AzGZyON-{+S9{+S%qahBMQ*=TnajeWk5j z@r$s=x*`$oph)p<${muQEz-!tJH281cVA?UYOOm_=spR?QUdD`SFUS*WKd?%P9Iwv z7ri(D`O>eS!-dmmOSo|5ii9UG+3^>rM!R%AY=#6TEA~vLEye`kigf|VZ}b|q!JJNh zN&w+f&`FIzFCe-=)T(=zj$b&l*=k`02RXcVTE@s&3pD2irfT_Oa+2ykZxmq_I7=`9 zu9QkoXk%j?D0Y7>{w?!!%<0SB)AzrHCy;*|m(RmY5H0{VMF1f{w-naRp{BI1@Y;UX zf!xIPzOV1^8&q7SE)7|6=UuCPYs~nmC~6LfXpSfMT1H7mh4a$%{kKn_&MsZSr{;zoCBKa%I7)o_aphgZTr#^38*7XGtt0YMR(F}4OSq8%JVuQG zqy{f15V_VmF|lRv+wj7uoVqA-3^=r&6`=9299J4U(igra1UDXl8%I@3vIfMa@WO{b z8G_c@AhDbVoP!4D2)JD`Bl_FbFFbPZEnHj5HqWRs@N-0vzppDYthbl~`p_2nyVvyS zI;b=+;7|gIn~W56yuwMZ@Hy$Bg7xg=n}c9lCzhmp+QZ znh}Wc$Xo|b1m&L3&>R5RUihiY+Tn`@1P+&#&hmZz)_3bNVxG{jUTuL@DX^LOHiFRU zX=?|uva81fxx>ytCt3yLw-9tkRJUl!=mwG$P-9s4(+ixCW z#s5M3@e`(n9Up@wVB_L4+o-2)ZOxmXpMO4Kpcw1*A99PQ9yj$ewSe4_^<|u*#znlp zu%yDI_ucCPj!kE@@UgLJtjFwMGds-3toP(V%oEt7#C`ANU=YYp7&{l&J;W#~dlY&g z+Z27Iae;6f6j8yk!8$Hl@T*pvHW^aMR= z*%C!egNH8`3JzPxcWlQZHfVgbeC>4z+cSXklcHe%nMn&mRZ&KPGudL(A%O!osNf^L zb?a6<9rJ-sa1CYm@7s@dRljvZ?oRStg1BRU@7}w2NKyj26S+Po`J#SjlUp~Mw)g)0 zG(5Vmhw;V{6T5muu*DZWGSh*@Df|6WzHXct1l{>=#{)M^l8Zo#!Ov6k+DT6LxnJIJ z)4Wy3mWB#PhTsH9xDbg7P@C|t}(lhQOb>Kn7z4-#htt*=Nx9AE9V~0bfZwES|%)Q?voKB}W_qCJQ{^B0P zNAD^sDpI`X5cK}3B=LD>fGeV14*3j;eltw%mq z@}qc{`o7fDq7AMsyc&MI+>v^Y+6_2_tKYumrlFx}R`UmX;q>NKR=PdgpoQP|%~H>2 z4zG?8?>Xr|p|(VPN!ic0y@!IIMhk8Tr(V;1EjLPnbpkrju%>qjUuF8&;mKI?4%EN} zpz}DWoJ+H=Ul)*-WkaCvZH*T)Tr#w%SdgV<=dtJX66b1`hLovxOWc}oTuF}j!N7cd z`L_H$<2j|qR5z4D@bl7#LGquZ6Br_eg07K3Fi;=POzp#+ua%Zw4sMUar^F2eIv8bn zH;8l89x&zNNw>@^_WEvDynlI&)?wNv7gLAaHj$t1@y4dx53$~S;K%I8KV4mXF|*@1 zLNgoI5V;v76(Qm5qBVehMwC^_pFj_N=_PlfFHS@l%aE?#_hci$C0c(5+f$F`|sXqJ`J( zaPVOD>(?vcR8|f9ev$|zBqk2>W}1nOB6;UgxAOJ<~K>BQKuD3m=gEcz{eyJ^xrjT;u&6|1S*6cvKT_` zWG|sP#2|fgPaFp)XF6zaYGh={XYta?PtGTftMto?9JqSEV6v3k!6Ep%W^ma26boPB z=nrLqj9lH<&#YE%H8!pzoB^WZ;a#2pOmN7hOC7noHg||YA%q%!juncvIBmgYUZaHv z6LOrv{_`WEPqc~X$S}*7C7xo}xbfSyNXq-TH{E?jgqKhpxIt?P_o{`B^&NG7FaEh2 zXAy;hB4KoL@{wq&ufPc-0f}?j&$f%)w_YF9`Q9-z{pp@!yO5?YY|XKGPqye9ovps* zG^Ua+h6Gsouk?1n++b>}?ok;T$&A+< ziG1g&B$5(+5&r7FzRSlYdskW}TMK&%3Ha2!;;sEfV-!l1PFqw&znP116e-?TG)Tz^ zvo1eN&CbOUU;X?!GX@;_4b9zlYz7VTjv7wQu0ZW{t|H7^tkKtZ#q^xyY;k`NU(8O{ zmdfO3O`mxsET~3VK{swVmNy+QJ{FkO+Pc=8;p_No9=u__*O8&nijmfaTI3id?;NPTL^ zLYuEz&M@wGCG30!Q*kc~YrxT+J5hf0ZN!K*as(Uo-S)RI*QVEy)Hr$b0|t6ZSxYf_ zx*QuX?h}OuQb+slnho{IJd#-%uPIzi@Ci}-&0b0b$H@-yK0Rlxb7dLuLK8OdZubBVYPnegn`))OyB_cxyQ z>J3vmCfOU0pz0ubAhUYc)YtGe!B2@~j!25YrU0F~lgV?*ECXLHHL-_^Jz4WQ-?enN z`C09pfOlp}!TVAHgS1`C$_j_JFW@{6Gaw!ko56ugAXkzNk~4JNDBw(cH|1T#A_e~( z0k+yz;^GaTvO^^v;RfMdrVMNjX*Y$^w6dw=gUzOUsvZgh26U8TTqBE~afc>4#PaRT zyNyThbLr{3wg%mXyDbz7vT8kF-wFiN1_Oq+CDT$r%I_?~1 z2P7mwEgd=X`ECjrWYqAC5@6g8d3(BZ*PM0QsKA)KzQ?sZ2~#iCnBK_I&K8d7 zr{6OhG0=@YG4*wynt_R4ckt4;Zq8a&L+?sev?SFpx*u>_7P$9-0wiJvT|~UKoCZhhY&I8qwZm4 zXAfS!MpbR<7rGA39pjw{Kk`^OxAm*Thw5AQ&x*eMQZ!~tqJHo=t&?-XgFn6@&F@)b z-3BhMfvy2DPYzkF zBmFKu(Pu=0CS@ZC8ps${gJG|Ea#1w(bR=L{)SIhSC1M69W^$Z%ShB5Lv+wMe%A@t4 zUSDi!xi9G7A}o7hGCbUAxQim^7u`}>w%l_|!Jd*ddB@xByJhA4gKzZHignmrJ`bTF z9p--Zeq1CZ@h~$X4Vg0zbX)Xiy>-JX_JZ;A_u;}yg5Nej2t_1qZ2a`XJoZ{fh5!L& z5iubFSVG}A#L+W0_RP!c$2wY%zPbCAiJt7=bSs1DKblm1JLTW5?|?Y^ywlqE%>2U+ znFig2oJOKz1V_Ec|F7u_;x9aDyH1-VM7RCDZ!4AdSL>!V(S9$Hvhy48>;nm@1WN zotzvy(ZB-VJdU;IFQUd4kYuG|KsBg}i@vFuY&ApA=WjZ*rqFLz;xlhz@agEU7C(J- zuMJdb4mo0~udAH9s{N0d*4G2PKS@HX^-802aQx>gZM@BcGvik|jY(P<;5M2moMP zu#H6Q@B*4ALO4jt#mM~63}K6>=isoP%a}rgVMBFENxOvlt@MtVtNJ9qG>Ig?dNxTN zD7G%)-g)zYzOzv)h)-fW1K`2F$OQ{L)cQB!AY&X1o=2m%$qZvA?_k=5q( zzz7L&Cw<^y{(F2;Ak3(HAUzfk5mbrw$Ruu^MEni8*Z!fiM^PkX7_ZLRk%I|g2kcIN zm=C?2Yo2>z-_cJEF+d-y@RuiIqYb1aE%UvG3_?W@k0}_0zy7vfM4r(8c1P7B&+MU`SaJXsGrN=jUYHML>Q2SmM5F&y)?D=&s-0NRK6Srt4uC8b@n>SmT9 zgCQ?CoYU^SIAA*26&bv`-H!KirBLf_EQD{59(C{bQT^<7y0)c8d&IzjlG3ZzJ;}d8 z>=N%I8wQf2oSqt^sLlDY(<=1ze9+mypSPl7e;B6Ewq$(*gGUe;h;(w3XCoWT5X(oW zrs{DkDfi~_A2af`-l0H)pmD97+|EA*+Tp3o5FA6xp%2k`%IOintSu1eoY2Jdu6q+HmlKni)#}6OxIOWYBD$koy>cZBd5p^xA+uBp{^XzomOZLd4x%W7XmQ?h6 z)p``=b!^XOioIBSAw67*bF2n|jT_Cl{dv#wvFy#R()RCB;OX(w$%V{0j9Se!bqh z{KS_2&e<#}&L4v}QhT5`8hCU2hHWrA7vxm?a!Qre&n;p|*fTi)GQs1<>vcCa>VIn& z&Zy^u+B>;&{_)sZ+D|!>l|fA5TMwt7{TSxwDr+wD=FO^OgRRGeM2_fgXBFkROePFx zf`>@}-;9Y>0r9bdym|X>2}aI_1G+2n}r}M%-q|Z=+6Z z$=Xr<^5uA9-c7Y9HPzaMnOqS$OB5pHA6FJc7##WWzA{<^?v1S<`AhQ4B(yB9-7&B6 zFVWzAt4v)JBB7Znu6bfivGaZ@kF<1f_h&_>`1rockjut9LHJ`kQ1QHLkR5{`)`8CU zMfUd06aHm76GBK3QPh!i9_rGyfXIN^hv{VoLIp?YJ7fvr@op&Lh-*Ee;sM;rBkA~v zW7=Kr0cc2qCq10|>GG+suNumCay(XekK4Gpxm}yk4V5|l!xe<_Lt}PriS=>Ez75`- zVv4einob*DT2y++f38~B{IGxjXS>EY$=!Y5qT@Y1?dsD{Y`iU_lU(9q(;noJH`F%7 zd+pjt-GkEys;bikJ3B*bn{F!1ua3KbTFn;f5Kxe-Fb*LcE5jaM7sot3S8n3A*v_D( z_i_`~Y+S(0SuwzZTv&2E3G@|UHDySjTv89U97%)W&KKzJ!fC3Ti$-6DHN+6N%!qT zMfgJLpxtcSZ5QZsb-4J++T-QrN--CTnEdD7ta$RITTJ39+oo74*zT+Y`hq|YC607J zy=4EshrV1;mF2g^Rzu+g7I6c~1pux@+~Vf9*muiW9;%APU~bztucQssc}UG&efsq2 zB<16aAn7A={~a@xr7}xwzPK@`%52Wo$lKg#{xgyG)~WX&sJz_a4{6TK_-P5rMy|Cn z^i_L!@096?*aXKb>%8<2pMA_`a_XYA51RebcRKi3Y1PWjnsz;Ozh)fyJ0Cvao|zH8 z>?B%?lt>rrRL1X@7bN4Bj&~d((gXK#tnVpjwxmi9pl0dU(9jXsTT$`utzttF2an-8 zDBp@;kp%RJJt`_{8c7yGQ^PZfVuZ6%tW+q#_nhIoN@dj%P2-6 zY#Uztu@>I-;`B%!9_qWId*WKNm1v55)}d|ZzmL8cRv3Jfa%%W2^8BGQ`&Z-G?UFiy(bX7Cs{pl@EY37S)XkM?Dd%R}fJ@c?~??*ht3?Xb$QTw{OWmYOGK0Y9_ zUpgWp;>E)=r-AToKJ{oBn66{O6r(IQOu?x~7PG}fPuK25$?+{ty=F|g8p}N6lh!0>=XPAW zM9Umt=&DF{TZe5o>z^yfYjV>nQZ*b;>h4i_vXc(OT*$Jqo zFcI>f;a#~h6zl>O@I>9G-htpL)ylA=dcMIe&-Jjk%$K+s8r9tWqMB~=e{QLc#hmXTuk!lv&!@Rvhrh}j?;S`xrxqXai7y) zGct^E9jq((`C8v8^hrVA-kE2(EXZuoaNSlp$UIICzuxw(JuBDLQiIdi*Z0_`2G%c1 zT)UFj#;$PBQu*2TC3v5Xr>%SC^MOw<>5W42KP(DApV5}}8aY7UuKm@ug8FM$J9*z( zarAx7w}Za~BP2u=6;~=XeW?0D_paofEBD)~hXoI)IoVPYWAt8_MKm@(IYnQ#H~HLE zrT(6#WYY=HZRNLa-NWKW#=0=>(shm~RxhEgLsr`S3$(~aalG2#+=B$!AeY=P>&VavyBd^yRp2>YbF^P8OXFjKGA}OCEZZP znXEB1(-u>;tzB8!{W}ogbYpkLhkuqYFK;OKW8=kBb7#&U z>-VL3Z1dG=dHt$2C=?EwwU|~F6ySL&Q^ew4nPon9FwgsZy?yv;3-BhyzG>O_Fu0cJ zz8N;P1w0I-KTCn2=S`Ft{B(E)wgUpUG&I^!0w64a949=_gvId1xsn5Qv0cJNvZZXB z7-FO@dFLoZ(s?T#75LJh+TB)?_rcxQV}5h!{qpZSJq3?_{lb(Ll22D}x#v-8fT*x= z+zjukRgAm$4i!E$F?rwJHz|^zU*>yfGiewilqs5gQf42z96T5TZO5*m8EE4|;v{#G zUW&MT%b$eh`>Q(1b1QODbCt1rcdP8FuKA#S-_7i|)^yRkFjrX?uI=UVd!IeuVx)Uk z>qKYMv)ZgA-eBviCsn47`^{-N$U;TRY-ROMc1_+6aTz^R$?$A*4;Z@jkB-j32p*t+!+3@_;tb*ZX9sQ*rQg%Gz@L%*HQ-1}r+2S@<1Bo~`KR-(d z_9&k}a~2jxZqxBP-5e6R?e|mN>#{_nh*}eDj2Xr>2nh>U*VHV6=01C(@pkZc7n7prBPjU(|q_h`?czElD*_=g`L#TX^Lt%#H0m_@?9*x^pe6UT((I2=tlE zmpOEPlj^CP`@2Pgjrx|FHq*m`l!wFhCr|Rjxtr+7dqh+SSf-;#g>yIVQQ$^b+-zgL zuDQnpv)&~)rPpyTS)y6uY`Q`5?h zhY##h10*?&l$Gy<~LJsT^<|@Ljp;2(NA?)?5-16#YE&|+2bKq`#nU;om zq8!meqXy~CLQkL{soYVG+FuNu(6$uhj+ffA?a{hMD3up)K(|bd4Yk5k=X5aXv(7m zfHBAf*+zP8aookkWH=1JSADVG*~TTWkYwU)w)4{wF^@7{fmD5N?vvdH_R zALn&*2^rUpjm8+bfs+BmGX2F@Wve6gGRHk;f4G4urbTf_u2fc5mVjEIHf`&utWK}< zxj;|2O(cOc2l!Hp1f}F1P8!m&*#pw#%%ST*>FzkcGJ5Ag2|&u835`(4ZO3RWclPkC z5PimC!3&#@>*~Z=sI^%C!LR4I{PN6e?rANama?Y)v?{G>q@<=SdHcpTC3?j?MRpP6 zsSk?lL?z<*huZd>^O?L`^E4yr=D6$%KJVaU z>lhY2+@_`QVV5h%t4@^+t>ul+zjS?3XJqE_qt~xr?z++37P%bB>ws8puiSi@SGf1W zr0FLN!J%#@)%BS<@6XdPzx1K@lG*hz{ekq-HFVgq4)0a{6hqUzF=wB*vA0 zuQYuU5D`&lqG?gLOi3w!Y$}ZNDwE#9?iwr6Yewm2HT90tzkY2-zuv`;M_fo*O!!^=7a7<9PS4IRrl0{X5K2dT6s%~~&24ed`KPpW{?0fBf(bj| zPhy{1Pnf^TuAV=VB_zjw>^SSDC4*Yub)N;T)qG*U*f8D9#^?E!Wyjrv?`1FJU2Lz0 zVvJ>k_F=zKU1g>Ixd__npV9%D_NE-g-B!Yb75xm0F#8s&bW=mW%Duabx(^QlJ0j=J zj-5M;Awl~!RXP94WG{OB)-GFw)z+YHqy#l4zTq&w)^0+tAVyaMoWX zmL2Lja(;Eb;@npG`)+IdPVux_KrCCISEgu0x$sZs$@Vz8N!zJ;;Nmfo0uk_gU%g?!J6WhJ=2WS#?d) z{CgukJAtaHb%tVd_U7qk<~}9#E^>0N*;cEzF&D{WX6c^YVzx)V(mVDqPns@{*aY|j zWeMq6f!Z>)^5w;BA|?IrB2tb6F9>Fbu9q~^)Xiv`qeCr1l58T{fezTNf>$6|Zs*u4 zK|@0my4II8`ufEeFN7B<%GHXJwCsFXy^|uB&^45r$38Wiv2j6F>ii#}B6Zl-O*D?< zg&mt1*k1Ab$2-zEhYE}+m&g$Xb&#Hsse?7DiB&IRt~0I*klt5kq9sxlij*c;R_RpG zxo4VSBlsr2HJ2+I_`1p`h+!A!TbHvz*yKATgPeA~$7wYGVaD;{GzZ=5`ZOOTrBp;s zZ?$M1yH!*r>M@*=Qc?mblhCsknbk%I74T^(%F4=VXgr0kZjlC^P=-C@YS9b7SN5Ce}nc0DP7=t;123pi6cQa$G%N zmvxXNaaQ%M7j}K8m}aF^)ohB7(ZqM$2Fz`yq=Y+o5~aOvSYxSB*tpz_PE{(>_oVGD_-pfHpp(#Ro3qI@InKLc#5~sr1 z!-M@3jOgdDuiLq9_!Oox%A*l-lqZ(jpxgQ2^s4YZd&;bKPd7hyX%CqCxKw%YhS2lz zABQdm8t5{FJFi}JLO893ntXP`sp5tx-MxF@ zehfY!k;b*Uep_UB#7#2JBiNQzLj>r-4j+>gAkg44y8oKO!=>v3nQM4&z6F;W2hCe4L{Xbt_U+-~&=pHflG!%V#~~qH+?0}1G~J%dHvfIB#|$C>f$)oy z)KEK|6GWtpEGJF;px!tEb}zu1>Zy?M60h-XYlUbN6q$>9>JD8OK(+qy#&x^xzG{@T z^hoBt9dE*Uh=~=G$?Hfu^py~#8$GPL=uX=iy)*BXp79o}CipQXsn2?4G`uZ&WTKO` zx+Y5sdRhmq*QF*E^K-Mi%TEYHdmIAtPltup7uM|4Be$DhzzUVr%5VhHYmP%J1v#`| zz2Zbh3<2X~@EcE0egzE-$*Pg>tHJ{xt8&7r#+uf=8$G4W9#0v|rZ^i3-&0j3q7^Fj zye1%fJOYyM5my8+G++wt^&fI|eL2Au_tlYCVx%>F z){atn5>f!QVvGIgB&|AC&}`s|K_^R^wQ}6DSy&TgwOIJ(3m-}+q^@X8T>4rU5A7BfZvQT^bFCYO&UsFF$oD-gF^xtPw@}h4i2Qh2_xh7 z!7ZRhn|9yB^9}G35E@ATa%_6zMu%lZ?xIyw+L=`{&1dqhM*9E1H(_`=*V1 zp`swK8O#U^6b*0*x+J5{8q(r?QiSu}uw<%mKGmR92^62(S%uID@m3t+X6$pu_ZmTd+w zu!V&Ne1+)|UPe({WZ+tkojO(cq68}@x~Ql~c8!&<%USTMczs((HhlQp*JtsS7uG$9 zk5J5YyGJK0x^eTSCUB|!F+1z?+mGz>FO*ChsW;x(D^HRB+-K{*ms?xn4dr#QzXtk> ziu}~g0;en`HmzuCMu&%xB!WJqO__N8q^3iQ;&*gP8Yjvwsp_>51Mwe$8g!SJ_f|kn z=htkyYu!(L4$x!>&Z{MnWelb}=&sk()YL3@M@_U&L4gywNwYdsYDDCEusk&wiZaqc z`#IeCwgPv)fnm$hOd3j0Z=li#FSS#_1qFVE+xAMYT)EKCARrh!S-?(w1<>x!x@Juz z4s>V7O-m_QLpTJ{M!#6^IR_hC5R81#*|qEbdVC@LLI&CkQ=5J< z%|&R7!xq$mqVTqR>Kk<>zxHU&TO*+)!I1v62Tl9Od%!b5sv&>=yMh=9}|sw^m0^RFl_@%%>jbE4agjXZCGiw85) z6F>}OqXm!-9JF!1{alOf@V!N!KYR@u%%0i}nAyA(sd~O`M2P$qTCS!RvnyDAWSim` zt_I&oOxaKmLsZAwa@#zQt}&T$;)|pw8!k}b=PC@gK|x0B3t%I{h8L-iLmfGPDC$Gf zX21WlQ>aaE3v>mf9V} z&dL>gc@?Zn0tyQL-mnU;e6`%6^Bt@ygDB+*n1Y7tbMU6?0xr0|eFidZWUqP{CH}c7 z8BOktzUX-v=q#6$wl1SMIyx>E78Q_XaT%_6mmU3$o?2?Q5f*E8+Y&mu9>|S}?+n%l zL?wG~j{lz!QkLRyDidtm0t9c78_s3Q>Yy>W47?| ziS+qd!>Q**#g+}c+B(8PR*U&^S9t@fUS>5R9@Em&*k&Vv=>`O8^nws5s?;-mJtiPwW-sd59?&K|&Ed6+CqXG9nItupXgZcr;qP zEjB^;C^|}+*LML5X|yAxImHIu6aUf@aRse)Dt++%F;B;>gNy)bf`JTIfueDFogawI z|GH`Fk-A-4=oIy39xpG`rcIlWWspYe#{LZ$Mu@zl?s8mQT(>s+ z!d0>UjxNV0YzNy(&{P7`1G=n+AKl*cVN#dE6Xw-sMYtL5(k1JJ99HnHU}s;wnucnht-oaP4vi+_kc!LwuihralsI8Et_=Q&7C%*k)FKSr}CAQx&xF923klGwcD6wfKKQT;zP{MQeKTstW z2B@2B;LU|Jx!!+%_5iUG!zL&yEnP)U1oC6JnunS0T8onzey-cEU%ws|yTtD#Br@?$ zy|CCz1CP1Daltwah2@RbW)S1#XF}dpel;|<^?0(@*X=hPcz7OM3Xc#GfylsmkXPjd zI_XI*{ok?xX3G87u7|dl?)eUgdEjF(n%Jy?K4C(KLr$$ai_I=v;v9neUbJ{I5#T=l zH#4F7uIgYg5404sW!CXk4yclBaaa+n6=-54eAj5Pbbb9AMe<=))xG{SdD%E!&?$3n z0f(R(6v9)8d5%V8`<`REI-H)6F`_UY=sa;8&Kbl9kay}ITE=3*D?$%x{;VCY<@)jo z1e2tpkOUC=K>J_Q-?R7KSNt0S2x1C3A=kWgI=EuYdy2xjQ}y&I199DjUY&RV5OWYz zF^XT$p^K9I?19$=t-8x(xc}w6J9@Q*VZA77O4Q`Uj~2jtC=*u@bck^3YDz07$rgSV z?6VjC`h)EeYv5eH@N+E~{ot}S#6B0aEew3D)Bu5vw@?0^ zQU3*1`1OMS+X(MEQfVRJkiKoSxdIEf8kE`rn_6QdqZ;TD%?kIccf5InfXqrD1>`Ww zYj2-~jj`w%_#K*|-KV6a;N;32**>4g_4OJG&A401Wc^&@^6QTXy8<0CQ8=Qe#9DiV zN?Rg1>{AE?4l!C^I*N7rzvFg~qts-3$0P4#HrW64$&+eGtZC93x7I+w&X4rddai^Q zA4iG-g1%zik`Zv4ILMLFoF!QemIXW*t+M0{BgNb0P^`gQN((>^+!wa*-c3crg#AcI zG5iH2K0qO9 zQp{Vk;OH9~8fw>)u|+lY0^CUXh)*88gFBqWLd4r|X=jVYDWsy9Iw%b^XB60O?i6@BD;ePKvPRP&rk^SN{w$q1I zLn$8c01k6<1|o=5V<~?9`ZWQ)0&2oL}C7MmAIgtUv&IqxQ@W6Kuk<5 zd&1?SVDYf`@1Gtdvm#RT#^*DMyAFo$Go^UJJF}91(f}^9a5ezvw`!%d^|CmlkfbEu z>{rgg4@_beAKqt=86aN5P{Ew%QCbepcMJNm6d>jrA2q455HW5?3ym zm11OEF+}YYoT`$We^2bhILY~HSoskT0!p+7t8lMe$rW^$uR=q-&zZ;*0-ow1cnAUk zQ?y>vWeg(t?OnHLrtc(RH*9iMkr@En!2A13=!LL<(JrynuH79Eh45k^{SlkU49tmv zmfEz!JwtW5gIMDf3Y_qvrzE~{+hNy3WH!ju&RzsAc0kQAOcSUO8H+ahtuzIXnvrrA z=%;pn87jyj*N^ZXrf8zgsc~oF8N?!*05pEroaoPOEI;9xtFRslUm3^-mmyEc9#!~M z$1ywu*WzWAI|l#+aH0vv;-*VOT+XX;6jrNXVi$r!5q<#6P>8dFntS>^;?wg>Lx~qI zti?s^Oi#Qt4FTe02?(*E>&ut*VsS>KB-=25?xOh4+`~}5ETIJ5zI~h6YBGXnuL)Yh zNQ);%+@yl^GR5Z^h2HcOpcyu|p}~NVH9(pSwrzXm$GIXfIy{_)0{g#3l!xqLRvy9NYsE0g#jrJ|F2D8sRriA{&11RS;^@A0kxPIz?rBY{NPAV#?lf>3KGs@ zl|%KMXkV3wi+1C4JYI%Z2!CCcqNG9B{OgezUjVXLHnd-4 zhc#_{eCWuCt1l*5O~Vx3XrvHFG0O0&Ea_)YI4U)c!ZM&MRfC%2`@c7C)y?=fk5yJo zF`!YK6SiQXP5zC>hozJ+8?_+prMyVd>0!Blos2kyk}(7on6u-X>k;g?Q>MOs+~6^b z2(lcY66%BaLDh*B#Y2PeA4(diFuRcgOC$8o zO()iVK7}3v(EUhwEd)pPt>Fu)x|0$hwd@s8WOm9W0T2D{NTrxi>G zyR^q$^K?4|4yj{ANfgljC2)&8TUx5bx7nA9^qL!1a@Ci_cbeTWSz|x9(;#T~egiq-ai6xR*B<|JyucyjGK88J zNl`bZQtH6Shj`un0_aGJF657-b01$~W+B=Wu}W7+$5gu4+!d|R+BP<6X*+Ugk&CAT zuB$-|I*UOJux=wt2yG{)Y!V4!fWd&xrVWSikdBVs$-_WUcA%l21G+xT>%z%ckomV= zKU7vig)uRCOZfREXH~eD-FVF&08^kF&6lMOubVfcfTYLk=Y+`vEntTKVYJG!a^>TL zub(zt8rs7xeRR)e{3Ze_JxW$K7^*BmfQ4`Vmeul37mocH+4JDxp&YraD+uGjK1dfC zD-=WIG5-}ht&s|I(f#dre59dQ|aci@zQsEZ{V78bS?lCuK!(mS)P zD7hJ}tgM7!Q4D+@NoNR7dpvuZlD!4$Utv3pR1`&Xwn<9sO>gi?B!PfC=~>_y$ogf_ zN(;Q4XW&5Akln(Vl0W8?sJ{%QNlKl`wb@r0`4aI!tr)FgBuWU9J0aV^6>=}2Ntm~Q zlAah0H&?{(EqF{4DBwm!YeG&9fKG7#`OI*TN7i8(+44|u*&_6k835?)ItH4YVV~*p zf6Y7jGyEi0Es)w!g=9z!M)@X5+3zjQ&4tkSuoL%F6UOhC{XQi=UIa;+E&5&Y$l+9z zMA5{V^pX#Tx2usVI6PrX?myg;5duqGh~nAV1t~08pC_YEk6nRx$s&qv-_y9C-qmdN z|8PwuHmBCdbdkP3KTFSkXZ|Au|6t5O5dg`|^}LU?3ilHRVr27_4>s|=re4Ga*x-pm zAqC%EW^BqWd-v`wZ@w(~Z>!{56sbkHG20`#9*iTI5pnL^*6=UQv)zY)b;74U*$qW_ z;fobS3r+l<=coMVm!3Lx3O>B_3;sGE9$0;Kc|yP7Bm2jh5;m2FJL*Zgz3uQ;8Fe>r zk!}^no=XS!h@$2h`r&UHWeyPcFtP00Jl(YzzLdmI-|0mf4T^~Q&iT}*4EMrY;tWDlK!__JRgZ$jFlqRpNWZa2?gGG&8pGR zVqJhE;qB*u@KI4UG&d`GnMm;b``>+TJwkz}Mo(8)0NR9lu(bn$lj4g>#?*QLlxcq% z;$J%cpIGzYkXnY&KpIqlFB1gZU~tgzANIQN+7;y@QWl}ZslH?MFmWc*sA>QMpb?0{ z1o7kkB7;szL^&~%1fdjK3|1i<^F@&02BV&$CZwd){oCr05kK4iT>7tLpsu-I(jTWV z?EQ&Q-2I=QR-S)EgnyK#e{IG7(=X47VvYrvkM8bnIHIZB{BvlKt$NNad`bqx|MiHT zl&5y;drZ&Rs51voUb0lDd2Q~ja8NzV!nAb-?D<%>zZ$Pypj%9b7>aM$&Lj!F!`c)5a*qcA%SZ=lyT+zN|wRQzT~fXw{va$G!uWg5u4m z(i0_*@0l|(SFSK%t2{XHarf@#`rW3z_Uft8lfK3hleD{E+U>{@AD&4tA2R&;$V!x& zZM_+`!K9dh|8VhxLs;9t|Y`H7COKA6U)2|GzOIM&s9`U!OEncQ^Zw8PN>S znC=(1QJ;Sz$(cW>;hhyQ`Ac-ecKSuE+f`6A>)`7o$G?*rg|ZAT4>bhCvPFS{fQ1OJ zT0b*Ay$pu6>;Nu8AUR>cI4c&Y8^m!rWN)%z{s#btb;il67L>KbagUILMfUZ}yAibC zx_~p*hlu^&M!@jhunJ*EOgsxyR#FEC!A6)kP1{16rj6c6+N>Sogy_AxPFmW8vX;zz zn3;TE>3@K-R?51psIfnR?e)%8!%uv!;D2{n6y8`{blo&}2rJ6NV$vtpj|`+b82|rn z@QI&>`JU$3-KMW!nir)ATlD!bEOOabnOI9&EMFgr3x3>sHByDJ7S$5R)b0yGk$)yMG|+&*AtlZ)oCP8AyHF2<-~o?noQp zQ;!twbg`Gm;Z&M+WEE|CWAj1kn@d>{3n|C{^fdQTL|n?YCeu2QPZ9#?%-3Q}>VSJI z+VAf*{Q#&6K|*bP{f*A%1F!jCn0^L2Kfy#Z!=_lAL5$NEZ zgkTy{4YYBnAmE{2i)Y51b?cXUI~K`WSk(dKp#*?&v4!4(60mE(ch*y1fhwQPj}iQ? gQ~yI`nw;lyxRB>Ee3YAlAHyvsx;M4|za=yQ0Q3g}xBvhE diff --git a/nbs/tests/mpl_image_tests/baseline_images/test_101_gardner_altman_unpaired_propdiff.png b/nbs/tests/mpl_image_tests/baseline_images/test_101_gardner_altman_unpaired_propdiff.png index b4c3a0152085a4719932dfcaf4dd76565381ad85..79cb709227be8c3db042cb53aea9fa8642bd3a83 100644 GIT binary patch literal 25502 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 literal 24558 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 HrM%%cfd1;u diff --git a/nbs/tests/mpl_image_tests/baseline_images/test_103_cummings_two_group_unpaired_propdiff.png b/nbs/tests/mpl_image_tests/baseline_images/test_103_cummings_two_group_unpaired_propdiff.png index bcece5c245876a9983308a0a0bf9cd3718a3a788..260147a42e52d570551e804526b8147fd2089db0 100644 GIT binary patch literal 25749 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

IulFKl}a6 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�Ag z(b4Cam4CBfUb-LZ+HKhgx~J=EXYHija@rqFQ8Yzdl-1>-2Thv2ZS6_iXvNyD0MK_JO-W$LHzm7+~Yd1Ia_l5dRhW$ z;Y7&y7(e3a={fB1IXp-3P@3XaPG)wA9kUa)%&aR{lHyPb?BJ^|o_2K&(93#^7i?cy zri216{4lWNihZBXn2Q*gl6UGWKbZL&ig>oyi?#5R6VVM9OSPNd`cqlYw`&u0fQCZ6 zBE*CWEa{pwo_(QnSR4)wDk>^@*ds{gZF+h-ri@uNW1Q>+tG63fb}VOL2nY&VhV>r> z^D9So6_S=wjtLb7@ROFp53oO$fIUw|foJ{Thp+InP$+o545ycn`+*BqLW?PYuS@0XPOKKSVqJtfrvBq2+Nge({kN$UjTDmgk>Lv(wDXWl)z(uGYp!fOem z1ryQIkigQ@)2jiHA;BRzQ=>Q*h|Lp!#{0m51DY9n5(f*ZrOYeOBb4{~{5*^$#MyHc zQHmI9Cu(TBwnO~G z&`=<_*Z};nH7K677M&nI{{avYJRMBACR7NX016gR4@fm0FA^OW7YxHbtC5jWcGdKI z*KNIT-W1q2uOt!yk|XR9A@x17M57UPG&izNG=V!-*0D9Y9U>19XJh2R!qXyzoCh{CH zE*4o+54I2WkYc0Ug^L$24h#*Y8U26@k^xzRD_t+EduX6;N`NkaVDg%lmILsKthA9$ zMA8%f+*_tUmQbj;g_NETX{^h31Wbu*DqV^Iu;&SrFHRJ4Wo3}f3#x(FHUNq$1*D@amyWUsUp$v4CBe7>L}~9It!y{kW&+{uRqx z)>p9lI13*TUJh}TLfkcQ4kbxEa?zAOUHGvpv~9ky|V_)wlr zN2}Y~3be=I$c~1~>8%UQuB2z+Ybin9;KML|sQ_j~D1LypO!0@tk`=44eS0eCWA;pT z=*O266W3R*ym7#b{d!Hd4Y7qFMqr<&KXpW|VK6i6Ve

Jd!=XQo@8%cIX25E7w_V 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 D-=4f& literal 32356 zcmeFZc|4bE`!@Pb%9t@@iI8L-lFSheqB17QEFwdwkRe3I(jd_wM2HL_D)X3~Z>Zx1hJX=&HL-XP`f=_uVgRWXGxq4U_W--|+FwjqC)WNO?#OrZp{?bOyZ z_PO@?ov($l$pX!ItBioWKtz+^2P)f}+Tp88rQ?%!B}MTbF11T4Qx$VdbTStkygZ|N zK_ntkWM|TBX@Ang(hn6>QUX!}0x}X_K|#|pmD{Y%uBmW^xBi;yH}QI=Htc`9D?V@d z#>u;SEYwT1@#mJJh#}1u{9u3NiZv_#jPkHc2;z^LU5E~O-BB+;0)HlB=s5A}`5Us; z$%(m_qEauN5%E9RgYTX?>PF=ic6#Q+j@C-9Qud*ag`ldi5++t02JHqY%a9|`>SVW*jyS=GCD<Y-Q@> zz#ok9qk;M)?D$ZBjnoyLHILrCVMl-ZkS{bwhQg<8iSrJwA$YL9xPE;`QcD zMvjh$54SJAzFUlAQ?+@4?J`3{!;O1>|DG96E)7~xr}RckS8OSEekBty>wWsnnSn3w z9(o)-x@26g+PN)tSvV74l=!~8RnML=;U8^F%QZt!6NO%NuEpF58QQSte69G!boA)a zq*mNs^<~Ke6iVpw6Ac8BhPYiAHmWt!J3(uew*zNlQy_bm?H+xpSv2qdwjxtYpBJ zgKb&c)@JbC7h95+nR&alwLsu>A5AyD&ui!@tDO^`NbqrDRNG+-i`BfFj%3cvb-7no zzk0>7F#of12_-Tz63@Z%=lde%Lf6rTbPTJV{BhHz^KMeBl$6vCJ-wCxdijEN*~5oI zVq)}FPr5>x`PJKX^S|^|GOt>-N;X^s7rJmw^giwSJvUnyMONSEU$cJr#{c;HP(iMxJ1mQ&K)NqyfP(-m!PZBE^#1>CiZ7ty_Ro0fU? z=2Pkcvrg*nuk)8ANFA(^uAB?ml^~UJs3ob}=@PCNb6J$m)Yewe!op%>^1}20Gnte5 z`T6n5$-1WVLgYe!KjG!{^mSO;6iQiH*=C>dn;n~0n3|gU%+Hnm^-9zQna_e0su;vgK8_iL6`qW{CqOIZuBx^T<(S*)&uI zFD*FoMy_el)B9t`itXptyn5q?;Th>JlP|n?k9GCxn3?axTeFM>1q3L&E=z3iQYF_} z5Y`P*aDBVcqQal&;fb#e*Humk(1v8}mP)9_h^d_TB4N~Xd-wGkES8DS_j?3|g{gys zgCowK-S+OmG1iqUZ{7PG#UbAN;lt^X5hs%0l7r@zethj=R#a3x9Tpb9VGV{UbzkHK z>)#WN{L}r>($BMu);HM~QcZpN@+AUc!>H%{`SWp425A`?+b?ZcNzcfyzPj-oed4ikq^Pl1cWS%4EsPF1JJYMEsEEcl%hhkitxt+!KVz6{U%e`Bn!R>y^@pLM%UNHM ze5;WmJ32bd2WPsrT+;}uXe!}T_O2Ryk|68SA<_Nd7{h({o(7C)ti0p1l`6jourfAG zRn-|88VbL1<%;0PpP$|=-Lt1vZt8km9A*9b+f;)y4%ogDg`acw-}CtS<>1p~4gT*# zElVlLD7`;>f}|%Sx044gWN}#TQWwEGjmTVZ_@zk8tazf{@_5~_M0rQs&btS>6`YL| zXP-TN+Ww$EVNc3lr?F^TH#epeCr%(i^pQ!Po%+~@70JlEk#_y=YobPrvy{h%ubrEo zDD|I_oBRFS#?B5I<-^52ySp(n(3s%6+yOgS@PZK$}T<-d|sLdt${rmTuJ$fmI zMn=V)4~ARSeNUd`dMg$5Lqb|QZ_B~myP4XZkEI;TGk@T{A!*}b!;)UybfzJT!-|e~ z4^K=CCkJuvU%-Da`(9nHp`r0%aB%I$jmAb9hFST?Kbud_&ZZv!{FZWRdfEp&T;D4u zG<4~aBS%;`IKn=CI->6jgf~C;ea}Xx=cf)RumDb5M#zOK_?#b z8c|`BTesO*MLx@lyBd@s|Ja!)-IYM1hhLbeycw4Ic5JYyoS?7eKRrG) zotOJr>Gn=p?~2S4L~?FLx7D7Wp7{a4e%N*%Z@H$#UOD%T;px+-GLFwyKTT3#z%q}B ziK)Zpf3lhxA86A+PKv*FjZs|uj^M{TrnynK_at8~3kuT;j*DYCefsoD-=~;L2FV4o zd=ObK`5qw)w;xY#a(g%5+*GHPP6xk|CpFSP+uwO?=GU(QvOK>HK1ngXqcG^}>uXkW zglCiM+q(UW$k05sTkx8Cfb!WjYEg9TBG&VBGvnjq6pBS^!|$V z@@7LrL$B{SGI!+cU&_zVuL|6}=Z0$VxpT~c^D~a0y6)#a?|g?zVdYucwux6kR<`qGq^l%%%e#);0|i)plV9E)_*a%`-n62+y888f zcYeR0Ut&+Z_ocD4w4|IuqU@^)V{m$%zm_1fe|@3D@;m0m&YO?+Q&-G=+x6kY2LT{Q zY|W;}kE==iLCSpn`gO#=Zo12<{lyD5pqD;94m^g5a_ZB?($VA)eps<;Q_gEUY;g>; zP{a7*9V4|wojn__C-PG4$&)8rwX~?PJgwc`nRo5l_4o6dVyC1GDk&+M6+3fWmO22aG4ix7wHx-ebG`|^`E zHa2VP7e_3W9orXxi$QV^(rjPt8CG`o(8Dh?{+fl8CcAC2_vJAmh0G0WEK~y~)N>~x zd;q%$n>iPo$GDN?Ek^z2!){#kmLq;UF)^{(Z!**LO&9|g3k%DsB}fztyGv0Jg@e|+wup&%`@Dj)w8fiPgUe?LLyD8{xWs|VC^-yjz<#L!(=K1Pqf zFZ?a>eZ_^CL;%(#l6(Fw5$*j5gB=ToB8g+ho(dG zXBc@x>Z7^rdaHuT4*TG#^x)V>)7}z$n~>1ZzOP@;y)AaJo9M56}bSY9L9dNXBoXNJu0N7rA2lGg+!)Dj~*e2 zpT<;jy!nAoTv0h8Rk1LCQt#U40=)qO^f(}=xqI5bRUa95aIqGfZRzy-+jb<+L=R`Pq-sq#n~vXEVt* zZfnna<@~9qvhu0C8A?G9PfxMEH>`dD_-b{nTfctb@x}GiAM+|%`1oS6+0%fc%^n_? zteEa+xRRJ?gKX;%MONTQG9tz|6GYi9iH2EqDqkNN4XMk^%iFlQS>CiD*`49yjT=l9 zpV`R`$RH6|loZO`+}!w&E_b{4k9-%ooE_3)-MhcwzQp3QxA>ZxUe2h?b{jf=Ws}$Hv;*l;%&guRTwhoxx2sl~X5jL3DRe1lt^zpg$ zT?wf>FN)+%tiX^oy*4R5a2ixa6C#U~Q)Y%=vCg*lhQiKvX>egKvjA95`g9=sd z^!HYcsWsvxQttNKng8PDON7>x8SKdzV6W&4)=Q*&TsH$KBD4r#$YOaFYOqh+?jBUR z{`r#by418Z;NH{tVjgMBN2f4U$3MLemOA(#f^G3j)$yf3Pb@qG%O%2e5=WhX^pCxQyEZ6O-)VnMk(Br!OoF&)k(5;%SqABr*fP^ zLF`ul^-13U#~VlGuED{JkRG{nwW<%xxixB99v(6zzif-;#aNLy z(d)Q(ZA7JBRa?81LLd!f_x;4vX>){&{<3~oesbTx0xA-1%abRy7>5G8My9&@ z`X!XHj@;-qYJS!TN6U^I5xPf?Gxf;E*|`}n)KR?HwzW6ZPR3ol7zzab>D@yvl;1j6 zH@U_oC5injq2Y;?yhI4u0>)zrK?8bvjG)cpE?qj!A#U3HG*SMFl2^uGH6FD%N@lx; zn8gbB(4mYCit_TcBW-E2ev?jf^S{3SRnK==s|Cy&f7iCL;oa!8_mjvi?a5i^j-0Hi zJ-AIqlm~bcI}}0O@`vOXx#mI3B8SmhCT-F}YHc9v!XO08GZpEvh}?GH-D(ao&(?bnE^B-@(lZ*Q82i`Cg$nM2B*ny^ z#AuVex;t52a$6_4xxpJK;hW>dkM`Hm`G0RwL<|MHK`t170B>HiW=*NrFcWBoWi&K2 zX6EKKZ{M1Kybav+*W%zT`}w(xOD<6_<}L}=&1zT=Ag*K|yh4dIJ$5G#Ult6^xY4>8AeGP3y);(Z4xxuC(bq+s-GLiuScEtR}jto zi=F%Qx(ZiTR+ht;pMR$2ir+sDknkWQ!veM?^T2(nkdP4F_U#ChASzF18Qs3D#6-4s zYQzO=HUDXr*j0)R*Oa{CZrnHv;F)&pV~5W~|1v;@wp%;dg@uJLWqoaG+5uJoq_uPN zO8RBt%=~9j01g0?)&D4PY7@+S<*au@wM_%HfPjt&lok*Kd;jXpZi(D!nWh7MN4 zlZ~6mjqi*oS?*GGYRUM-1PMmunJJ}#zm?~|ColB&*GIoDI&73Ud)(8r2B?Vs(y(;W ziQ~tmiolJ0^!Pn{EXTZ*rio zAhL2;N%XmM+fgo?-*-EB(+!t517=N4O&xFB&Of?32ms9K#jTx*wiwOSX3e75Z3Ja% zhA!_z=#7YuUP=K4$OS+VnsxZinW^vJYftn9oO%9yZ_6eIs2U&v!t(O+hUjWgN!#1o z-^3>=rvR@@pMSV>;_Lg7j@(t-&aS4jvg(m*By7s1J?+=K_4W1JQgs-LoZ7V917=Z+ zlNE#t@xp}*dn*G2z*7rt+QjM7k<+#sko^?$h9(O&Wece1jgLF-002f`FT>;uift$t zHiHDQoB}pt_eZaz-_A+rVx8Ndq%r?0*j*8DGVzxX-uPlY-Uz1Wl%B{|ERAgAtkfBc zm6|L97as#|?8}(I>IXn#VPiA=APd+mVPG{QZ$TEyY-$4aN7T@iQ=l%K0thvm9W!~s zy4bzPa@Z07m)fj-DRvux=|O@Tn`W`yd*7Yt;rP2i=KCWDixsMG*g%J3_aC+MlILYj zzp*(1PT5=*3Fe)nuKYQGKNtfS_13G3%o@KZje-Y2eR@pv>wv%0w_2oQ>O+kUPAd2-34Zk~WQg$^Tc z?%l3nU5 zdLp%`#Qv(Lgv|g)QHU>BRaLDUAthF(1qx?naJ<~_*s#+~Xb~dMklz=A>ta|WOag!V zeR^H66qt>23L7dFoF?~X4}lM!WoC<`vs3pH4wIX=5qjW_(G*fcOO0Cr$( zh~Zg^ysclBn3yTnf+sgNyoSxrY0wg5zH|WU*K?DeBYX2Mm?HwBW z$4k8UQgXZ4sy4uehz&YNjz}E;`aTxYjUBmrmE$>oUBZGa|s+MD$p_*@FTS zazo)kXh2}*Wu2Z2APLh1E&NslvI`~yA|kR}H@)zwEEZ@y5i!=N`as_krUD|8m%nFw z!gFC*+*^0x@3ML$oyC8tsW*XJKumfr=7MW2XI>Ly6*#j@Xj_b^ksgUW3&O~^z;(9B zIVhRL_a-0@^#uM}@q2a(MeqNF8vo_&xr~DPdO5|S+^<+~f@JS2kez66D z1MHI8gRAlkQlm7Hik1kdsU5sG{s?Svrg`z0%hd3P55^<>QmFkY6i3Hl+h3&~eN>=k zh-j$2ZCg!y(T4>df>x|Ujj>lM*btc_Hfrz62SAOzc~fAun%_$2VqS{1t!)T4w=EK# z!+YbFe@o35*Y9y2J60C(Ym@qP@6yeiHxu11efKoDH1pK@X-vMcZ)BlQ4amA!X-d|XfL5GTHLw>{0_Q}Z)6 z8Xg&m06h}l*M%q^uRs5_Xr&!s@mfJd#cmnOAye>6$KYg z+*#bUYcVKRZGQdu?9_Sp`m^I$Hx!D5c~Rz;gZNz{XiO8&H;*6h2$(IZQjfKr8GgsT zH8zo#>&y{$_Fjcf?TcA4qmO(I&j^XJ%geX>#6~iSq1-S9ku#1+(tmM}x+dDyrE2P9X8|a@D@jTHptBY+Lu#k3jr+Omb+5l|=YO{FtEXxAp6&73CVeOhQM=W$ ztgCkJE|tZ=E(%8|T$`GjD2rlKD6@LiBj4}6qoW%do=+x~_Fl;JA5d_%C^5nyZk4?>m zl)c{)yxHTq&J`BMoxjEy#ws0EapM|ebdH2&igxZ;NO4*JZ=t&)e8Qq>>a1Pnrtt+4hUZx7b=1l=C#h* zgqWy1IHU`Rf6QvPVKHDeEG!(~D86euVR3eQ zO56>|N5ueM{^}Pu|HSzW9X&`cm z7FK`<#XkH8BtAC!Vi{JURAC^LPw3G1{sJ@yPFn^2Rv^wKmuXQ(EWUf`PsWclJTYE24- zkcdtR2?^`BZ8oO&S7S1mY3LkaF=528TLnyU*vlpUgKj_owDl$c$9V0yi4y+(-*wNK zG*R#RPXH#hgn5nXmWBC6nHClDBil{4ecp{MS zgiuV#DaMWuCnvqVKfPu}1yK{jBTr<$Ybqz0K6l-3#B8rvsfIYl^N>DaQJo;B11yqg zD0`^x1(lU~frNGT?u~m^0;5kIl72zJujACqmf7^zMG~!zjg4&_O#Z5oRhNQ(e&s)} zO#LFQz0^2stALt{=R!sM+PF1p6+Q-IEIX(gtv zsJHLA0PiUf!%m2Fpjq~jnQ1M`H9Gn*?jTi6uHz%5OHs2|^ zVxp^xtuV@3Dk_<7NEfeba#K}Ye3y}xu?oe(S-iMtW9{Ahd$SBZzP?`@8k=zbJT+y9 ze(Y8~y_o6-g`%g9((Kcdr@b=`8RmmTFL&oy*sDE}d+ifG=Qda$uvA)lhe4Ldjz&MD zfL+Z9$93r$yi*FZf@_yh#y>TzuvZN{l7I9b;;>tliYPu4zdvkO{~|hNx+nQYXomhUx4*^Kliz-_ho0>OEl$|b<$U)FxgWSEQ|}Y?$Z@xlcvo28 zJMc^?fY&Q&lfraqIA>*0rDo$t2uy)iWiM{pU6{5H5ui1sG2jJCuD-Bt*Z8M5^5FS< z{J*aN9Ee1X-wuN2c?s6f8PsurA4Sb@g2aFi8UPARZLl-|v9vNN!mu8-mhs5jt=XkM zvAkTCX^Zm>{zV%uN0Nd8ZI=4@cC|iv!l2;XUKPo{oWp(?OC!0^U0GZvnoir$#b6mKB`Pajx+o39fA># z>ha^pPVJejD249syc=cf;1C8z#}@mB=xi`V5X0uWU6*ARDT(r|IC(Q;*}8^?8aTs1 zkJN(|yv1}T!m`@s(hgM)H+~7bW50g5lCpSe>{X~%%BkXF1&}kb4o@yeKG5il7vIMM z!2!{}twA&rtsov^jPD~6VH4RNdc3!i;+kBRs zRT|>y*1daK9+j8dI5;d@zka><*Y|v=Ue8O2Y!z$mbaK#89NZuFNXO|2(Ix_a&sKML zuU@ib$@sT#TE~xXA{zY$ql{h%dbBH6a5#KIw6K15O=;wL%2N2Ww0Y8miSpc@v!9*N zi`en&qPNmx*vykVF=8k>I7MOj>T@|4fBt;1l9#1hSR0%VY{gkmhefO$D!0KY6$_f~ zrh88XDW7j>1f4~8NYRPrd<_=xeb7R{&VIQ|-~3}ue|QMsV+JlRF8Bp*y~sVYYNJzJ$1wZ)-K6AS)|_sb z*t(+1Wu;G9rxnzYY}4HA4X7}<;pB_x?X^x@SZ8@7udO-Ity%uP;HB58I?;qU#jUP< zz^scLBnxX-%P>d|f>k}dyh6*$lrSPPPy(n_+8>sd-b7stp;^@5-~Z-b(Y<+=YB>k) z@AlFI4GhdoLxCaKF8J`5IdxLY188ez8Qa3HMLC5HbQ1(vesOVFSlBZ2BBu%SO8Z;a z)b7w?aS?f)tbF<~Dj+JDgjQa-c(M4biq{b11Mg9)Mc0#V>4OKhuk&pvmUr(z-V+DI zK$=od{kv~>J`IO=iarMsnQPTc*_*a)MUiV4CuTs>D7j%1EtBX%gq{ePom@fzoxh_w&-BX#ucSGuNRS_sFZSu|dw9g z9z2lxbvc21j#e<_HWP_=9o1T_^kC!Glz|PnPwA*w%zvx6uLnQwKzd zt)1P`!RC0jpL^=N9{I{=o7@RUpzT8_O-i0S0Kl@ELIHD4p%BgpWE-8(rZtbYF(ja7 zBp%kgckj~D)BELC#Ay0H*yiij%q(KY)*O^zYi@2HdG=g%bSU)fvCh0a6U%#t^zlUk zQc}C`Ji;ZG&1PDb`vog3d4P4!$$RF^neDKicX8%5Xyy$MwOoY>R0$d_Y$|zE5Y>tN zOWA@Vk!VZc>}ZZ3KR)v64i_10>(9*btMl4IEFbvA?gm`rKBl zmEsp46Ws@)rWf0x4na}&$ZHvYh;hWJvyd;j)H3ZYq;aBFTRie%CG{7uXmx{BYjdqa zvzO7lO!Wmb$h0WoqaeVfAr&YSXTB5yfZO{=S;b9Lp!0UX^a z2@K80D*$OrDGyG3wH%v}l$2aT*|1^5I=7d=tJmOByv z>eSaBemKOYXFujKv=0sqIX^oH7h7;5GyKey=iMPNic|JJ_i*g#|myBtVlL zsQ2;j-?t*znclUC1RG0CK9GQ>M{g%vySnDi)aStlJUSW)#gKSa!Hpv`zwlK_DNJ5v znI_HN0DO>&^?`A!LRu*vJNffV?oMiPp$&N?is`*Q!@Z#gsrmGIq3!hWoNL94nNW+1 zi<6a6!>lnUU=K~}EYvPm;w!_3qCa%#kQTV4FmTl_d_uI+{5=RxCxef|?krsdmE+DQ zcnR1L6xTy4%x$cW9)pdd4`?qWIXM|-5h2l)^wo`x+h11%JnWE7_oaS>A)q>?6-0kh z_1%^7Sz4b8$VDkg5Fv(HD|2#kPLt{tv49PXpeSvK0O&1R*uJ&ksG_EsTzv zZEkLNgVQAVebi%_TeFV#%?JlrhnNJTvIZ}|WlV;CGx9aqWdH;E+=Z_}3(@D)XK6u< zPxqbSCrX?RJU_$&&A9sTOwISh{yw{78Cutub7tMYaJxSj?k|df&&iVvFh&wNv1kl{ zTl&#d$AJrV8K!r_K)cXmH;8{L=DTs@Mh)CXLV({+&A{v%n(XEJFnQsO_bqy7Hma-M zZU`H`I2kN&#?gcXP1LWu^V{GK3`Wqm0Yw_tL7ZFr?pkOf=IiM%EWGOn#0eIlg_(4t zapoXX>+Oj?B?T$fF{t{$UkA0+B$T!v|EtlqSSV08FQX|iZ3Pv583`Qii*c9C`aAyU?k@3|Rki7bD{McCd!e zk%X={4lYy^LAl+*!6ANxnbWTEujhX5tfx_D%;$;nCEa~Gcs5~j9L z9mPBJ^BPPt(9N9CMfxsa z4LC&F#|BVqP*H5YbeE;ie>G^E@aN^fVKh+ledlZyPY!)EA{a{j8UTX5fJeEFN262o zrYIz!f?=e;M6-N(DzH0jJRyiL%4Fc%0G7Bk6+>w_LgT$O)KGay4GlJ$&^YCkhIA)dT zjO==PdL;JgvZPP`V>kA0TESsPP&}lZtXff1B-?z4C!DG$e=u74Pb@1r@+Jf;vlowh zNx8@~Z20B$_%&Xx8+*i7B%>c8eeqA7e=;sS@sZ(#?TldpQN^q8c?i;Lc`vdC$9&Y9HW!0AGhKLPJ51 zK`LY=f)$|XF@EDCg?Xt-DNoLS>n+hKf&Q<9U83-qg97Ti2F4-Xbi?*i@+jY6GVJ(I z9+K!IU7%t~GYVox4Zx8Hs%TP+kf~>Y~AiEk}pP$am(25xd;4bR?>%MREQ$hdYm|M2I2}aiR4&S zu7Ubg3xk6Pd`E4zZ~~+@r`NPtZ}_L+lu8<1(4DabHa0yy%c09aSdC=CW3vr>czm&+ znwX){_3=;o=TE6gtINUB(GC|uZhRrUj~G3}i5&*L6HU*aZ9^ibcTJ9qI|Za8C@HBg zf8cU!PY*vbr^9bue5t*?m_^9o=g+Z#;sOc^CN3!_=RaM%fB!_v=Nsw)QK($e1i?X! zF6ercDw48-A(X6pq_0Jj=FfFx>M~7A70mvlNmBtQU%3d=D%@aBID5^AEEz=kvOV!)3p#{2snq3$}8%J`;t4(@x?^R5Z!v3 zFEjMZmXogND3iX9#jPEG;{RY1wds+Ncr-07W8l1rT#I%&qT(#0_`vqfDQy`;;_n(^ z#2Et}+w42v;9hp>sZay%JOlNUo$xxas8g!Y&WE(3g&ssCghO%GgxD9Ox=z<|X@gN5 zs4Zar+Un{h*s$hPuyhdGO3L{Z)`vDn?6U)>QDRn?9vy&4M3<;%db0wVr}V_v8&1`% zZ69~F?mh$h?~JClan^`lK8)>XX0WmkFgH(nzf@50x2{RLpuD0H^oj^Ej_Y*9KgGna zZejl$eym_%<&SEjf-mxh_qV1q1)~?IEzw#Z!aAX%(aJC}H}gc}<|`C5?;eDqNpB_T zHZgMPCS|iiY1GsxlE&A<{1=K9#lo!l|9( zn+IfhQ&S+Nu$u7Je+gBA`wRY`VZm1iu9YrD}^#diN!!CQRt;Cl9#L4&n007WJ z#I!klm=1xp2)(WF*9mUZ6VAQGwbSs-7BU*ws+;%0|L1v3+@mROE$OR)Q+j;ps=J_s z1S3kK+Tf)$&olH_U3U!)4V69d#R5%RHh3p#%zz6TJnvEjT6-VnmuqzSs8|isQ{}6p zA|tC&G{T*5Me8E~SEOmKd39IUftc6yFk^2Z6&oJqimI<1MF5?7=nFw$sKM@!I&u;r zh!_N6Y6~dS<&La7t}z9U9s?n!?9K|ljvd)Td=WapRFM8Y^u;=u4Lr+MqeCxA4sZs& z6$8@~1Ij-KNdpzp(-EM6>s#(lYBzkb6#IEcNKj4~s|x6#4e3MhBb3Hyz_AfE(SwNn zG>|XN4jgcaM}s)}zLGVp?7Il%>id1jtioUE)925B(vL9DXg!UK6y{n`UE{1NNqn#I z;aG>Ld1MqMXJN5nZ~3tz{K7xG={PGogkcRq&rdbPpfI!#KE0u~3S&Z?f)n*zR-~y6 z`0TVx?Jz=T7FrMl|nOLi1?ORdY3HAWRK)QCTlN-Fyg5bR?3@MHBylz?y^(g8Ngx)Pu2`;acHgBf* z_^v8IBvEcmma(A%2UgS!vJLGZRxk3l2uHqT-m`0Q#ihs-QI)s@kom`deXS%poN@{Q zAO&PBIJVHWw(b4@%pbqN?I=uz!4ndUdYSke;1VHnqESMn+pf;&-0zYHAFM>vt#7RR z7U5X&b9ue{hvZ+2xu!FPft}}gh=x9*Sc#kFRN-2rTb#J7E+Dt{4iBGs^hgz;&AHiF zj04;ZgO!yP#D!H97JmM7;LQ&g^P#vWzJ@hx?rwO}+)NsXsbJ3(bgYaZ^~mcW$I8XM zPrvT%<8sxBsVN;eBuSsU@Va#=V75sUH>^|e0;Vb9qzwv$GpHL$g$8NcY%uTBbKhHG z>s&!fI7D5zkZM7^ZK&^DE0@Wqc;aTyf!|Q6@f@Sqs@bTQAn1m`pbOFvq8!8A$lC@@ z3AEtWA`So?2IHI7LhmHTSb%l!5+kvAu+7$#T8rYoNkv;E>`qy8-SDRN(dQmA?;V`b6xo?{ar*92rWpadkU5 zR}H8mf)IhCzaMmlqOpXwJta{oar(2|!V5UGM6l&gel0)q@^;w?rt<}nrQE@na#lhj z7nCzsX3qin0NsOq8i9{Am~O4t))qVov;31iQVGh8f`V!3^3~tQ$E(14kPHoHOBF0v zq~TTrRJXiwj`pqXU3cAU3r;pJj;-jZ#fSH(kWi#FH_r*J^*bHH4nV(KELvlI0gKz-4f@=_yN#nW2vIXJcHkJOva{fWBX|W^dA4PXaTxvBt!e6ZxjhAO+Xtfy zBG+zmq>WU4lZR{2mjZQ=CUx0%?eJs2A0P8S)+?U5ta$O=PRi^O#pWv*7@`F~@}n;i zv`IOQj`oYlidC^XL6TxJc7U1dZp&9Yzqmyfoq^Lql+mQo2p#(oY}~9n*MHL$zI@HB zMmRbmGsauQj2H&6GG)M*FLw8X^%Fv;B{OES0Y$AWSg}xQUG4DVzOO5;1lg;9Yllfj zOWU|_q}z$K0^=F4WzlFubSPGvZePyrZ zTqAN?rk1E&bu-jLpi**k=;}hgJ+-dSf7v0u+ z16yDn(%8@Xr&3En%IF;&3?u$F*iT=p7Zw&0bx03~NWec4|9UMuPjOePn~;+`OW>y; zLLWptvuf80ig9_r7o59|)MZiXu>>}K7Wo^tI@`8sNhJu$$m})B*efdIKkWfa=xX@V z#7oXW2Gqgs($<6m^gZQPC++Hf$MX#?>AveFESJX z(jXeNnZG6f1x#Fe&O*LeLIDG7=?IA8L+r5(Tv8I=)#|MAElFN3;}YK!N%n|mz{UfQ zzz&5d`1*A|oa>WYd@vM0z4sYd0re@8FYWSTImywjuUz>F*T`?r#d$;Re^6dxZTv7HI}{B>C75 zW@_88?ZRa!)yNqzf0`XB0>i#ccb`>8IXWh5HnB^OzV!X5GSK>ho)1*-8D=8I9H}hT_?v$7d<_b&dj3 zs!W}n2e(=tx*ddoh1Q|rgDw70MB#^R6BB-g+8lGks(K{6z8*7^QXYc>~x(Mw!_*#jQ1g&Nv*{obE z*HB1EYN_Jo_gg}5E{}Wc;CIgMWxD>jZ|(N4zu8z#gfU?NV}eL?_%_kK30JN}AcD}T z`AxEjmuTUffB`t4cIfNBG9S57IsLw?>*4d`#9Hw9F*!4X0sRd3nef9_V`Jk2>0(RZ z-xGIldu~7_3lP3RuIvTNshrai!pVEWU5yTuHy+(QFVmmgn6|rE+3)Msh|E+1+CU_b z<8{c1H;~6PMK0Q40h5Yl0?kao(EzMndkd&YODE}P1Ocv}sGD8`{7TOFz&}fU68FNN zpzrk*izp^DGm}b#LcGV?Iy%*zot-y(!geGRc>+`*8{Zw%tO=)|LI(Xf3+$@2J7>DP zU}}`sFym!du!v$0>~05`gI7^7P%JC94dY8sM@L7m?QchW<^Me{dZDWG>ZayW9CvW@ zx%$CB`YXg*Q2;93f4oa<{W_Yl)e3q~bszCrM)E~!gzU@}87;RW_aI*Vz-K~`bOJiR z%0A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 diff --git a/nbs/tests/mpl_image_tests/baseline_images/test_106_cummings_shared_control_propdiff.png b/nbs/tests/mpl_image_tests/baseline_images/test_106_cummings_shared_control_propdiff.png index b1efc8b8d547b298a2038300ed6f34f0e717de37..83f578ce5bf27a2a87cea37aa40eea57685bb37c 100644 GIT binary patch literal 48886 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 diff --git a/nbs/tests/mpl_image_tests/baseline_images/test_107_cummings_multi_groups_propdiff.png b/nbs/tests/mpl_image_tests/baseline_images/test_107_cummings_multi_groups_propdiff.png index e03d2a0818201bb12be3621502c5bd86e4b1cb1b..5df112c6b46bd637f5672516e49b6ed927c3ccd7 100644 GIT binary patch literal 52635 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 literal 47200 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 diff --git a/nbs/tests/mpl_image_tests/baseline_images/test_10_cummings_multi_groups.png b/nbs/tests/mpl_image_tests/baseline_images/test_10_cummings_multi_groups.png index ff99efa03971fbcbd86ce4a9d74f370fa6d4e416..6cd8c957af7bdd35d9a5aad918e9f345ccbbcb3f 100644 GIT binary patch literal 79452 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 W%gv5tWs;Iml;qXqa!#DT{(k_jAA9cr literal 74212 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

>8j#%e8lJs))1E%8-A0c9ZXzifdcei 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 BtA+po diff --git a/nbs/tests/mpl_image_tests/baseline_images/test_111_change_palette_b.png b/nbs/tests/mpl_image_tests/baseline_images/test_111_change_palette_b.png index d43750e69f99ec86d67005c2a1c7a1fa97422f42..2eabd427fff01de47c014ac147f6ec5d4d926a9f 100644 GIT binary patch literal 34212 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 mBYriIX!4Q#IDy2k4 zhD1^s5((+u4(qnwQ{aQ<|>pHLVJcfPW_HEntBg}aF)+LNQj1)yJ z(bLs3r6^hp@|S)Qep6we(24&kdTLvE?l@}i>22$NklJSJ>FRvc)A^7c|FMJa9*2&) z$VzRLl9l9l^z?M~P+GtK$e(YJI_mDQ{@Fyu1TMnhs=M2RqL$i{zcg9unTIIq!~#7n z4YT7{zrORfSk^wLKKkP}e;I!$qi8K{;I$AgXPd1tS%tOX!Hxy{B@4CcmJ9K0Gh^Qq z(Jj$J9gffuEZis2_PUOJ|N2u4>u70d4c`3x)f@F-_v!SKI}0AqOsJ?R_%&bkQ2X2& z9p%t`HJTxi|5Pace6QCUqR0;sOE@G2@ke!kpthEl)(r>4g8A1Y7?!iKu|+3KSCLm= z$ck9tRW09ox^sA0_gR7sUS<2l{r`XX|J{Hcl&R9+wyo}}qQ~f11K)N1IPnXQ4$w0( zNx0A4xUq(gj_zS|Gs~q*mmIq*RMW0suVYHU@HfTDB-*I@O)`%UJgvFs)IK^lGqNHl z&oWP^{np+>w?3VSl?p89R;<_2)TDiT&*|)*VwbRG(wMKfwHc<1joDdPSVE(swoVMa zavSbclyhp!Z9F0*DCqjWmcjYW?S&N;71XH{zox66K3(E5@T98#{K`7UE985_WE6uA zy0}CRy~>HtI-;dTcXMY>NY?{Dr=~AozC6#jR(I|wS|T2&Z*9xY#%7|pQ-mY8*sZsE zp`1%6mx#z)>vxYIGaWi~sKjSHLn|8h6J03k&0y~Dud-^@s&BC$FRA)|Z+tF5UWgXM z3%EsIIvLUdf-j}rzG!HHsOjvu7FxYEY1lr4I; zFGGKINY!ieo1xtU5f_x0O;(poDa+h`af7ACW|{r+sm41gt+t`|gWsNws`Qt(+Hx80 z%(+RQRIqPoLxg#$L4k^@s@s>>(pj$#=LHXE8l{8;2QTdG?EH3Q1s`8j-k#$3vp>fj zJ4*^vt6v!>aF1k*8|kf~5*iO=*&PwXJ@`b=G9K2z_b!Ohu(dD0)6Kp66V>!gQ9e5H zntNT7=~;oxwXIrN3-95ZRr`MBop0A`c^tpK_x*cXSy@@?RDS+??9l?R&*o3nES@E+ z)?8Y*XY|q9ln-TU28Zj_?(FEYAG&F=hiBr+cAqQR3#j147g-L+nmP>k_J_xv_qER~ zf7+^-{zSw=V%IG#Q`3tB*_Er6kM&dqEv8Pbub85Z6W>`K!7a2iF=2e_0xMQ`nUz_@46o?Od&jEahi3CiBL%&gC1Vj^@Cw-r?Up7X1%uRpAI^xb_< zEW?EqGmjiSuGdtYWF^%w{H{#eYsf6uqLB8}r%#S;x!l#&)jh*5<#$N1Ik4&A#;WkJ zFtP6m1qB8E*0g&|-4EvOzOx7mw&kP^-eEQzS9XL4Ulv;X|4CqCzHIaEf!_-3BH0fY z$So{ds~>pJu8xtJYs2Oo=fUTxS$m45R8&-+-#xTr&6+i#(sE?6e$dh@Xv^IlbokZH zLuw=M%2xFD_R`bSKa5hJ3oY{=u^a9zwPW6f%dJt|A+2=&{CVwP(-ZP3Cx8F)-lVMD z_j_*SH$_G9sn<_We6HiVjK|S+PkUm+5O{6Er@JCxu(R~ez@3;F4qo*WlJ(EYeO=@b zu5$PA*mB^&np5q?i}_T2Z^YTC9v`JPZru3quQG9A+ny-1Fy+LwnE0++5xesDrD9VL zwr0m5OVKUu302 zM6k#%UKM3nPI(SKr&+D!*|=k0x<04#yZbwHZNqTaYt~u@PGsD@E9d<7E`xX+KPV9_PV;sjTSRAIyTnQDl9B)`y@fy@*tVVdab(w z1tfM}-x{UTkGCXjunn}RLG)zP+a9YuOkIeH3EFmLqit)J$>6J;6?1blN2!O{`-Rx- zDn8$C)CT03i5p(oxFj+%(pWrhbaJwO?$^w@*2#yb7m%FceB_Aj{{0KquV0^QU0G3E z$cigJ(2J#$5EEm_v%FWGnQ|h$`^3zWj^d*YFEfp3C{79U+NrU=LjRxN*ng-WXk?Y# zeVcB3Xvehj}89-4WQDEs>EA&!cf zVP(3-i-q|4DH9Wuti5F$X%{T;D#DHzMs6Uh!>zC0_RH(SO~*(1t*oqAmoGO@J5F|f z*Bbr6iH|8K-=AAwvH2{^YW|o<-&)H`O9ezkGPDA=YH4kjipOO)@5nF~-QYjvdR4`T z{l`f6`hp|w?lRaI%pM*d+Y+<0#V}N59CgL6*L0{P zw-~M;n@PVHH@$lGUYlPP0W;69X#}xPtmflex_I$fWR!zZysF{_U%$M$<2KTzDrr$b zjemT$n6j|2=s^r={1LVl3oq>=>%m1%wV`ZN{qfcXKI8UJrzH{%7scrZ@4jPii?Gin zf7mQ+db^QP`~A9jgH&V3AtpN)7Z%(whWmYS_lcU2B`e92B{3MQSKLH}tihw~xNP+q zhA9kU&&Q98SFT)1JtXVmx{E%dmoJtv8cs=PRHeC>-->bo`n6{?VQ)48%j^!fWO^NL+yk zMX5(RiiC$ds;X#~@~J)9!HeObT;~(Gy}d}=t-a?SKHR*`eIaFUZ;uctYktcr?8y^D zvn*qck5e3Lx3{i2UphNGi(B6H*x^s5CnqNh3JWz5 zk!56M<@>X?D58861fjFH^D=l4q^^{V>%MOQW+5kJ=5 z)zvlFQM}&%Ny6zfXXr}q-xpL-StTtkZBceCZ(tMl)hb1ItvikTq~iBC#fnW0<>Wsv z_wksTnGssMcCl0Yt-7GaOABmkLM{gECTm3@R3^yl+Xp>F>ePqROVwvt8zNUrxc&az zmRD07#!-0Umv020I`8h?yI+@jIHWq2*+0D;Y<=<rAr;=h2UbW~i5AQOC>Gqg!?E8HlPLHI z`EBCM8xAtPlV3Z=Td`r5q^71K6U6`d;UheOfq||)4{5#+y<)p$^oS7TEX_6;4r=|Wsw@S8gheTddr#BBfm`l6Ps z^mO5Y=A_4o;&_+1H)fLDnD{gNz_ZcWBDJCMfK2Y*GV_Su`7aRG59H+JT$pH>vGWo# z*VNSU4VD@Bcdc*Jq{Xg4p= zO~LKkWPFR9-vpvaI`?mElUSwXF~F?kIe6`7xyw7H8=0AXFVYQ;PmKzw&5myI|NZNS z@UV5dsqNdlhY$|WAnFzudlw!H=`Qz?wY=*{V_;zL`t|E;2OnPw4G$N0n-Ai@MUVyG z*D<~B=x|aS=`7_?Q&V$wb2}Xt#^C#7`26Sg{P>dJ0$W0C9$ggX+T_ZAX}vW|sa2%Z z-uoX)*CnQ0yT*?iDHTD$;`RZCfoCaENEPpUYtH_;^GmfI9URWSer-YJ|EN&%8d|no z$|@`SS#z__v17-=rq%F78;`s_)6-*P2+&FOjEpSBAG$@0-ebouEKtH20z>Wj zQDQqXY=ESvuzq^Kd|~dHn9lA#`Fl0)#x`ua!nKzc)tb$bBY8WA`}-GCCCA6?P9Isy zs}hO%$-pu9UE*=Z*=9aXvNAGq6ASMxpinXb4;*gVW@z}l^5jVsR1I!!Zh~5dYmzdy zT}cB9cYJ#{yET=SElwh>*(R*2s!E`H9q0SLJ{k%r^Jfumi*Xs_LevTT@sIBfxfjRk z8X9T=O?pPEyS>-K+H{Qj`SWMhvuF8P)~6e7P_{f-r;GBycz|8f$jE4wk|+J6M~^I- z-XS99Wj~9;A|(~{oE(Yjni@6^jvx>$ zha<;-{AfV1;HMAFa7NI#xMRPhK63RrkLl}=*~gxX z3A&MgJjWyE_odqAzdnF%=dT zQl~&oT?Z$CaAcGGu9f7Eh+xr`=PUewvXjyT?=3jmt#;txK>-N~CZvc4RD><}y`0vp zU3>1YpiO`aR(xLr-^p5pdbZW8&kqhdqBytdZ;IRGJ-iBU5dN!b4v&baO_1I{U*RSu z9%_2}7m?Wh5P7HD0XAon1@Bksn>DPJyk`Pgb zOIRR9N4q1X_t$^eQyDOGtfZs_n8qagQuNi(75T|RN=k3}`+m)&4~FoJ*IleaRqg?yymk=t1JZe*%1WMPeR^PbqtJYRm z1}P~s&1eo7td7hwG<^Ept5d=BtcKPa?iTi3phZcm5>^m1uWn*%*R)%oJl}GCD@Mp9 zJ6+!(7@s_^JfU4De$4c&(B;+@Mr;qfnamDlo1WDq7nrPKWMr%+SRN1}FQ7nedQj-~ z+qdEJk|x=^3d2`Bf9aNPwAgxLhT-O2vxGfnXQH|-f+F;^v;;*gC>tlIb6^fa73tVM zUDG$v))D`4RY*`q&ZOuN|2$0i-=m2Ea~J|oy~^2D1B6yoRCM8Szt0K7ZQAby0l=;aPZ#JXxdJgxop&O8lyl7b9xmb;;@{rRrJd-+T!ZjDlo!`Q_u^;B(-=Nl z)Hqu2?t8Hie*0Ek?lX=O$m;!xXIB*om(W`_Qn3Yq9clrotFa4(Hf$)+4LES% zfX%lLj}kT>u?*{*pT1BG89>zYEE6Gs$Q3AQ9ADk!#ASn#X$3?@>CdlJ(DC>8|EC-Y|lA|5@5THUV^Xg;8cIYo#fN_tO!sJ}tc!UReAtFiHI}NzX((CuHk&`XON39K0 z)K-H&s~euF4rX%o@Cdqh@1A)nKs?p+zU~}B1gF0u))%<;YR-OpydIoK9d8O2Le>Ug z_OEa5EXJrkiLs*D{INMn`o!$gs`k0iPyL#^8(!e((#`d?#m5BhbVq_O$(1~Ej>c&far(k$;yaVSMMN-f3pjE6&K+`3{*!MU zKz8m9t0$D2IAcqj%>)uS!Y!AqJu{#PMJc#+K0G-$&SzEO&y6G_Wzr4O9uUzs`CF&< z_rh=@*(6v!$Rj0MHTXM=--o5$8}zey7-GBSku+S=P!0D-A$YHG@LNM@Odp9u-6?&#PvPG@Unwd%!-7smPfRH=uj zXcm0iR)Gi{j2&R}p)nc+mz0|o*`uXe?;gEtZC!>ez7;yiL|bNYvBLD^*K^#m_WS|@ zG`DWuqF=gntDzw?sDvEFW+3;ik*iMg(^IE#y+arC6cm+}S15T9)yvGxSFa$FSCx@+ z>?q1>`&j*f*V>Ad%3x&fb!nI23D|#tO47Pvgg0WxEKW2G`TpILa1rCB{DJ(NMPdZj zuFcfy6I;eeXsk_}N*?ZK;Zw7^QQ_`TLITxy?ez?8U?V7sQ{3$NGy!>Lyq|=tzJU|` znMf9}3fsZ!Elbs=D1sgf<}mzIJwZ$VRzIFy%2yw=)`&6JNLTkEz{uZTqCBPCk%Ttp z=H}M&%oE6_z8#AtKp|i+U4DlA*Z>ml>cAKzzCsDDo?71u&fSm%iANQ zsJQ#z1-5>myi=RxRrQm+>T^><$!Y=N03)Etgs>u^uGE%#eB6LH{EZ^U1_I;^0**ih zV7SA@-af;}p%+0$;4jePJ2zX}yp9J^>FkR2`~F6qSnb_gh_Tzs^f1<>%X>$U;p z5cuTz>BYjC$*)_m5A5vh3cN@5d47G%NgxJt{+}zz`6U5F1T^(l2fr@!&Noj&5l%7~ zfRW|DAMUN1g@%R(fi06G-BBean@|hR*Kfc95^V)!kS}tqtD>c#2cet{11unER_Jix zJ-}Q<;+2R`6t#BkT5?y&WgH$Bm=8fc007Y9smLmue7}o+a92d7MNx}cRz1Wcw`6Qv zIs5Zt$~-Y~{Ezp4Th@Dqfx{J=o22DkdSuv8h$@&xb`Fk0WCk$Qt2jgqMcsZwg#ZU1 zbp5&z)*&i|!jr$}G&_z!jY1i}HA%_K#@3bwE5fK;t#_d*?@er?8n|nQ1TK7Gf?32?*1PP9_v{3WUrAPXv_6qo01eRvH7v+1}R>H8$G2CA)^7E%c%dk_qSi zn3+oJ)E%oJ-B)3Mu&!E_tJgF8>lb$QX|SWv71ACS;j@nIx01|vqp;p^eAI>rC0x>W zT48o%u%;Ejo=pNC?J08BfKrlt|H~KWSro#c8;}0aGPg~KLW~4OR0paDAx}7bo&(&5 zG>eLg9%b1U>{>QfR%+L-T@+zM9hfO zkIPgM656uEdKt*m8juq$**n&Po!^`uX3g&!M42L_{24W-M90exKF*ZLdg~JosDy6_C?9PxXN5yBYi9 zmA!|1`l8fB9z0MzHqy2C%bBBZZXeXPjF@M$<3&51FeqwV|P=@o1~ zg6~lGEMQ<@aP{)iK7M=?2}#GkT0V7~o15F@{vot2<{ToQG;nuL;%?;=vn3g~05?I- zZegfchgkCH!(62QxVLaz0Fnj~5>f3Wjr_JHJj|(6l>his1>xb7h%5=JejD5Jt)psd zwd9;%vto?2I*N{X6_t5@VyA4N+xQFtxRUZD&f}2Yr_C?MRc7SE`@6mOGs_Q*&pe9` z@ie<9)9BhyDgit&kQ-C(vqz6khv_{U*)IN{S^jF~m+m{e5deN)x;({rcGs#c+s#>y z&5l}U*RaKP8bnJ=t-T#KhK|T}vPMP6T3eQ9a;GUl$!& zX}E3M*gNm;`AfCzDZG78^Wfr@K@ncAUu|(+n|&sym!2(_ZA>`8h4DMjBVU~;>p=36 zb9cpR7&9n}iHXU7cB~;m{iGTIEPws;@0Ut?E|P_Q*vc%MTi2-9@S^k!zrb|UY?4bh zDJlxc$gqR*0+q9ndj00jgI8~JzKQm_smPed*b0@)G#)pVEGhR2jx3po-_{BPj0-h?zg{Be9B*Rg@I5f&7jeSM1Dr z1yr#J2q_fX{hDSlqa8DeGHb+$*8n0kfy@AiZeQQZqng~DZrY2)K~Q8Ncpp$(^IW@0 zqU}Btn)Eo@0Zz_;XIEgW(Kik$hg7%GQ^UiJ4JK zfpI0}j&_wloQBOsP+57;zu}2~;48%EFYpXJoQ6B<8nnAVH3t{A6Nn9i?fHC!4hK14Qp@_vlff~Vk0T2*iAR+oKxO9}cyb#=PHL?L@oA{W*iuI55 ze-FfdrH=HBj5Od#gkXC6=Br^qsqayK!>>?<(qYLmLg{gr$;8_vDS8mSvf8^l;4G+q z_|y0yc!43+v9Y<&#-2Dk`D@n@t8Nr; zXUQ5b`Wp^gCsQsc(Y?4nvx`@EHEr0nC&Cu^E)YP_*Ph3snqr1yWUWzhE#R70(GfU= zpt@#=fga^0VhO=9Y4v+At?DY?I)B-&63O|?vRsXwzwGY~RWdpUrK;}#6USfiwe_&P zlyyY}pw&S3IJgqf5f?6AO#5*h+a+sO%;Ue9)4<`c-&cN0KV95pp4NOXig*0or52#^ zm5R+mreZU3OVD4v*-b1?Kg;ZHF)u2<;9B$v}sDiy!z#GWx1AJB@+(6sZvSXD3k!CT_lfk1wG z)5RvMVA^?Db9SlQ#L&*XZ(wZSUyo9&hO{`ZNFT~H&#|?&Jq;Dv_SMaumR_LB>LEx* zU%kpKA(7+Xa6T%ER1IW=633eQ;T2Fe}f2RUmF}xz2f}e3L%20rp%_G1npaf%qmA6IEXE^&=n_ z0Kxm#>>bo8R4E|gQ$crJE;_e-T{Vb8A~ZaGd4^Cdpu)}(Z3tCQ$Zw+R9Pn(i3S3Bm zpeM|R$hOOLK(}Ykp6!EAg;-DC79C-tfVNjhu2KvBYpvpaU~LdGe&- zz$11j5QMCPY7{dhLC`Imn8&$J8k>K_C9P|AEiAl!yBcDf^r07Po}{SrA)UfDRRd8l z(TaS$EA|n$r1(mJrJgTeA^^;oxn;D5Ttf$!lxl?ySl(xo(`feYNN^ zBBou3%4|{LUz#=JvG;*5CknUFurRhG5os0$HZ&;PBaw(SKwF54>b^M6tS1t~`ROAd z?om~9OG_dthrin8qo(lNJUPDw>LDmXRyf9>XhP>-aR1oXaBw1e%VPxM2AuAer(AiF zYuF_yw~-Xn(AfaLSzuW>e*8GUtSkqS?J*a`2E@N+jaFvI80HkE!L(377FK@4s19=4+L+r^e^*?qV7OFE>>b4LhKe5w>I+{p zZy1Y8K%d|j!nS9A3(?cc$jE5DxiA6Q7I#>UjnMSYw*)lbp#U`~nJ9l#GOfh>e|A#k zI;Y$Hel1+MkSLFrZ)5KemmNJLqs+AR`}ChY>qb6i$n~w$3|qIaoC^#pN|7TKGuL47 zu!HC3^0PN@-VnD?54@Z(EdWp14m?TpIhN(^?ygzv@{TCa@Rn($8eiLC(n5m_X@*h3Fb~$I%G`ou)T;Zg0*r z-;acP{Kq@*RAW)&JWKfq9(hL8&z21ceJrSl1M~9Mp;W$_lqBu^dIJW!sU+3yqmG$zW-RPMV&Iat|K5R$-Lz(3%MpSTjg4nvZF+O2&Hf#A zIu`_Z^fa;?BKK6~?-_NX69IHq2c>4&4`O>6MUP7KWo-J58}!Z1&4Dp7F)#=U(FgK(mU$ad z{2)=6f0}{EpRjopKVnv9SIW|V-NO-%CV6Xzi0>6 zSI(N|_(L_IE;vkAVt=4kJwI?KDQR`*yLWCsTw1JozanH|>Gp>aaR=a_Ep}(F1se?w z4Z_i*@nl_JWkO8Am4b&|tl~FmI3DBYM8pn?ns=hXP8S^)Cv00=AJpzR$Ii|^3UFBc z<_$L_p`)+jrA4>3i$2@-sfx}(vvkDNP*3dbm8bjn??=@@i_o3-4LhO+E-NUGmi&E;ydc@VxHL8^!KTxXQ+NIgd!}SP&G2Qt^4F z5g!pjAWvbo7DKcj&;6B})+c|t9bn{n-X4V;H*VOV#`J0X9lJHXpQpc6Y;VaT1I@O! zHn=!y;dl*ywVg!SO{G@JM@x+(9vrMYZg(MkYo0mLmoP0(6%(cB><-FsqoyVn9R#HX zSip4rBzvEimv_<1GC7GQ^CMA1XJCg+vqe{z z9x74T@^zMjDn(dla8{IfeZJHt*p9uz5C11%o7Ci#_Al*G`&CGWjXMyyytb)+iaK|W zc%)9DCguDTe+cAy3#?|um56Ou3+0M94kEau)3iR8mG{X{U$)E(sjO6IfnS1{D&Rb+ z8?Ld?3poF+Gj@BqwrC-kDho?XJ6IQw!;+Rfjl^#A^IJc43Ir}i0mWx{J-H}sKv75t z>n5kbu2H8jnu5ikDVX4r2twF6+(Z-$$o>eCsaR-rkwJ_o@YPAKy>hhT(T@0}q&!7$ zgfbs{HP9q9n?0Do!_jUYYxeeOaQc3a7}=qu)B_pF85OrUnOc)w%HdG3W&n0XC|PO9 zGg&anwn?=>I(dlOk{hA-gByoLB{&Aikm1=j!RZ2LK+7EmBiMW@UiU#O(S$3nB~API z&u_wLSQx8X%=fUXtK#8CV3UTUmA^u;hWF1-jS(v~K1#w4YHYp@(qbpND&WL}Ltb#* zItaku2Te%+r${Xn_j$K8A0Hoy&)oq(R!i+G4}~GB8ZHsCN^y4u{y&M2miPpLyEPHx zkVFCjNM=!R5v_9eJ-i=|&#%#JJle$!7pPgb=|U_OrK4+ONf`g`Rb2x0^R8nH?egWz zUl-U0nFrt^a$z<;Yx+qf57(Pv73#l_W{nN*A9P{+*UK_a4YWCUQ26fQSNc3S#nIxweCWh0}aqI&xJuJ4?L-o)fJ)XMh3 zy|k^bXW@hZeW2^d=G9g0?YjuUyNofor@vqLOK0hh&k65UXovgygs8?JYbzUGo_}*C z>eNR@1_m~y20>^5RZUI$$44IgID_@oiy#Y(tLf=^7lzQapjizzC@8Fes1=Nwp8;av z%b|~OB58snJ;TT;zU-5mYx0%$rg3?t+&6D*Ra`WLk-jFrC@bX1u zk5I-s`Tu9lPvQ%(0^vu#W-L02?4~jSR2MT_mke+E8AFjRn8$B<$kWOoN|}Q-PlM?q zo}k9&=8dkg=?k7^j`b?aOR1#XSZY|%#0p9-m}!OnY8_rY%oYm^u4Rnc6%+HaDV8Ek zH$8AbXdzQbpPcjehofjw=6aJ_C_uP!8x%s6GXV7?o5V~*eEwgWQHCUKz z)K}vHaIdDvw<&062r@GVT(#*#)@A^U4G4AxHdTTCp9#`Kcoc-KJ0s(_U-1+G8b3WP z0vt2v;q036L;lCNpJ#fu_Q8^u)k{-fkgyIWa0+a{bilOdCMBiiIRSv9fPIXr+oj^K z!+jOZ8-MX)Aeeaql(G;MDjMMOqM?YfInRCT)~yhVK-uz+`Sb84@93)@*E<>{YjN-i z8b@H_KCgXlIcM2dpmST|Ffsyy2ycb4Zv2{=INV3a zOErSw&&e<|y;>!{f2cJ(h&W_GmL{kL_*Sei(EuwCbINDUs2$>Q!Mq;h1KWs+l_Pu0o!gRb+MoTnu~GDewPbzd$Cp#1S9w+>8;LWBSR6D4?AicE;%Q}8xVXGL zCm?4q@7nmsV{tp_0u3qms9k&FR>j9FV-dkvju^D)C|Jt%9iJFP=&@dG4j z?Z|G6zs6En@avWcvt^}G%qgmV<~xqfOdhF1mW1hBGn$V(S=J$vy7oK;&~Ako?_PBj ze4KO|thcO61u0g-d*-R}s`-mjtRP!)7?+{VsM zFk+RWX`pC&!=Fp_(}LndqBRiSh@6vMBWi|iOlse9_=Td|9k^w+#@=J|6(ImK;>e6qX^2{W{85ePEJg~Sg0>-QSb_G zC8Bh{UZP<^2s3w}u)!r_{YD9?h+!o@CCD|Oor__0^8E6e4eAt%oa(@ZOxQWSBO_6e z6?jB_v9o24$!M_BWe15y$~rVZ?C4kt10gAnDSjcL1;{@zC^W$G#OT~nxPL2Bl{)DQ z!5*QZPzz;&*pXbf&h66+;UNFTw!bqb)Mn*=#y?ZEwmdU%|qvGnQ<-O2;SW;SA_4ci0PA3p3<@ +E64sB{wmy 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 diff --git a/nbs/tests/mpl_image_tests/baseline_images/test_112_change_palette_c.png b/nbs/tests/mpl_image_tests/baseline_images/test_112_change_palette_c.png index 7a068a8db1772ce282be27058c468e7d94cb0e97..2e0d86e07f884d4442af4f39453b9b360ce5439d 100644 GIT binary patch literal 34211 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 diff --git a/nbs/tests/mpl_image_tests/baseline_images/test_113_desat.png b/nbs/tests/mpl_image_tests/baseline_images/test_113_desat.png index 63a3e31329c5eeda82034fa95971c6070cd2d14f..94f9747ce4ad47e7da0cb802684051925f12a8c6 100644 GIT binary patch literal 34227 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 literal 32417 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 z z#CL)l(?-L7g72U(H(_YyZ~d5?I*^eP6g#)}zjb`>FZ}x@^$V80s`*HIn`R@ze-(vX zRZ6DeAC9CEEej0Q3M7YCq>UXFt!SnO-?VhedF2iQK9tXrzm-yg^~H8H_1c9*12r|Q2E zqXzynF-ne>#nud#L92;z{wzxqt-<8SX0~#XGJWvyVM{3KtGgPv=X3fxMo^iPrPbtF zP@E>48nR|G5+jAw9e4C7r+lFh0QVx15%nV7?B`(2&ujO$Ww$uYIUMH!31=Mut$(HgHjOpy;Le>LMrodTFPKld=I_& zU*+yXcGBX@ZC4sSzh^u0KFz=tDk=InY&q97y%V2$#UAakk);p+H}cYG!xN1y%NM@R Vxw>C(HRIwHW34Ax?X&QX{1160R*3)r diff --git a/nbs/tests/mpl_image_tests/baseline_images/test_114_change_ylims.png b/nbs/tests/mpl_image_tests/baseline_images/test_114_change_ylims.png index 6299d03ffe73cbc8d811dae7eb94095f242ebaee..461319383fc1bc7680d9f9904a11fe3a28571943 100644 GIT binary patch literal 33592 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 b@mr&t%Gyq*XL8;u_|IgcX@+qV?7aR9n-R8) literal 31692 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

bpJZwPHDW1Xw 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

pj^&2#$R&DoV@5WaYb|p(6iD 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 literal 32295 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 NR5_!Zu4Ll#-vA;PeBl59 literal 20164 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

*f71*)@f<6H=3MMwn4j( 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 Q=^KjE?D_V&w%$?y1fNt;761SM literal 24573 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 diff --git a/nbs/tests/mpl_image_tests/baseline_images/test_118_cummings_two_group_unpaired_meandiff_bar_width.png b/nbs/tests/mpl_image_tests/baseline_images/test_118_cummings_two_group_unpaired_meandiff_bar_width.png index 5b61946cd8ec2e25acf0fc3480f514218370a02f..5d0b39384c0a7f0ee5337d2598e405485b73ca28 100644 GIT binary patch literal 20927 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 c>>gqsvw;usptKF0N2+o`v3p{ diff --git a/nbs/tests/mpl_image_tests/baseline_images/test_119_wide_df_nan.png b/nbs/tests/mpl_image_tests/baseline_images/test_119_wide_df_nan.png index 38d996890af52fc4ee7181beb45af30b73479324..2880dd45a93ab420e6f950e6f90e81e313526d2a 100644 GIT binary patch literal 37811 zcmeFZc{rEt`!4#aWDFUKib4p9Xfi}4Q!A#;eL44I1%nJSqx zL?M(6+2`GN_paiv@z>T=VWi(kPoYp4 zkEkl@QYb48$-lJJ_@wmQgD(7s&RX?^Err5-hWxuC^}yqc6w1A`M-&g~IYy6vcDkW{ ze3@pl>8(ZN5&pZcjgN|IC>%CFI-Y26w8QMkMIp5`ksY~h?Jaz2sm^X;tS8grmE;PZ zD819x&t+%fXW?CtJaNv={lbvMUG??0!#sA|rcN*~F%xVv{fn;)rE zzIj8}-rhdan#Puxn0Slf0oFY|41XpdAkY^mUV6~ZZnv@f((JXE4BfPMFCDBde}1uU zpf;qozdA7V!2>@J4@%dI>qq1L{Qdk=MI_i{Jp!z4Z4ckLvH#TR(>7E6O8J*RnM zR#fbL8@a19*PLeMs#Pl}t7w>RJ$}4x=xwA|*2(Ae>-HiD^jX5MQPsD!ux4jxuanuw z$G1{UOl+j%NnFZX+$8>@O1x}wWwLJClbz(t0@B0i+UpDLMp>iwT%u0XTgY1Y{hN3D zc7}ac-R#1Wh$hK(`eNk)AtAmGAD#^TQIS_zD0SGEM4wM)d+F*2@uZXyLY#WsnS%Gi@W(;EmLmgTJ>KAmqH(e^4fD!51h){$P~0uz@Aeu1GiLK zS}Jw@E4!XZc)Q}S*RNF#Pn;-!|NiOUJITG&A+|VGyX8WAW@JLeYKm&IhnJW4p@rQ^ zkF{(Qbp5%#`&0#Vr9Mdqa{HLF9%D_=J)XcoPtg??<>IOeR@hmj6_+UDs+!D7$CZ^; z&2)I@k;q8xv^F!}Ge6X2$l9q`T8ez_c*1OJYfCw3YRZE}$-#Fv$QT|ua)fMWxARz* z+3q2yRw?;H({N#CnGeBsKKmaVe-SCTYE!}pdO z6#hrQfn;Oa6uCmHz(z3U(Ug%ViF+W)@uPsHm=1nx21k za}_N!b1jbc)VJq7{kYzPeO9q+PqX1P`8TTjDNlTU>FdL|$(B!rsI|= z6joN&oQv-Td0z&)Ad(kvMJ+IYpiJ6(1pP!$$c@M4=Izn|MXTO|W zuFJ2hl%}i9HPzJ@1q`uc9x*X7|NJV=J11}5+oo0Xa-x*M#l^+q+_^;Ln33+1mnna6 zbCa{P>k=>FtN5Df?wT@g-p{$mvh~%UrG+!+&->a8)Rey+KXF_uPTt$gYgM<)gxtUH zi*7x|?%T(8r(fFd(EZ-q>w*8FYuoXUn>w0f92Oq#edW`$Luq=6$DbId9(x>|@b`%% zg|JAWTUGcZC0X%<)s(@Zp+x-*gQ$+SjN`RPdd>M4kMX`B`_3B9qs6jW)_%>>{OtSU z?ibg$XB(FU>^S+X_iI~*_4Vst6dqyKE%LAiShU{0z67VG>81mZlmge&($gzEQocP| zPP2taQc~A18%fDe5xaQy%9Yz;VeFKHZf^3yTMlFwsC(VM&8U0qnD4vnR6pPm=|6ye9MNeX!K8#1gHJ^1VU=jKEuhSWAo zDr)MArY5apW!Q`SE1wMh>pR=<3#ZE5xX(96-;9ajma!jCO*?wzNO_^nKzC_H=itRv^? zkxGb2*E8L;s@Ak)ec!(`c`K}NcX#KKu}f7S-YkEEGe+jR=c7kk$H&KehlhPN9`4nb zT8~FaCnd#WmmGh6c9ZFjK2#L5il}J>H!=*Dm~;c%uDjxGAm{4>&p7VX}4i zZgxCV4Prs(u_pJeTen8`JAA1NN9n4>XC%Mhm}yp#x;99QVXdrz53f6>K@ z7jvFJ_f1YtPI>$G?V8}=U~M7xbpgKEn-L}KbXr;(4(L_?Stlo_*G)~h-w3hOo~V(R zuUsjpV~Ds}c;ojq|6yt>s@{pR<(kYBPbZrWEcgEW_G#`%y*MguwXRAT+37m9JCA9{ zaM!7+sjOo-sD8?~H|nQ;o11eiEGk+jEG`-t7`T0^>%`M@ecwO7G|VwwG1L^tOv%a1 zt3U<`bnOqtRZ{t=Hk5DNW6AC|*GF@?r}Xr$Wi`IggK2tZsM&J}BE-o9`U2#Dtm}bK z?wk_qXpN{s?Z#Tru31wRa^R0&!^3^#oN&t63E{fO6C80_k#u~Ldg7^|QT_#9d!eNB zo{-qAhCs*d@=lfA6RgWHhA2nhuH9t5uc5>Xw`_Xv-2c@q+e*B2nO$*3!(J?gS z1dK7r?IqAgZLI}U`{$PqxegQEtYbL;C;QHB1a8vN*7n$Qsr^D-n3_QQ6BA~f!Pazr z2Flt^n*y=pmx68V?R{|k?I*f#cXgf8a8g#L{`vhggO!z)SR1Kb&b+T_+Xvs=3%!5e z=XtktM(6xQ=>n6zy?y7iD<_LS{rvT-)?>x0ov!nC{DOjshrFm!UR2c8*R*Gyd@L;{ zCB?Z-Gy0u+Uc?)V2m75Q<(C(2^DW!xaTH1NcyWDfvbTKI|iif9ff;*(#_R?T0*Zrs5Xe>-zf2Qr88wm`{6bhtvTVR}T#hp^$Ap z*ATV(#x(r3*TR^`~HxG^KSfETlVQqWk|aIvyU}n6dI!T{5v7@8)6gZfTMCzfm8KF zG@Jl1keGszj&0dVj#R(T^PKiEpb1ivd4H8ZIX1<`#T3fEt6i^vhgsIH^@!Ycp8j7o zb3=Jvets1yYVOs~GIIc?!oqYwOq0{omCOegJt}>fIbMEdB&AGv?d1fWG`#?%t}Qs( zrP`+vqAVK(4k_ov%DV<^Kb{?CxZGjl&MPf_;=dC9o{KH~L7U}XRLx76*O>koeDfdp z0GTZjhv8jPtYdbs9+)^Y3Rdsdt|EkM~_r8|oqXO;ASO@EC z*I57SM3f8UTlxI#So3o$lYdw0`rU71WI1r)lzU2Dr{>3=RMytg zP^@Ra>M#Btj=RvA!%N_rVh8q8F_F!JDg)VF%HcZ~38BF+UvP3(;-N_-AhE68uz?PV z;P1uLccYJ(s@wkLRa=|>xVCB&)yWI3A3tuK9%>j+UB|+rLnmfjEM!m1zqXteEo5Sy z;6CXM7m++fMAXK$sqWcNY`&JP8*j8H_pro8q}i>?K|-^f{)(R0$J*(d<#2(bvj?0! z$4uNA^^G@2HN}bBOL^Xndiba&!X$v(=Lj2rxs3CS5I?KG!3o3!z&{QlW!tuGh9^%l zkj>Wd9z1JtFg${$>D58Q$Vpv=6Cqm$&M8v;kd&-qs!l=ytgfnJKN%Yl;S2P!RaA71 zFBA9QwM~pL`!aaT^80t{(Xk)yf4sVa))?w#Q1|4TGq!Bo-~(WCzpAT?3&ExG{OaeO zs7Z(Ik=iWmuI-Y%^YFgUsbIlKE-yhtZ}ex^qxU=M2K|K~RNK@%uaCUrMVsLNk7(?r ziu9VT<}krspy>lp;}a2~f1jek_OBg&rmtx;{_UGinVaik&+^h1`MKUzSpCFdf<5Wz z=m-$<^g&kTSM@~yb?d@?zdB)F-WAMSN&ju@Q`GNJZQr|hJq}8{$O3>8 z3l~=q(n#NMocsF3lgN*Jk9c11sGwsLQ%AJmoJm_%q?pl zZ&K!_V5fy>;TOR{XpB1$0!(jdY}HlBg2rtQm!6vJJ8bv8Ys1m|qG{F(YRRm}9&38P zd@0LLzj|?LslGsR5w)@T#q~?rsmjJirYj%w%Te36b1@^*nx}#2aJ=ZxpFiI)=DP4R z!Mrv&)uc>5Nmm%L?Tc)Byl|nC7Dywf)>euDN^0XxWsu~(T)?*MYh9yLPE3! zmTeU{GZOB9ZtT9;a*ORIQiZA&Rgu!j;NUHnU*A_aKKt2*-_5b^Q_ye)9{e#qy}kA4 z@9E*(E1&k>^6@dl$)$Mo_L|Pk&GGQ_QvtsTPjw+vlHU8(zMdOiNA3ygr@9mD(L#II z^!jMa>g@)Z9$8sC04JUs&Fl!P8AA-&1CN( z(Gz)8I3=qmFaK%PI1!_RQ#uo0}WOqdr1B!tp!4=w05~qnU=e zD>XGWb8>TUK76>zAp6vb1Vdy`zksc;Y3~OHGPo@-IV7c|C?sgVs;E#n_EeI6;mGOtXD3qHwZ(iss zlmPN+`pZPkB(`J?W@`(@>xl%04G#`p_u}G&7UGes!qFhTOir zBk#c|o>&{u0bRAm2~AC=XO};CBK?O;%`4%2Q3YDInVz}Cz#z84;@XU)=NB|u1Y`{D zb)Bl_0ROV(#tnes;`KlqYdCjOPykiT%=k9$zCbQmRaIsB`Nj390Z%V4oBk>~bSWAi z9!Qwy*ncx35W3K5S`bfv8@0Xv5NM7==OPfuAw4DbBqZ+KS-Ut{$^825 z+gnebh`TM#9=Dt5K7GfK0I09cM?LkC&9J`lINVWAI+2l)j`K5Vjnmj4k=D3VVk#Fd z2q_#se02X1uw?ap)Eo0kAI5cGBM?!kqBD0*8y-lkLOqrzSEhI<@|F8;aq~m%)*g1k zTF;Nf;ul}1;`W^E{xc<9_EzIE$<csL+1L| z-iCcWRd;v~2V|yblE4w6I&on)8ZYDHRuIMuquHnBc^akophQ0Dwj4 zqPd@+tfuCs%z>YIQ42sX5MYZ+>i3@*=12|!l4#J+bQRj{+_$eI>>l&jqvo8$_>|8SxiAqQBg^NpT8IB)XevgV)9zle-wpI za1H*mr29p@{s$BrsJUH9sECZ?;#~V3*Gfo8pt~x+xr&C+kLWpRvCtgQ7ONty2q4M_fDC|j1$d(Ymu1i^7ZOKPDq-131|BFhX zyaKP}MZ>&4kAbfRIZ}Tt4hzib38p7$$APU|B8wvZ0sAcc#;!w0f+}JY#)CA!JbR&qhn&u zT)Dys7@rk~JNyfo2&WV|*j?uCuFB8K8--iplXON72P3yO@dRVCuK$Op=gk37R5dk~ z?+I$`M0o`dRB-AWVS@k~YE-tk-U{D-oSuCLOX#1%7cVTA?)e2BOFs3@c5bo{ck!yq zpKa=E#uGCf>5;Y!j$m$C9~_48wA*M!`o=#zU8$m`nDSjmlPT}+J>HOi@2pGM&H3Wc z=rtM9T&fdVRrdZ;lb@b;#C{h(n$ zRcv?oA21Hcz0_bFLW~OR+?$Mw9VPTc)(L9GzD1Q25!Fw-rJGz)HPoQOKdD9sVTP^zkd3#A?eAR+K{aR z+i2{sN#CcU;!FbmJaFj##lI{9Y6c(L>zVNnY;1z+gcRJ~YL9}GyVb<|tc{J0Ow;oC z)24SI>_ChbD&V^Q!nl;ywQG0o-rH&~MDop6Lu7Yr8yn%=ZonJ-|2j*g^G)~f-&d;p za;+$(l)pBZyAlD(vSGuCgi?}Z>lE&=WTFQ4)oyWDyn6L&=!@dw{fi)VF0`iVcz-ky zV%J{3ixwY9aYC|#dF2g+F?!I8~0cw&6}!2`~$7c(<< zD5I}FeAr-MU?8&)CuPGoZv5a9_>f!i@$q?ObmV}L=4BQ2nuF)g38E;1SiHQjp*i4X3Mr`Q&7kZ<5#vay-8b zDg)xd32#D!C#E0Dxt`+#DlXx$Z$A_sqcPJ0v;gPMt(({ji~*=!4who~n5l5MTBb?a z=0AV_L~WxrH#ZLr4_^(If%2-i+$&I{l+-^!FZuc2rKKea(^nMrIC*ZApbPKfS0KVz*x0-PJ1+(^FfrADVu?4%SV2J{iLw|| z!sk1#4+dZZQ!`PbWA;0-Qr;yTrpf9^7T#Z4y!UFCA84(M-;@fidP?b^0}LxBX*nOs zS-Em0gs(d>F^mih3=LyM+_c~N4_sFPBWwDx%KrgFRbT$l7^(?zP`Swj_Kj1S}+18gN2}yPZeET zUE)03a{O=qtgK{3hd^1s`G8xdQ%r0uQ<|QOhdN*AE40Npf4t|KVzZw7Z3Tk@x>+-G z&1=n2vnjDzL8YJ&XGY(vm^85ItbXvOA^#7Gici9?o)^gXj>9nyc8%qHe3g?U-+Aq6 z6&3aGc5f@%&Q6b(TzUA|Ei9%Y8obA}5BFIGXB>Y*-@KbFQ!`p*dIp9{WIzJ?28V|k znpgk*0jtH(*koTNZ@8KSNM-d0J6Aj@{z1=9@7*rJ>QCkV=lA2apV?RKgnE4Ud@OQ*syKo~9?i5SBz=-!n_z5YQG} z;{Z64>Jpb<6w39lt>q7`O8t2c`=A%1Yx^r>q=L^>)6h^t2OwcqMN5zcVOqgBAl4`U zEKEE?X#h?4@1__CFj|_;eQ}DWbm`~G{cek#IyyQ)0SW-WXl(ogIm8JU`X9Ut7&~($ z0?vI`xzIT5`2rd%N{+$dpFoKaAN=LcKL-691vVC!luXTxLWCg24+;#OffqGn4hTlj zed8az(1QNEQXa{vxxL93;Dm@AQjU{6W@ctG+Jv0E~0*$cT{MbF#>Z zY@+2WDS#7Ht5?%~_{Wa2>@NTK+-l3uiJlN-E{cb*FAbsTQ4Np1zDn|{qJXMrI7kNY zdHrZ3!G@zwt)g&2BS6F`qpD1ybw@j{>G%B~zyJE!Ez*!`#>jXBNP^_r0KT&l`$%xV zHv>mM0(Nfjo|Z^g>HkQ7Xq`q~_Xe6wK)wNm?HLilA-^!bD=8^S?_U~(q~|QYlxz)H z%RGakf`UCM>XDx4^iG|xie=4PFn>I4tU&`tWBHboOdI0 zOMoYC1%*hI5fT7^O|d{aMar$Fq2*|pUav^=XRiYh9{ z|0P;TdhWr^2W>g9nXn*`;v~+akz?bRIIT0pzU&UbO0PN!IM8XLX z0+wr!*4mnyntr4UqhV}JJcNxqYROX8y_D$aXpujH2MU!lca%u0-7s=QS9!i6-}&>2+@Ih@v=c8MLDP6d5!M~R4fLpQZhv`Qr@WqM>EEY@#5BFY~{Or&}Xa=RPX6EL(mTe;cP)SDx z2#NuzkvVx7bxo1~9c}w@6IX8#gq5E@ZNhQ!hR{aoMWUVi5@BL`?wk+MzL8({r~vv_ z_Lpm@NwAVEji$ur&!W>?R0h(xq6$-9)z#6As06|1O8r_dyGN3E~Fe5FpknIM+!3aR2Y-spk?dOMK(a|cZnvDv2VO=~+S->sR z6R6tMqr0SkQ(wE5NkLcVPT~cLq^`dHFsvkMnO5&p7@?AFSL_fJ*uH(ma1*naTC(Ew zkeSL>(X>`pCZ?0sOfa>nierslI7|d%PfY=+s@s>rqCl8_xc2lz_GHP~oelu5mk1&^5_&mAex8K**5Ioc?MWX-x3W3PNt6{A4}pz5($ssRoDYT zoi_@69A7$np*|Bf>3`L!7cN<@D-!-d=DG+?GZhJSr|BW0 zO^tNsZjIgF_j4ztUJ8!JPMreOf-ggsf5M&wBwBm3P_P2r*IjbId#Fc4F z(h&lnAmU7cOXD2j=G=!h9U5xmiTLEtO+R|%W65rCl5(=My*E2~?`)PUy{0t2R+WNp z!g=*j7pz3-+;jF?5f^Gr6-Wx3H_Dp%KO)jOTw;+XaIoJcDh2Xg2ftqEy0Ew9{rlO? z;^bh;kvsWMLtCL)lgs>!Fe;&UBiTif5VZ)?v**uOwzTA_7X4M_?KXSR$B^`_xA~kI zjkYno6KctMs!p1k!6~Il(-ggtQ@P2HH`$kZ>qdGm{Lv3W)zkat>))=L9AAq1F-zs)aBLPS|0jTqxPpn>IZ( zTeuw(QVTd68XKFvVM+w89qFATZk(@qxn3#OD2vAzU!#rses-7Z`Ms-jy2H#P02h}#JcNz<3D7tguCb; z+aAIj;gj8qo5;z$cWjhZltPjP>C;gw6aFE^*Fre58GOxRH}Y-;Wi1qE6y@IE&m&@E zgKT9yOTGzjyCm zDYr!_@Yc8RJ%^KZd3ks!z$50@AQLD$9}`x|dA%D%Mf}yzF9`ksPXOlX?~g{?%hT%! z(t#Kq49pnoQ8y&`OiGMzh5{e(3%zn0B z)X+oTb^cX#^=fp7I7Y6cQtFWsCQZ=dwgPlP4Ed+5G8?~GY4vJXbklC?*z0Z z?0QWNHJl7k*bh58N=do#Wve*_=7`Kg47{liCr+Fo&IFJ1)9m&AXexX& zGPXzUy%K<$P;9p*rSZX&;g1EEh~_^t(X$1Ad>H;oLiB(v?R(zib{H*|v5ep`i?ZO2VY?9}xRSxP#ifz&ykVW9Et+qbM>Sa)>Y2@8UH z$KyKDnR}S=pew48Zis%G-q*~`Ov&f2Se`wUS=5>Bo8#%`M;?W=D!A_60=9rUK6cl6 z&B&%A_{Y4P1O{Hja)=x2J%*Dt9CqKdnCR$MhzaX>6y95?cjWV1mHtlo`0=ArOkCWP zxL2uNj)6I>hF}yWB_(qZ17;mZFM_fmo}0g3x6;KQM_ZqmYys~!IXU?XkRTw_bfT~C zCLv1+WR8p5f_4QgurHp_G8j%v5L%oR3e3mHLeETA?1hcTWBm@Jg9+NEFm6&jWF5Yv z;aOpAZS4^rPBpO&rM(U)IpLys=8jXCeN>gGZ=c`uTo^N1RqZOF*T zg{9IrBFb-@F4*kfzyA&#hFx7<5pGs`62(e}bmK6q;?52O>Zr-t18Na}3^tH-oQlfI z{g7*vVVK6L&AL7gSnKub)xjVxX;#qCe{CO7Kpvr%IeshXAhZ>sM4;x9rP^KD1Ka^; z%ql2@oV(7gAsRfQx(^Wg0su;0Uf#|#6;uS>fgc)q|Clr??_j}L`a_ex5)!W$l-pin z8wF8mjR+u#3c*$Z35yAe2=VivJAkjF0zNrY`2TPe8`2k%9_E^0K0vdZ2+oYieUx}) z9JA5_kvE;$=M@xIVkKwiH)m|jeR9#>elKKWB*mM^Jf_H{7e2ozXui7QxPYJBE#()< zDJkhIQhVGMzUhXP-1wch(Zd-xZ1e?L$zYZC7CC3VV+OF>Avj^$*>e`8nB~!7iR&vD_c5{=^ImkM1gM zs}FffV}<|tEA)Q&D`e5I&Y$&NZoNAy0wmhUPKb1drzA?_&wU5S@kQ&|upPn^CD z4pNDWiv!C%emm8cb&>PQ>B*b#FMpfF~d88^gNEcct^w zCyvNn@kh~32i~r%ug_3*>dUI;7~uJgGwj{kswX8Yiz$F3W82`!z?M)v(84C7Xp%&S zy`KWgHOE#f4fTW;27Pe`gWC`EqzKEZ8z3#8?bFoppuVW~v|}`rQ5i)qWH%E)(A$uC^LR3|POCJLfBo zc{5H_lvXqZo?+L%NfO=O@z=nxA^k7Vb;t>`WCK>l0KaW1(z8QRB zTiDri=gi<`L&`k}J8~VjivC{f-h%)@z399}bt90xi}t>G^F~Q|i>s^aii5Tc73f$G z{?6Vu8qwJ?4NGnf`e4#5HypE^xmH!25(1+2*$u?Y9aVm!4McwAT^gV@5YR4jb0uL2 zs!{g0o$Q9grh=U8@Q(>Uk-mIA(TMA#p9{LT4`gkXCLiFZ}`-Y2)t!@o z9i^k8p@HdUq*w|0P_PR}2(_K!fv7S2v-q3h@vGYP0M}Qr=ILeNm#+hk0|#eJ|M=00Z#dSGb@KR?t5>tL^)v1}&(DlT z%`1S`)_6s+Lj(ACbpvfe8qEQ z?AWoRt+BE3DMuv0-&T#BwX#u#KSt3L<8G>ss!%3_LpoV z|NUQ{{?cDbhBy@YZk`gWB_dlZ4dlfePutO*k&FRF?iO$Z0USDylzHXlOFIXeqNTmS z7?OZ_h5B||r{2#oy2)LZYaW>D^MT4h{Xug;d4*(Rvp8o%tn{SBLl>JO$pF_^ zRaJc_^ApE>q^oEb>Us`(U_$+Yo+^j?RxzMkiu3&}=?s8{ZlQ}#1feez@?};uQsOkZ z4Y&aVka-f3V?keX2%8NYJMm=Ofk(;;_*cEr23N_$~`KAmhKI;z%m;KWDs1s%q_ zE~vx7tIdJzAiOF*R@yejzzH2z8x+v5s011xkT{=E$IDyydK~KCBUs}o_r9g2RV#MC zPDY#MEb4;YRj z{vsA91mI6-R?1lGbI@qi{n=gg6x0!TQTAClhAW&cj$I7e$h<3eReW9s(mFgyQ-DC` zAM-DM*<9CDSEm4-EUos9g(Qk#gluV0&>9O13wS+rj{PK#S{TfC80Ei{X|JeQNxW9r zh@u6Fbv15sft6!v4|7f4_sc)h%d2yg`@Lb$X0Gydi*t?9{)>w@M2+%OyN2PH;RJq4 z{<9mbxtr#x2{{DWE)`+y7Lt`hnjGJ0EOz+w8eV5t` z{byruno_5FkywvCF_tSv!a*y-h(u^G?wiUF!Qeti_UW`*VfKJ)wby?P9szh|MlGz` zWL2CX+|<}eO?sO3(kfyRm%e6*n3u!~^v#OKh*GAAV{2k1f!NhCb zSK*D>3a7{>NHLpnDjxrG%r+?tMs6Sx4XUm!efwf{0vvGB5wO{J9QYF+o_kvBw4+>o zO=osmc9T$ew&ZEDw=`^-YM9k>hPOX;Xp{blb=^tM>-Me=z@?)|4vOK)tKKKT6 zj9uXIOeo&2_n>h@!nUb{a<)f^x6Z*{b0G7y-BTR6hS z_|;v3qrF2z24A(%f7Z8lBP+i{x)%yp9KU4Lj#be(TlBBR z?gWpUO9~2*JSGy1(rU+S8zW<6Ikyi3v8WH;W) zLMBq6^GyO>5hfpqz}L86VzrsE7UjVKcXWnisTFz<3Q`Req=Bw3Yw27+1DNOm@C4!= zMIzz!KwC8c6=VoV6ek>z7-Txp%BTYVPRFt$-=xwa1y#Yb3d0F{XhjmHH?ArwQlUnA zp*-`zEkW4{90nE544-wrxSpYX1|+!7IvwyRfIfX+zZxaj!lBjM-|q>4d9e;RN&aFH z<2>3T;q&zO$oi#X6t^S@NIC(++#R)oo)>5|P&BNkhcrU@h{5Za&KK6q|7N&nmmN{R zEX>kRd4|LCaP(+BA8atEjuD+;MiQSUYYPR$oDV0XG-Pv}H-!HXu87c?qv{W&um9^& z5yu=1)Cv`6=NISlGhiNF3mI}|izxhb#VZRoO8P5~?^JEVrHFGC^%CPW7d7lcf`UlF z#k63c9JvA+9RsMli9wDHBBww>*`)pcZM}0JhwPe`UH3|rI8ks3yCW{Hb!3g3?};%t z@uq_O`QBZ^0HuP`#F|NX7t$4jRD`tc2kf2@A5Q_oVjKIm7Q0bRRli&RBh{rhcLfR^ zCSr$Xq4@58qzeZ7|L*LlNLVdZJ^ztbOXClD#2$caOVePuedepC{ob!rboTemTWrZV zd(i1%H355Ce#&3Th0o0MY!s&7BMTpY(5hy->1X%)oafoQe?N&{ zwGN@X|K=Z`4BJu#zJ5>*=2{xw!*oipDa(fE?s-pt^C$TK{S9Jkyn6BX@4|W=(R;d< zp5YiQf@q%zquhm$`NHt+GgIKZ6()ov3?C|!JpLnJEC$c{;fuoi4b=h&%|5E0L!8y9 zd}f$1ah&X3k$tMjGbreMSt>UdR}PxS8w=l_Q`3d{iHK=L3c{MA7vQQDJGnQ3t~t_F zBT{np=;$aZ0h-ZLI)fEum{vi%mJ`2%wYmQ2nOg2W|Oxz|}tP&Yg zh1jU;byTDOp)ZnK$s_kJ(iG#fv>1>R&HaPYt_)3bc5|56|JHaT=Mdvse;)a*v9_{) zA~*9FZzu-rc04qnysJD4t_WgoB<2j5jVYK{`#X3D8Lkovhy>=4yr_(XFu(&yj0)Bs z_U6kq!g-PA)Tv$)^4!m#KQU?F8U|+`nct@OR(MzFUlo?Eu97aP565Hbnr8xn0o*G` zZ$@UQk`9n4UT0PcO0r4_OI+x0LB_S=yHc}W5W{|M6o%x;Q4pNvy7am(C7VxwEXFSOH4 z*X(bE2+1ATa_?$SjkCD8-mdNM<18g5Wrj_al$6e(9mcdECOxo5?GEZP!tC@y;dOjp zq?fNs#9tC?0}qcuL*vVzo-qP_)DWyPH+cqw4Si_oSwzqAnOlp0iN!%Jwa!Ws>APyb zx3sXf>B?CW9Oxh#y%n)V0T@O-HF0RPe`v@DZ8cdO0QKtFh=&gY!Dl7FsdPte`PZ|C zh6XZYeyZ4!1-LEw=K-63MPf-C8-^1zv-c&hWVG)nGxFh#zyXtS+Sdnz1-A`QJ%5)L zW*02`2iA316rBBMp_SGG;$;1bx0{-stpp7R428tnWhEy0>%3Y&FE8-TB^T;jHP>BsdWsI4|HTY5(iI_&dN~Zy`xE zBD~u|5e(zn_3M4W&Qn7mM7q3LZgrj2zfXtyxZOUwQ@fwlop4^3&#SkN@DB2Aq`HIw zn>m1+DX5ZsUy58_p>{sleUTL`?LM4S-4V_};t2ik2Qmpm9WzW!a3`N#z6n){=p#TO z^ie>xOdk??62|iSqPo+2_xm`4}UseQi^W+Tq0ZTz4NB(=nT{cJpSq z6w@OQZsy>i!GR*@3ji&Z)m8>?9eG#mWJ{(JqP>*D)lNBc%`bM+PCf&ZG~ zOiS$k6_%}QW$9b)6*)|pnQYkSbk*X@ZGqXb$`2I^y{RK-N23SD@M05;R#4Hz1__BuuRy+ z**qXb(*7&dDk!deIW_2msF$~nq`pT6@VjoztzG@|=Y>KW^T93 zRvOnHSuMks2~v$HQwNr2?j`i|^4;WqVM`nL><{~pq;2lugn+s_R@s%3d_7%dA-B3t z1=%?GhN}zOOU;PKJg0s7^l39DCk|IDC{n|G?RhNsF(8UDHJhk&`F)j;cfa5hIiltn zFqX7oH5}pC1)IK#)qj6I@7veCxrgH;%1_?X3)<%7G{+}My=wW-CYm_;vxx$dF?8){ z{0X^x1Lwn0w{aVn-)l#uYL&i^1D7x|0+beL=lAAKd62Bb&i?u9{6jy|&g7zy!vkVH z+{pblY7YabDp09DSy@@_TIlZ>*KKDRZT^^AVCH*pT{vE=LZwG{s^M+byO9f3!r^AV zx&nw9j36wFhZda>NN|?Rer?YRgw1Sl`Q@8bym>)0PX0D*0~`6Z z`B-b-k3TlFzZyyIAt{N%6&iodkZV)m28ZuFw>Noj3TmX!H_g${lhMKY9_6dMO%RViJn>2>{wwf zW990{yUKOb^x*as$^8S0j(`gn?c@#eH>3#8gzeY#_m3|)O=R=~D|7lQMlc(d(8OR~ z+?!xAFuWI9lKh4I`9dX}?#@y%Xzu8>=&a-8Jv2_M%Dg*n-zvB7KiVw2dhL&TzAsWg z48eR7w6htydJOGPPm}3Q=>2Lry#co9>q+VSr}R(Z`G?3%k~z$EYWsgdD4OdJ6enFh zF`)R+N2az&IsX#++1(W=Z|n-(p=LX=xpzX`o?UMRe4d>pF8c`acgvmaOYt_XwM*SD z)*JS&`MF}nod=_f(~G)MA3J*)Wo1k9!=vtbDb)t|4Ss%khcdGGHG_7vlf_{DdYPt$ zU1CfJRre@Z4PgKQ+B9u{Oa;?*;LjsK0R2TUax#(qTzBufTGTb*nw6Uev>V)xjPj zJV1Z{98a4>eTU*Am!X|@=lYV&ch{-a*&!RfSKj<1{{bw1#*6D`1a~ZmXgsnXe-&G{ zEcWbbjr(%oC#~4t1Fj2Z)t{`ke(gJa!)eg3@#mkQz{)uQ-wc`SInqM34*^Gm zeW=HU*T>dlo`>*Q5CZTHgqpPymj3@IL(ox7O@Y@Sqqbaf&g`~BZx3O3Di_6(ykZI5 zX)R`isBXuk<`vEkuD>61(&ys0HL?mCUx4eIV)-)-G{#j^gNXA4`DV$gHJx8%-8Iy# zAO39CBV8w+NK}p4m{e?^n##$|ue#K9rE>?41lVnMtgJN; zCW%uqd8L>!yDYtkFM5`6C(8hAOGriK?B>eGB>u&$$7eUjTAZus^QP&0o21)W_eE7C zA%tf6>U92mm-Ni^RJp@Mv6oL{Bj?jg9N(8-dR$fdxJOwa*c9?mIbPfX70xHrX|acxf@tJb{uR~41a(8ajC+t=jUtmN*0^f!fBHGXs59B@87St3%zrBi4hEe?lZzix(8}sH@&&37os(`oq;}QryzBY zi_=BHu(AuEe@`1a^i?c3zGvc;u+g87$@C)nQ(Z9I7kqBaI%sA___FYSI<{^I|7aCvxqd`<6%D^)G5nV7+; z`0o8!91PG}Ow6=DKd5(ce}h{_ns9VvmsM!ZJh7{M<&Dt)&XGOe57+h_Y+o2=gcHcS+VN`>SbjIsVPMBJ6?UtL&2iRp<@7+1B?J*P0W%wYnT(_y7-%v^_ z%spO#?`CAdo}@31{ZDr5QVwTkg(mCqJ&BL+q{?`4D){TN=F1h7qq}xV39+XxDI|7O zH875<31mZcR$gw5cwxOPuV=aE#;MbR-+Df`uh(pE_j5XPput60_`+D9P9NF5jP-DP z;W+jIGeBEb#)K~!w{Orwt4sdpa5X&z(f2>Fi0fn+?4UI5O)G_#-CjhbTezt!;$A+9 z!Biq#i-ZIb2zF!9KWkaAu}9erFR0VIyW?bG`pei8QIUtvT+Qy-BD-mm)E}4UNttgg zTRqgpd=>ec>$Mmo*YNJK?44yzX$d=yjmd`rz+|(0PzD`cAs2_QcWrRO%LtC>W!E`A ziLI+#D=TegduB`dS?K_tg0Dn~4}j74(>PM@aK4deX!Ka|^aPym`6oAws5f^!F|kUO zs(ahhvjq;JS14BGRfE)w8+kAu1s^irMG`Yqh_@z0OW7z~(*Fuo*c2&l4sE}Vs#tDT+UVQoo53&L$!swxpz?qrf4eJZ!pk_ z5MsAZ?cM*lzx9rqM2RwEXPw3C#_g_SnR)Z+=e0!l+pjUVhZ@ayXqcLD?T@bFSBsu2 ztN6EV9WIjh-F=Dr?4cE<(l#s8q@^eAu2s0t&mPViR(`E^>AB>c)a`wxoOu5hnTZAF z3K|@=z#Ai|Ox%78z*C$pEy%+YuL?4Nu+4xDU_e46Bk3^CM=VQYUHxPj0L~#yC?0SO zyd!cOjbcCaik;7QsoYc2Fiy`B6w}DbZjyNv8FC`IWOn`JMDa0-N92Ya2XSqmi%fcX zcFC+|r^}c&6>-tq+LkYh{TUmAb<$OM^uQRmiB_tg3_KnbsR3WOEuEg9NADCV|8JSZEr5XjBQ2jk^ zXnZ_~7?OYuUjw%Tf2nC?`_UHu7@=qCkruV*)Hg=tYEMs|$@dHXV{*n#9#)C|)kzlmV#Tmf*^LMxq`yCgTf$*H2C08T14s&cJFnS&y{oZfi$QmS~AB}o5h&SsH zx)C*NhvOX(q!oOXcfxBm%&No4YoMg1RUN1HHZ{gHUFEo|^YmG6`E$I^;$k32Wroeb zvW97d+L_TWt2-ih>5Ls%zNy}%RbTye>KRY?Z8Xo&HHjw*#Gl0ZMy@OtUJOJLUpnxG z*E?`}HjQZTX7pn2X&TBSV+h zYUQ#JwF*L}#rsXW5Qy>2PvOg6xK;N%C>bu3mteuX3 z>(7ZSS>EBjACD$q$a=huCT-kK&=BU-YP|65Xr_aW%^@?h#BMJ>zJX+e42gx#%SnSt ze%$mWLfdE_$aD98Rq`X(lrw_UA0sMzEbwZuNH`F6YgFDh1@t71DZvfc^fx97LuVWl*DxdyVg_>L*q zIt#hybYIZtOpP>e^`cQy3~wr;8Mf~Ix#I70I8y~}te(wHrwDuSK6^IV_s3KD(50eI zA^;MK0Iqtp!z(BpVy8Tc!!8$s$E;9NRSd6rK3rD4>3WZc_ge*U15S`p{*ThmJf7;d zZTAbQ8zC};NK1o|N>qx>V=06vndf;fL!-zTDng}=rEjd-`AOaF(Uhrl-G~Q8fp_WU z{GTd{{&sj0G?>STI^|D;xD%BD(sA3iebaFQO6dY^UXYS9E=!N6B`Yl-Jvh=LNN_kLF7(2{1GKH5ene>W>K%E9NW@W zRh(j4cP3hM;aUH?v<%v-o9S-srYkNcucY13vhw!cJ=IqZGxPG_TjmJ)f?azGJvsq{ zqoYBA!$Zo#8Z_&c@X@c*Es}f5|^PdJON1bF(;0yxcm&2kJ$v0{SLDot)y0 zdA8ikkB6M69$&Cj{^6T@YBWA7>$%*uIE-P)gvYG#=Ygd#e)@_u2X=J*iu}5p9r;mK!T>?%(ReG0T2T zlq1?>7BAXIodp^U!(a%(gq|O{h;f7(&~u^8XkZ^ql+@@JHr*bu;D!mF8Pt))5mbnN z#O(W*Oz^fVVbIpx`4poow>W?An9$XZC$ceBQkl5koP1}nCm^@!>iJ(keIFHEalg{k zmID}8ogn`M_FPQE*5kNJ9zy4An_gh(S%@u&oo~C>1@HfStaT>Fo!h79crYvp!x(^x zUm`|fbbQ`r%ERBWDun^88nc^v}A@tUDaviruU@!_^hn z_3l;iIz?I~vrRi+w5NnN{du<7b|_Y~di*xs<37DDr2x~73{o8TOWAck$UB5;$8D^I z$I9AzJsPU0Z(w#WMY}ds4w~v6cGc)&qDz1Q@jvkz9r)0Gg=MQ_gPn2)^5K}E zO1aOlzT!4jQz$Mtkkj4tq1pS#U{D~N``(o9@=(W3!((+fy7%}Bb!i!2n%UiI`81fv z+F|}upq%`LlqRe5*%YDck;*P-#C=-dgl@jGo<`cJ)OhRjH9JZk-aon=oCu~}j|MX82B&O2!x zxPX|(S)h9f*rZ~RhLsx{4DVh)6oqufaQKZztZq=QzfmcV&+7NILoVye4Ln~S*thiL zXW;6yx2kLBxl`yj^|SSf6)qe#cE| z&%w8EvAs8MK=}aukxDbuGbm-el9qaGZ<8+98ktiCg41lF*0`lg@rjpI?`fti_Zaq! z4v;n~Fm!m`)p=l_&XRIXS2LH^`(5qV9y)h&>4tJ#|70va{n*KR*M6g)3}eiOJ z1U3aSaUr+J4h!WhvJ`WVmmDgfm|nwJ{h7s_k;t3Y%{Zr`X#m&ft$im!oYgH@2zhcJ zTatv_*BssK&+n>*_DG&wwIObC?(5f%*0&EDGR==G<+L2MS-#J4pUk1t#>2j*zZNzo zzI4ry8rRI}>uhj);N2-A8gMVCPsIGK>K#+L)&>a)S3@KB^f^sc(ce5eV9L-303{W6 zCq|7eJs$R77c>5zUKM^71s-OcgP7APJ&QA@#5{?)dPAsjYbNl=G7+K!HkD;t${LT1 zDLCXUnZADL>^Pab-9|IL+qh+e}NuIS;@|O z>{ueG+_k-DpdYJG;>Lo5kpr&NV)Z__91HQmr}``Sh}5U`S6yvw8^)514TtrQV%g)v zncJH)9GFQdDKiaDZ@I7NztqGbq5d_XH#td5*2>y;{cgFEC(EAYCGt;Y_t={}dp?R= z*^WFtl*#V1QfnI;H<=$)3^t&t#SOWxR zrOOw5e7jtJ+AO$yI;pOCpyLg%%-8uX-NH_7)fEc#{SO(A6|W45q*qj={Bq}xjMNMJ zwF~re1x{_))Gz@fAUFa(5-S27jr5T)7f;3f5o~TfbVWYT%`K-8I!pIR4zUoR=}OMw zAIsF2o7=lEh#u$@N*}ehwh!VxB=uP`YbvVeMo(f*i{erhZGgkOPc`w&KQgx!x~m;D zmE)he^jz(X!u~O*q`;CN{TIS3m?(nlrD>G7SZj8#3!oeDt8~l$s5d3tDJo^6u=TEO z)w(MN|W69F`^z^lPSu-;Kj%{YARm}PqhD1`-2xAtdK-DL3hdfuFKv{Yb+JCo5vUVvIGaS1nE&#qQ+#m+cqwZ zIgE0TyggKV%cGAPt6^=p&wZ2KU9LP#MqO<#CGqHE@Q` z#GiRk@{d41E64Do-wG7c(__t^C&@knEgVlWVqhX}m)|H-9Ge@^48g(^(zLjbTaU~| zh-wW4xV6u~ijZet!?Q7;t{k^|_Xi}JtGU++yE;;Wq&NUuP zb5lHKbF8ejcbD_=P;Z}?Qw2ZjMmKi7^2!Z;H2LYhQ&s6=;$^AAUoXB|v+63>-)p@c zef<(wdwcx*;R}^>bK6&Y!=mv45PWT6y8WB+BgF?5r#t-HgitmUCEymv1zYHrogtIa_hu0LbrB5r#5hQ0mXUMZW?Ir=*njx45`?sd(+1ZX4xw<=de zDFmxZsAl!y;dxgMDi0Ur*+dq6HIM&N&v9zkmmdSmd>G7(Ua*TRh-XSAb6I(q|5~-P zrX&A;ZtLx2-6420%ljUO1|(N*$0YW;jl`$Ex)(F!LsHg^PJB`qPP~0;2X!=i6n~(^ zmaHc;ZwCCBeDbSUf^tNiWMp+tKKVm<_3D_JPj*RVk<2E(-<`Ytd=);vXZ$|)e7YIk z`mgy_v+O0wFL&%z((?4gN#%MP#^2EPw0Ij^!MuT!pZq5UHl6yW7OQt{>2#I7U-+jS zWp3DREQ(E@vwdj()={Wi_0M9i;!M*Ma!e5&JFQRLGNm8iN+L)Jg(P%6Wp-aRa>SK6c={qO02E- zua&Wk;Q|x=w+q3^esN$YvJ-0Gn0y~%%sRN-^Z4iV20p|Z`L?+SQhq)wf>C@1%DrP!xk zm<^=Rd)$_(`FZ_nOXdq89Q1J=(rJh1y0;Sus}J^eLEt|LG~iZ1RB`Hs255qc4I3+%Ech#HO&pT z_DBAZxGWK?rmM-w=+RuZw@NeUZdR6C$Nai?4-8zz9$u@KZ2ds}=ZOW*oqyc@KC93H zGTOu&BhQHRKsqu0wPq(C?P_sycK3yKj)5iEI+Azqv0dV_ITK40ChTfiIV%@&2cW>z z&eA*eW1(kLCiL8Xrau!xMDouarG3Jp!14aE%!sX(yn{K7{f^LvXPGYMI?462&d*x} z+h;zF)AI3+Bqqr6Wr>cRPV9YM`=jiZR9alz_L7oIFGch18s=U*HvZWtzZl6^@a?34 zfuA3K)vwCa(ojPyyCvZkhj>AB#8$?{;4msa>mIh_u;cvj4tW7b3%IA)o(|b=U_Ei2X+UhxbXQ(Bi z^kIPXuOCx8+)qMKXMc=ISjl*YuaxMkT^LP6C7I^stTYjI*{Q2>bUucgu?}RVMwI|RCgov~# z+MM6z;*1;5>g)S9nt`7SLgJ=Xd7fFzx10-(i+d+j{o~e~xew1y=iIk9Gz|3~D=yy4 zy`)!KP95yt@!au%nwq3hskZIeIjtMDXGWVn>g}A;D7n&KpQe3wVAlzH=;O@nIMZCl zsbNh(At43Z7ySI|$}je+z1+YqdHvb+K%x|VkGPt%W$OH{EMcCb&bx_tGE>n?m#4h* zJr$`ge?EQ9TlH&PZoy~lAb!|UVEYwXI~)7Zhb}IAbRHF(^^T}_yr8$g{$M()aAHVm zV+y1Fhu6GPBeCPt^UWkZz}5TxMWxBEnr{Q6E1_y|YptV0Gvi|4yM&b&L`@TtB%aq0 z$Mr|_^+rZUEOx80u&{Lbn?dV@H{sVQULLcJ;nUfi8K%R|wwE5qZDnp-t&yR*Kk7PP@aqPP$68QFLhMMh# zuP`uy@y|o@6qq?#*?7tf#P99#v#y0Xsxe-MN95$mLZvL-c(Vk7Td7x|k%8-=JlSH) zPOw$r)~oI7Co&Kk#-#6(6Mz&8OFKo6Zoz+8_ldNpkO?Wn5-uQs<89XgEW z2aR>)+NO~(byjR+1er!U@@Qiz)gReJ4A=zeY}L3*%(QYXM2&<61;xF0(r&+5J1E61 z;bbu^w4f)3FK8}O&@xGk%ni-7;(xQxZMOL$XXm}}A5SCeSyDCK-MlV7EZVvD=1q+G zXAh2VRm2WYta;F5H9!}ojp0mVn2}>Tx^frj7gGKQ8C8!#4~>j}SUa2<@Mi6S6f$%i zDN2HZg7P`Jm;|iZ<+O$vEit}f;MuE_p0WMNouju*P`1&F+SGlvd0 z>@#kAIRd#1CMap&=4-9SRMU-%xV3D%Lir( zqJzb=u>pO(Sze)-tZ2=&ccxWUHvU`^{MZ^L$|Tqy?{G}ST}b+UkgAb1lHZMMf_4!^ zA&YaD0&J*+U^4s8yi~S{oUYNCrjB9|L!rz|tHu6-Eh!`{w|+5pHn#> zkCVHy@k1v=_Unfbr~RszHq6i%S4=&cXG|=k53b}WVywOf`W*&pi2?J7K}($B60m#EM?93K|8KG` z&Vgri?d!XCI`j((yA5KZdk?=n`ipwy&^E7Vl^bv?puICI3p-p=*1dZ%@1mByH+jyBJlZ|Av5TZGVRe zj2%&W;^K|y+BvNFC}bb8ka^x7+QuB%#Y;U#88;n_KZofhGGX|8OI+1(wj>%L67v8H z@^HeqEDt&wE|?Pz!Ug(r1YDH$4* zFXo5O1a7O`M13K&`)aD~tt7mqMQSV+i5|%w?ri(mQ$)1J*XBYV3?=t<-rrt8D)i=!D@H=b;#L;TDclsbhTP z^IqXwb?%KWm+>YlnYYCjZ?`ou5lGYBAEK^jME{t*`sZ@3i?90ydIDEK_rmrwr*UN? zG=Xqm+nLDueo5=@JqN8XF{i&N{XnaeZY91`ty+}k_bboL^_~j~f<%zs(DP3122PCv za!t0OQBqyBc^OQiA&`A=`QL|r7n*i@=ID@%?XMq7If*%8+n!ZOmd~rI>egA+?iseh z5KeI=Bq2bh&j!%+ojZcS(;u8f$Of&WqoX9wWiVN8H!J|Mi9Ph9XZ}I;yxZ%{?6>%= zQJ%d?WiY@#N@5x)1Z}%G|A`gezQ7f#%C+{!sXK0Rw*G#*-#>kFqDlyC%u~D$BnPLc z0jO(XaJhs|47P55elV!Ho}NCxQiQzZ1$Nu6|JLdlue;QEtuy-7xsr+!vT8;iIx)DZ zF;i1hXWD}ROoV|drE`>brPe=d75D08c*5Zt0)!^0{VWJPI0YAqJLIP4g*HhDY&~&I zQDo@Ifeh-Wudj%ICoI`BHT$2nDDug|i)pXWsA=rY1`uBey;@KkjypEz(7p&yz2H|?`-u7Ac2*s zFma#nrxR_$%Kwi^6PN%I1_E*FA1e-+Q_FyK4$qMqn7#w^D;JvuKb>#Xo^tF~N;g>l zLSi*#&|;MKsOZs{RO;z1pFa-!K+Q%Q6_06z>*CrE|eK7 z-$06l+e2jf4Q??9^exaZRE0X2_@R*sdbP-5Qe=bmW^AqYXdLe5`MI8+;M zRn99d$-ZxypT?!L3pB;+*GF&Ixc4b!o8soh{+1lpg zpF~0<|ADb3K`#-y@~e~du(?E%+O3*;3=sb~ofIvMBsJCYKeXLr>?0pa}n$31PIXtb+psCzP!My!xpT5fRGr@)R*K zF~WhAbn0G3S;fyEN%#oxPgj#kWy$zTg=B5yadB<=v#F`Q^ZIYh*Z0Q|Bq9VLR@x** z@vk5;H5;EzP^>a{x%wU2%lL(9&}l5e+k)up3T$ZjEpu-{+dKtf1j8UMhXH# z$UPPS`p5rH~=?CUOcd^3ezsv1OUS{+GF+q*57Yc1vw#OjDS#D(Px)PL9A{)gm_d+VFP85qKWObwzJ zqO&9^D~P`VS-l2`9-Fp#1uMJD2A83zUrf=a80!W%W)d08;(JjdV}bL9P&Z_jPI!)@ zs`)#R=4-+8zro|bwNK8kFaAyYL=f|&(n+$lv<$?E+!E?&;&aAe3%u?ErydE2@_2;( zsC8F0(=u&zv{0Ft8XK3^06_EtCOGHU93TQIcNOjhvYXiMZ9umWzH@GPYjQhQdSU;ij@r zJw+>)ettSjRNBdC+%IQ{3lUK@H&_&>*9$e=X}(Fq2iF~-rW$}{@wjfw-KPHz4>X)j z=?J*UxYSLdjhHRnSmHvr)D@d3ZxDxvW9ip-*9gAddFr49V^6LHIb|Bm2PUqyY!fS7 z*%Ap3RQ0g!1%2R^&^8c9;>U5PFDlAUgB;Bg*7&~c4i3qbz?Y8+1Rud#;K>x;N%mtP zn6`rBCaP_xoVE=m_evN}Q}24RbV2$>9L{J8rh-9081Ixp^29+fA`p3Qb5llu@)&qt z25kdKjG)NGkmjIglJW5(1rriF)|++Ys*DDhMDE9D;-Pk);iIwuCua~|3_7@9@{r{} zVY!sqGTiZY)i*)*(|mJag?3yo-BaCnVoEqfeFY3%BC*Zd?yF+XEpQ}*d2InH+I3m!4GBR;^izo)O?UM{G;bRyK@H1 zYL`))a*otv2%y4ar3UxW z0hw2TcM$##oFu7RzC(00I5cz~c~Jz)PclpfQNpyfq#5sSO6$yo4@g;$5w``=ybz!e zbVt?w{Xn@0;BB0%sE{S`!`L9;*r?pDmrLS@|3wOQil?Uok_7IJWNQyp{%KH(##GnY zYGvxqtBDFCLsw32QmMJbMOOAeIn1CWMwH0uAt|^6ff5wtm5XrgpK%m&U2I?b=ZKwR_Z(uq5Sk>D(J$&M`1t* zP!s(wrbI7f9)bcMH(>}K8)ObRz|`H3zcn)Y#rCiUaH7{mgHa7KlIRr}wSX==n&%lR zLYHt&h^&r`nH*;*kjOn=vlj=C4IGRr31?j1l+sWjJE?Ci5;3+>(79a3fb(Jl?xx?V zWVoJ-zDJ;E(i@!!cwmQXPG$!r50KnDhzQLv**8Bo_Y~{knU~YhR{6hx3*1@T#5}jX z9rnkQLlM9juplFszE>@YT0SA6FX0hh^zMqKcaL2>ll zS!UH+Ehn>W)0uD%_&5`d1T*z$D2~H-|`o08G*2 zz^A99z`BvYCH(SbRXk%Mo;;7OJ$5pVicXx4(L3~FRPpw~ec>lD#9NMJkX$18Jr&_3 z08om8hUW7^+^dv3J*}H%W%)_wsQ}I>*Omn(wO>iUC2<+$a>Veruj|5 zvn<>;-u0KwMn^^lNqi%AydlsKpfYwGlMmJUclp?Dnt5R}BTcJG1y9)y$PM)?T7jY{ z+VM*yhbm+UxiX;>0=SUVa|6H~MmVNDWBXNu$-nN7ZhYhCFtHb(A=srtfrTueTF_?D zBVHb)cphhi5Vm#XlcygU;Tpoxi4B}_eR~!v8Bd84Vr$n$6YSWcW{8 zw*7}&h6X6$5l6#@J2g(sh$^2({$)=6a&piierhm9ME@H9atk5ufrf?#_8^0@*NXu5 zvGMVVYXANLef)qZ-1$frtbvnwJ57QuE zqoDD7GHLI3N=u6=|E_)ZH3kyjhsAhzizgV8kQ`4x+g641M_kq|h_y(x8HzbhkxtF< zbv`d@|L!Nf7`o6Uh45vkdiv|+?}$Q$^#?v?v4@dpcMCz$4^2~*bBOFvKm zK=TmjKWUE(#Kgr9jemo34`-hpXkTB%me0g4gl}8l*~Y>rPd6(X6-tIBNLSDglYkdO zJArFxEd{^1S9FVr&_Rb*#7lppBVijNbULeZ!4pbB$z{EF7h0?+T>sjpnwy$vD8d|J z?7heVse_=HAYw`CfrY|R8YtX3kIh|(ID!Xy{@u_aDXFbNXR8_?gd~~)`%D0d)_aRT zbKN1pr?+pzJGtY^9zD9={S+i4yv1+;e2E5;LK1Q*@@Sf&g^ZkG7AB@}i|?PHFbDl2 zgJ-KKh64m#EKw2FTn(Tt=tBgSB4l#-MV+I=-lVg3;Ri1fzD_+$iVWbX=kO`k<2!Op z`HsUwq4hH^nbV68x{rrYh*}gdyh*1eOf!(c{?fKF_7DkH(g4I|;x@juLeKClj~rYc zbR2h_`b?PSe?4JgNqxNdK8NhbAU|YC&*3jn&f(hAQLuEv#KaQe#vq;xY>1>>ZO=Ng z8T6Gt`A@;Pp%3cd3NkV>k_=>H#AP1IICvfoRn#0o#5rH;Mq^@Pl4vO_BSVq*+*hy% zRSQX`M;0GBbDU2FktQWuzEj$ebN$t(0t8nc1mFX;raa)IL^zBqYPXT#@s%yIyvXxM zS@~&R$5u&l_gGDVZ4!zsoc~X}a3qdpm0n^QE%EvG#>Q)j$C`L{ySuB=34-Y!*w+=V z+Mzie&%r;Dg2bl7uL61-0DLpmeX&KFmgnOe_@DoAIjKG0zH zKH{4no)TQxtd-FC-{JCR52WV=O-106#GLOn(J`8CDWL+&@zpC=$c=*vG6hP=zlGM2 zD@;^%rr=c_Xi(-%+eA(M(yq2HD`?Sf|Ct|#%<{5W^b)r{QP(owJ^xIYS|_G*=XJ`axz_7!1nq-N^j<-Pgf)dq zh@fe&T)q16@}pDJR3ce`9|EKlbT7FPtxNgrq`{6;6Q%mG?~G)Ll;)$+qor>cCZY^q z6=7zTX>c#mzzDOLw#w7~=(SAFYZ>gYIHMZ=7EeOLF8(xsV6ox&MdjFP5+MnJ^J5%X z2&4}Wm~hP6hH)=1K=Nen;&S=P6J_G*#K4|JlL5p)LUAyypdr~8pKmYySb?Uw3Q{Ab zdOcyaQEn+Q*vQlS^`N@?xzyBDlL1S8p*blcpg`LZ3_v%8SCU98(xfkw+s1HkYP}@2 zV{Z7vB`mQln#>ZXo)qslD6}&4D0p-m?uCj2&S+BA%y0~NGc(O;#iuhT!j!}tZ-tb`X0PFOuo{Y-;B znOvclaGHpD1dk{x8#Me^;!51R4KT%qO`B*bq}oN9V%h)L7YWc$aITC*v7m(H=^rfb ze4l#A?%cU^8iyBx5w8NuIi}1=&j1up z$n{e8|Ch_Y&91yHxgYEG+5&?;$(LGj+hej{-5pT-~MP$j#?`-f5zGA&G@(d1LOYl z{g+wY2KJS>Ugwofl($(V$ED+Ph%(?%sX?OP&%{d+4OM1rk)Av}JOs^-aL(WPR3QH0 z6jq1lueQE^(Ea-o=nW>Pq|myQ@PWSKw)fV%$;mo6MVKG;U2bVPNICb?LFL#nUXr13 zH_49?TeJG%!)FJpLPSJG+k1LKK@Fv)Bqk;nST?Xws&NZ3YrPOy3N)jhZvm`^122m? zq68tx<5)3yd3nmPTu-`ZW6@vG40pvM`7aaOmH((=MM-uAOaAmQj+ZLehIYG1aQO1#{) zwY6r2hO`xH{gnUl@B9jnwp&XkHykPo$B*;%`%P{oy=g>iW5EZ745H6X0+ae&8Zg}^ z^qzsTx{9ZkP^$w$RtuyE$(%%_5R$!8N=w(!(a}}9M@B~CJ>kFQUsvw7J$jTIB{T^D zQqD)%UtaqA z`8{!XsCnj0Wk`sZm)9SZE!(!uM}AvUIt?#T-lJCZPqv9)e|GXwa z8bRdm>>6Xav35q1drX5h@N5m0R}Cdfz`$`auE(EinO3nq#%Qr}5u%G2q?aL$Bx=t9 zs%5W|@#ilBR+7l;Eq$Y{RZ$Ip5o+Qcp``aEW zb{}wcEQu(f>At;nC@f{=@v84Z#Y?@Q7J$TG;5kl`f61<=uBBCv7TBI)?+cv2KUHeY z@^Il0>9s5rc~{r`y#AgZ>8Vq9UxcQlP)Rrz3S>ly6uUHV&~uT$FI`wzLuIr`%&4&_ zT-h@{;`7KG3d+Z!zkZ!L@qEIo)~1Neg`!U18d*1HFW%y5!NfdE8zSrmaBCsDTO<%D zETwwFE2X%Y3&_3~kr?&WLH~0Z9YG=ZWs;MVGqbW3PM+M2s5G8CFJDxUo9fTdNM%VvbSRxKUz(${r>)NkhXX#x zUJ`{tBG~}_C)lxNQ4N+0-eBAk2GcMwW-5w`7lvk5?6h$ZZ@DVK$tRYwqpQ80sEHI` zNZ#Cknio6W48K3NMv?%Xl9wlbPV`4q$epUHbp|<7Z3lSfA&!cIT|huQF{25-(hW%2EO*EM<0LWyI_Vd*w!*Truf)d-b8>Q4?!Z<@ zYu0#FNh#3f^5UYOdzo=cc6I>HgP?Zy_lx5YI_$Owi>?{VKdrdfpd|S6WfmGi{8-fN z!a?QV-viHiX0G-%H+EPCgK_^&Y8OgKin@tO5|Ogp2fvR-5XUF-CNwlP!=BXFH(?Su zg7f1wSjWOsggZJqsMIA{8bqTpQt(BF>lqkmT3e@kd3%2wL#hMUrMmTa^u*zQQOEnl zA8QyJ-^5el8&0a$DDl1^BUTg0e1w9%DG4?^^Tj3u%d_bZvZmTlJuv@Ux$Y+Xaq5zh<~-kY->=)Lm6aw(5zCND ziALtiVR~gS`B3!6g1Q9^J!QT3`8DZT`AmLF9Vf@BI*uz_(+^j{VrLro&P7)JQDO ze3Cjm|FD$Le)g|BjFH@%ahSQ!&G|qR`0M;zNv*oUK|xf6X*r-Irk0d&CuT%0zW((~ zu=FG;9G^umVso3?CouKbE6|cxCWAu4imt>Y4pKp zC}?v?ymwSnRi&l)`TPIezj^1*)$pyh{Ve!~WiU8>DjIg~2M-?Tun}S~&Duz>% literal 35157 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£n7G) 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 diff --git a/nbs/tests/mpl_image_tests/baseline_images/test_120_long_df_nan.png b/nbs/tests/mpl_image_tests/baseline_images/test_120_long_df_nan.png index 38d996890af52fc4ee7181beb45af30b73479324..2880dd45a93ab420e6f950e6f90e81e313526d2a 100644 GIT binary patch literal 37811 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 literal 35157 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 diff --git a/nbs/tests/mpl_image_tests/baseline_images/test_122_cohens_h_cummings.png b/nbs/tests/mpl_image_tests/baseline_images/test_122_cohens_h_cummings.png index 5c21a69cd36102b1de2e1f07a38ee9d8d62010f0..61d934c9680be39303d0ba29f21eb0294661c9bc 100644 GIT binary patch literal 18823 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 z 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 JN7B&u{{yJoqv8Mn literal 17930 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 F{{f1E2DtzL literal 27360 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 diff --git a/nbs/tests/mpl_image_tests/baseline_images/test_124_sankey_cummings.png b/nbs/tests/mpl_image_tests/baseline_images/test_124_sankey_cummings.png index d93e223dd678b4c3eb2b29039887a07a55e33c0f..6014c7ade45fd87efdbf045c873f7789d04f561d 100644 GIT binary patch literal 21379 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 literal 21104 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 JkT!b$e*i$i2dw}A diff --git a/nbs/tests/mpl_image_tests/baseline_images/test_125_sankey_2paired_groups.png b/nbs/tests/mpl_image_tests/baseline_images/test_125_sankey_2paired_groups.png index 311f892c0d40c7ab2933a673ef399f497829520a..e6cc78d7cbc14ac68d38212be477a673b416b5c6 100644 GIT binary patch literal 37942 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�# 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 literal 45028 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°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 diff --git a/nbs/tests/mpl_image_tests/baseline_images/test_07_cummings_multi_group_unpaired.png b/nbs/tests/mpl_image_tests/baseline_images/test_07_cummings_multi_group_unpaired.png index 44599675ae7ba55e82380ed248ba42e673d71dd3..23d90656b4867dea6ca949054f4953c399e3bb3e 100644 GIT binary patch literal 42431 zcmeFZRZv`A^e@=BySqzp3+@^uxVuAehv4q+1cwj^1b26LhoFsHkObE`eE&NSQ#JEA zbzd%3RHzm>XZPA`{cI;nSy2WBkq{9C0-?x$l2iqOAhqAW;bDPCx-2u-fqxL3KIyoE zKxiiK-wdGr6y1=FOVp`+WaY~B=iajC16prE8IvWZ9d z?@_bcv(^7T(lYV?k54wN5{jIXa-3d4Vc;f?sBm&DSY8qulGF=?T2YKTzOZu7GoQ;V4+n7SW-VP?3wqDW;(e zWCp5p@f)=)@68a=r;WD7OnnH^%~n_5$LD|aQ=>s@x%}u8jm8jx^nD+ASL9|fRS@3m zc~N_FwSI)(7av_}o}?&pCx@8&?H^h&95P#Mdt0sotPB~Mm*R#kyMWxO_fWj z5}VKE7|~z=iC*>uU7pWCESs63xYzXcg9EnwlzI7d*mWrxdf(TE@ZX;~n8WVpIp1WO z=*x@M`Fmv?^uQT*vtM|`7->-kp};j~&Mo7CvFHd%*MDo!!(ZBLk#-rh|E6W5WWdt{ zwr+Xrj0{qgrr?M6hH4A%bHHKJZLky!o&LDkzcG0M6R?|1$&(CF^`@^o`!$pl@6 zrWRQ5|Gzf1M~1QeS`$hzdFIP%vtxc`KNV1%x}qkhAUlh()DPCnRk@>0BO{-Pq$Gg; z(ipWttG&_Y-d|(VZ$|RU zuu^Y@rrT&^af%)lIYxba6Q}?yh90{n*-1)gITgyyczVDNqRvIN5`IRnN=kAxm zki3;kq?WC7M{n`~_rWw+&q8jrdk%-A5KWM}?u}qHe3^%hKqHerU8<}krodR`lub@- z@LNGx2k(Vm3;A4b*;Z$X=&;D-20_glk71v}el|Zmt5OKz zOG-+@=dwm`a@at8iF5P^3T3ba2Fd9)hE+K=6CO0PzfWPZFGn13OcSZgys%saQO6-X zb>j`}LT#Y@AkS)IYM3Y}C}wOL>FMbM+uMDzhCk=>(Ys-pgRv2hu!NGqVh}7>5?oPX+d4d% z#TfzAuK7m-pIcBcD3fTC0{+uhE7oVr$>6?8l(y$*)nQq0q2R~6X4M8s^}h2q`1!dx zIeP*BXWrMxQ`YO_dAPc|Z>v#}cB19RE5YBFCC-l`%bK^s6@GHL;f$H1@40|P?^Bfe ziodAYhRR7c*RC@{WnFI+FD=YNvAEf2Sn@W6UjI^3|Xxq!}-g}@9E*}o_sd#ws z{Qdp$In3cVegA!CNt2LVjJK79e)hhV{C)f9M^w53Y+APn7%1r?#Sdw zhhYwsv;htjNpnV^e&x6PBEEOO2A9nOOOij8I}7|~6sYy6vfs7sxJ;Bq-=q(YB1f$9 z#O^~8X1@RE>+Od^B_#zKa^%>5y&^oZLfxrKYx=((>@-IF|2nPNfuiSjv!0{2=Hvt) z{fTQr!d>AfrmRDMZvx!kCnrL=h2DEWQW($!My9NzKenX0ARMf!n~ z$-*0Q=3)x4FlILZa9|FnTBmy1e?TT@zZ~OjerRR(kiO3y868=6Yx@4|ZSDq~3g+ZF z77fOlqFud%D9{Rs0c;^qkeDX2u1ay}q(Dh2|KCg7xK9z`!a`R4g2}fFo6vOlfPV5j z4goib zBqb#7D^YV+VzF|4PJ49C4?LE#1fZZg;`bLTJl}W;{=4CvIlTcPm*9iQKX4-KijXBR zlR1D3ZgnLWjuX3V@#+#t!zN}ix;EN+i@&^>*Li27!_EJ}?_6E*<(On~V|Aw~O3* zL+nW##MI5dd~4tmO&;6K|7J629eLydpbVR=CY0Z%V?7^0#&)C0<9o{V*!L&L)!V<^ znk>A`DaHap1vx=ypD#EIrl>dze;d!96ny@l3 zh&wy8@9ge^&(BdE9UbcrmEMOc&yaX(EAk?*&J2?hi3KA}u{jnkL6;rQ6; z`bO$dqvHI8@T;>keTN5%oRN{2q?8yN&u(Jmud#F8nxdkj%cqO(jNihxOH6zF`zGh> ztz|~tT_}_lc`OEF!^33xA90hGj*$aKM?VZrWYN`{O2LinKeN%*g%vHR=Xjqo@8$BD zt^Ytom9Af{2jdca=^u$4Imcu&GBQFY6>M3!O~z$(eL7n;3ZN0A#R4!sw_7x2;_c5$R{Rtv{y}6vyQFdXU(bTJKmlsNs zD=;~-Ohj~+dsd-lj|Ua;d3_3i?LaiP(oJ>}3N0F-$A_vC$|6GcfrxtrfX|T1lX^9n zSXi}Y!>HeX{4hP5DJ;`#W&vv1#l>YC42Ec3cM18`Y`LWRsnCB)JbJ1rmVQ_NO!dq-VjM?G8v>-IGHH zp`pRF!$sLif)8MS#(qSE$wEfdQWT}AE3wHk_WL_Zmnq=M^5b)M_{xfQ%HS6vK|wb2 z5%lNVHAn8)8jsminvSRQFM@B+?9W#+n6Iw_1Q#8ygi69+;e&z{Gr2xMg2*$F5=W6o z)8uG|1unQEip?6IStZp^AMVb+cyWHCIKF{zdGkMom6W6{2lhviR1BNPnRdt9>(j`{ z2z_I>R1EI@VSa!ey3U{Lr;DhSIvNy^f^G#SCgRnq)#2r)&*W@j2pYG8f|zDHE*Q+> zbyO(o<;DA(!JM+4+NKd8hJC%0C~_hqlEVLxSthbQ>noILp(HVSL*V*>IcZKN692u? zwop+a6d-i)q+IZM`aWqR4CNNVX^Dw}Q@H{ety_bGFs-evnz3abPrC_{^=ncXEA2c` z1O$Yk5$)RnZ)OjOl=7|}Dhn&Mu{%Q`@)Ng6qc-fQ?l)9F6AI{7V*ibHDwn_JEeq8N z10QYQhpmMuD45J2ziXp?_hedRcdjoiP#^W^W<(@_^k+6t@$0-2mH7a?ZKoh*y9P5B zQ$RofH8pi=>)R!`zib$1kC~SFv)X~MEXUd171-E=()F4U<@?S~yRgV({d8==^8R7A z(7}3XKBfIIYAW{klxy$r4qNf-^;WYs=lWcE?EQQ99shA^;~WcZ4*b_0o~@pG4MtuV zm<^Sj;1H-iIe%1i4b4V{ns8)-V8`wk+}+`Xh~c=!oiHLZ6mI+9p(XMerbG5*^lo>M zP-&k&DfjDt4iE!9zi2F>MVGna98_ItCyEAxsymA%4qukQg*KDgrt0S4F&W!bIwcg4MATW{f@zTu>8|3hi z!jDH(9RPA)Y4>CW2vZnP+>1*lON0Oi#dAH(V{J5`g=%yE7t+i#tc#IFg@Y%Nk&gzn zUvrIAuf05B1CKgrQNKTgzU^-8aq`uyJiW=+-t_D13?w0Cv!WUKj@CcTf-Nw#>g%uO zlc-jF_7PJNVMy&3;HmVQLW$n|Y~z6a@YT!9c&p3r{;Ynw#{0&mOr61QtBd63ba^=2 zu`3E-b^W8Gqwg051qZwP{2=(tC?B$QeMYrxS-#9@3x~C1W@cy>LnDBr1k+`4qw(7C z{?Yd6@4rGPcd5Pl>GZCq5Q$YfBuHqWwYdr`SH_(6M@;5ZMLVG)wC;LIRo=$Om)7OV z$@XGZXccQ$N4!d7`hK}EeD*s)PLC%>NN9iVmRytvJ~mJfKvL>0C;NbLV@D!aNtc3< zDcs2pi&7p!A~0957;U{chV^Id2_K7vvYfE(+4pEHt6}$d8OG(^)`6!S=6W{QhsM=n z3wiy7xG=*?Zu>z@XnKA9?cS_VZYo*K&DT34>l^RL=5->KWT%e;L|bIMfq3nn%_gDd zADB!frBR65z)^IRmlK>xK#R>7P0LNDM)+nLC;P%zM^ci2)-f5EfeBp}96UiQ?^1#Z zNDqDBA^asw)Vw_SY&HlE8IPy6vBfjHfs)c}YAqT`*}ko2ruEMs^&0JZzpVzq~RKsh1+kM*Q5u!|;$niab>X!oHkAb{7~hX{7z z@Id_F2)>%z9@w-mC2i<8HXpf;j}rw1iox=%h1+v9*7bGUNBb}tk?`=%8}gsM`8jU? zNPrhB5(W5rD>N9rxExWz=_MlozBDVL2o}BLA~#87g!Za+g6{PpPZbr@=vV>}b`f zG%$yCH(Uj!y^es*hd~`}ho5cy@ ziQ_6c*)ii=epZuuX2S$pB8(pl_w9^Yh zlEq`X)nA^g2B*gJz6dwDK$958>b)I!{Q$yura0_|qN*At@4HIk`wFs9unRMnar6JQi zZ<*>6NT5L99ac?~_0w_~aq*}erijNoc?G~{N0GCYy1nZlWR+yLLIZ({VM&c*-6rF- z!QNho6gs6LVAryL{cHYgu+*bO$-zj)12xP__DzKkP(5I=_Ty6s;x$r8*Vt}3r?|UhhVgN9b41;cY^hEc2wvOKoVpCVU z2jfDKlz(@33KV67u=EVhN9J?+3qO_ivkoUn1W>iQYcQ}E%b>ZTBGubFnX`Xn=w+C# zvyf*p>RJcr`XWAmC+fw^UsC_|zf^8Tg|>ZblSCH@K4fT3U(vl)j1CGs#Ly>b4VzP_ z5sa#z2>-q1p*2dQfZ(qY2i6ig{pn=)<>97CQfij^ z$s<5N`|(iC-dbOdR_>>w&6nJOSx04ms%d7=XyCx2+H5EGS|Sf0@a&AO->P~$njHEZ zgC}plgom5%6JJ#T0+DMfml#%SYMp$X`RtN~Jnwzo6YBBDNsx~~u9evSWGPHlg(`qX zjR3$ACQ_zmX5h0kyHmDEn^-h0|457M41yF!(8$<$AE%K>NdF;Pv5&fE{YFS2MeQ-E z##O_W<8naE^pdZoLKSG+d&&LzqT&r~ye{@BIrJuCDf{!1r0f7dR6b2940X9akz-8+ zaE)5HoQbq|_i5Xt06On?0LFPa*!nynqpl9!!zO)kgNyBEKnbhq;sQ?Qe ze6ytIn6+`fzaRE^bGp0c*gcq{B>ZKgAhJ9vdDSf~SHqJQjNHKgPp$i=h!k#`EObmI z%*f~g=i-+aTmacKk+%vOoeZ7e?|&)^WZWBj_b*m=RLpcJD5u<#Dd_#kb^l}!lZ?#$ z1rrPx%mUW^0fD69%M7dx3o-ke?!g5(!Ta@QrrJQ{*YC!$vqs>PlCUQ$UpTE|rp~Q8 zvv8zFP<3YCW59tV^M)U_UH(SuQ>>Y;mCX%8-uU`}#|l{l548MHWU_cbhLn1J$d9g{3TVw_G388(79-qYLs_^aCBl4RmJTf)}k@cE_1zmm-@F2h03UHj_=umm2a68ksR#hwP@<4H+qif-|(=L~vrD8ywazE|+ zsYo(HOuW6+!j4V+!+E;O+yZ>rXzQd-Kl70ZIZq$5N)zlTQ{G_EKF4M?_0`-QUsr;d z!~&m>1A2EjLX5V)TF1b%;**}brLC$4!WEL3!B*R+iBC+6pXss8kG8r*T##Iok}`rS zhntHE%0SFix_#q|NQ2(}pu^ME{}hH9Y+HpX5nnJH>D#mOGw+K`=tBfp?suB%G)2ZJ zd(EyWNOalK;A*mdYx@t5BN1GkPn*}yAO$Ps51CjB+AL%vk$)fkSDvB#e?MYXSsBSl z8bi}wX9f1=!fFkQs5Bm^m&QL-2?C@C56|or8`Q${#k7esPQo@ES~2=pWSm)1+jh|7PmJjydQOZ&5HYge4kbDXoqY5P;F46d|KmjDfg>8CEW zHo%}eEB*nq(hB^kjEPRsd^e6qG0V5hwvjTOwHvZkzo*67ggd742mKr_#jQ1y3!>aI zb-9h7?oDsq}IQ| z>#H+-os03#Y4b+>w=^YDo!(hv_m2Y}J@$Q#z=z-nE3&TE$SXix8-S`L?OC<8Dx5!^ z;r-4|jPqmHix?X<^L|@W!Pm(Y=WToe`9?ZU{O?u(6`*37O)_NEuq}Mu!x&+lJprUL zpRA`j&+|~n3>Mn7wVyVAwXSsBLxWj%^HG$-TeVQV=jScev3)h__3AOuj7&^tRVTlX zZg7-H=#1ySON>k`^sTL7AmKKA^oiB1kg+>+x7+v@zGI3}spn(T6KL$^L*#$;ay_5M z5fSwKXbUMF3m=q%B~mb6y!a(aEfK1u7*h`J6nSCk*c~W~8NnjHA74NBFYW3%3ttHm zlMv5x*D<&8T*Tj>Ufn-!PkwWuG4MqAf^cv9X5{s^kj`1?)VtM!c<$faY`cZyz4yK8 zE;x=i-;1*s?opq zzTFD2+*0BY>zR{?$TVKWT%_#P?eMDIz(H;JF`>XbH$Q%!u3F*lbzHK`3rM$_k}r2g zs7t?E!&$rS!e*55as;zN>cWS9E_x3P;}yta-7$E>G{(${Az1BiBp7|YJM>Ia%Y;I+ zLYs)rvbfC*E`oe+dg3_~s>cInx`U#FSHU7w=8Bc+Pj{FMM?=&sa>kFB`l*u7p8F!$ z*f>3ttCMH!fhLyur7?6lX;aqPr4%QROHvMEEU+HL@Saw$`8Cw7DJjmEUl9N);ZO5c zqU%|vbD)p22e*q-zVu~**rm-{(>g&oh+OSwIj;+YGr$Q3Ex1r4lSBV~`2wgF<#LUm zYK9WX98b~Deou?gZLhZqf_U`GBr!&&m%%AYQzn}oOUexU$`#{zz6GkaH)Fakh^~pb z`3496m5MP5S^=@C6WC_rsijl>--K)v)3d{C@8Ul42~!9aP7rE?5|gunnYsC|V&Ewt7IxOO+u$^_G{`t8>c7FSm}e90dAQRD8x8(F}wm z=Tqj*OJzx6(xY`t)k@rJ{4~)$Kh;`4DQfP%K0z5l(pQqRhsAX zs#sDe13X{I9Wlu7v8T7c|C(1UaD5a(3{Au?R}=xHJlqe(3<*WS={jv59N4R(0{9u_ z;*Hk54CCh;?aqJ3h7d#c8%1s4VP=tZeofjD^lh9#V0;3szfM*k}rlklz8Z4&0U`;DVRJ!$>`#xCiSA1)|RpzG=`Wa^iaQmN* zRIICvA^=M;uTod+_!Q|d5&hrd3WR8Kto-IkZqD{{G2FBFb&boOTRXg?RY2u#1io!I6`j8x1qRJb46xV=8HYRG<4n>K=`Fy3rWK71{g}v+z#vS>YMM?Al|z$ z@d`M3?QOR|)k-e`Km-Q#noqK_LG|^V-?;6g0j6Qr69|FpPxGljkYq6bus$NB{)b z4S0Er*v*LF1t4nKM;l34nIb)Po)&@jVqlKa?J9}u{gN_wq7L>8mN&S&FWFu3Hf2<; zR|Ee!h~rMOXDbNt>&h<|?@eQDsk0-HtXx`|%xJPF3MTc(-~98N!tYSAziaKpoDT-3 zmyc0-R!q9=1vW4h~GCfR~T& zvJtQbJAiQ4wQFnC>H_oi>sNdp2jbw65EX6hNC4uZK*6C71j8U*E~qK#JnpOe2zlRw zk4sO@W{c!!jvf3(?@sn3O7pAQj{Cejp+$rB4ZWST6ytGYa1EsGeib%OY#BwV6rY$} zZX46;;vCJiK$#{CQGOI?T;To1^0}RSW?WgBqnZs(;B_siWq?;=H5}HS{i-)Aaoj;s zd&S$AQS)3MA@|ji$ED)2k_~ubNEIvK`~~Y2^%v(9$Hd5FPpj==fr~o$2EU18i?Ox^ zUn_&PJ43 zI+l3fOMYrf8W3YZpemkMwf(~_{li~M`NCc|i&_^azh542B)a`y6q-Kg2@=@SnDdR&){oMw(YItzpNv4 zdWD7YE9CiN%gWlAHCxz}!y5U2B|SbStY|7&l$3*`u|&=fT5Q)eds}^(iSceJ({~D} zc#1o{r?H?0?=F%RE2~+bVG4R&;d|u%4*LLA+5?yvDOZ5pz80;zEaGvDuW4rxH2fqO zzc*q2OP~f76g#Rvnjgc%JXBNFAA5>3w=pW1DNjFUiwMgkyc>pFq5f`Nmhq8Y5& z%u@Xs3YhHifI=%40t*2Gbadv&N(Gh-Dr#zII5g6Rm5;WRXlQVP_r?$77V3NNdYi60 zN~z+0&!R@q`_lEJ!S&A0&M>%~>y!Ra;6uz+lcK^t^NjI%IUTZ_CWmh~s$ih8HqM;5^Q+3GXfqh!-7r@@zCiDC3tPaly zR|-f41S`O1C_m|z);2xb+&M4_xs8~wMeUg@0O1-&nFQ&YhzP(56Hs9u=W;t;LaD8- z9U7*Ri60my3y8hj^g+Am_=kEhkriUt>Af-Uij9p;E+j;P$7(o$XXG0c0C<&m8=hO8 z;SS5UXR^cdN@Tr&;QvXEL0n&7_+YX<@OWNHwBqA4B)6MHG%eJL6b8B!!j``e2B^lz z(>p7rND^ZxowYo(xDVr;<(zg@!^M)L>boJk5f?V5$7?fIU}3V4&f=PstR(Qng06e3 zkq3a`FRpMBi<>=H>!B?;cpvYzdC1FEb!QoheufCFXzw_P+j5R1;G#@~eX*Y9@B| zbM-Mu(c>p~EbE^DwmOS3>-j=B(o^Yd2BfhH8R_YBtz|I*d8YoevH4Olqb7NA4Z85u zl=jt8v8V5A?RV;P)MR@oISvVa7P!;ym+$P0oQ6F*vD z<5J$Fv-j^~&>(zhZFN$n-##>@U#ei!nti}UWEnFsQy*vPD=VXKuv^6h`TjTy6x%)Xeu+?>%D21_y&BNyJUNL~n ziVF(POiPl@=`G7uM`s&;`efmNB_wje`}>ivFCp89rCdJiJwd(j@Y|}G`%&_-5@#wB zcu$p3(^9enJD+2~1x}(*(tjpB{s7A?Z2t%XohNjWCH02ue5V;k33 z-%EwF29Ku;AFiKX0g7G+?T5?UXV(23j5RuH4H$qqB*YVWR9Mi0GX+6uR3(7PqgT`Q za6t4+zZLWUc9kV%WXu-IRPfnNp~Wk#(GP+28rzpS>Vd(*LX~1^3sN5U6Lqi6x@aNL zz`y`GE$t7vopRI#8u20Tv=j2?2gk0ro@Iu*lp`{h2 zSKokGLFPvrT+BI4ASDBRhC+y1`93qb=*r9hqG+*HA;xZ=WFqOk+ZGhDMQ7$>uY`Cu0 zOolKzhNi*pIEqy0dHaaI|9HN2#(E+F0bR;?IuBX!%~#?Yz#@Ov<`rOTkb=QhD{K-- zGTGdQ_dxh4Q{;`ZN}oOU;-}g$LJF-^fjpkk?pJ?*hKW3qus(4TL`1jCzb>KTD$GRs z6}f`$hFLK@`CBea|6(?Vsn$aP3m2Re>Y?doAIpWD>mEOMC8Dg&NysM{$KWZ}&zSX}~M=vDyS zO$mV_b(n)r;r9rI!wacm2NXIDN^)}0yWqVynv#^6X|2#?=zUD1kj;%UICwDpoJ#lc zBhG8{V#Eg)mLW8eXAm779hd#@1y!&X(dK46ZNR2tHQv>ffK`p358=E{oQ;g*6y+SNq$}wJ17uj zku?oI`xRL4di?eyD@*tJpAyH;F48vejxIka42)iJUl95ZQSiK$V)o}cNm)sfE&icl z8d)G3K0FwUY@VUAtN=7uzkNhdftES7x0E#D>B2?@QzIb(3=F)JYe;sog~P8xT{`V% zL_|b!0C~-Pm&JO%+X?_uh%FVT3g5U806X_+vs2(?;b%x{D)#gByb`a^EtBxm8K;@a z{E2w+Y;nu|=1`d5txm($#lu6%u-wa)45i1}Cn#lAgAHi-G?!dQ|-GU<1R43pd%2gP?!~%lz{0T4vt6 z@j@P2MZ3MGSW*+bz}s3>$RV0|>3rcA zYqe{KRiaIYoIzQ)W=cOljO~-?Q%g%ips{pPF?I`P8DiJo>`2)~$4GQ(#sJ6^IW9VQ zI*uTUFc%d|t5RItqsf^mLlOJx@TXc!dTtzyM1;$S5{7rX8c2ki0_{h;)BB^Uni`PI zi3b7(W_u$^EkKf?uq9$~NG6Uj3~1asY`@FZ^qD9`jNoKs2vWz&i2~GBAn9Z=`8{ug zN=u=D8k5oe2FpP()9_Qk`{r*%Y3Tz2YxCT(K*@xm{$x;!9)V}8B{=MKb*tEw*THVDr@e-kY;_7>4V1JthTJRx?! z4Sx7$6jM(Rw*kO$);i%I^cMP2sTV<#!Ab-N13{((bL{( zH7hx=s9IVud45gT%~Xz#aNkR^sv&6M1G~Es8PbRWk+IO-mK7T>253^dUX_@-m64&) z5;3x$A~}gk9R0T)H*@0UGmtmhno)z5J}(-tHL0(A8i8)l0WRqJwZt@$+IV;96rZn- zbZ#!1JSEGpIMk4p;$vf3UqHgQss7dez3Dn$dg7TMV%e%|S^!u&wfGW%Vr9S4%hJ!-u-o>-{vzgteX2GL(?>7hnU|u#gFaLGWE`v! z2F!;>n?;7}i!CySsq~u2XI~N**KvoElZ8>dfR{9Nn|5-Lipsf@`^Oi@oo(eu3EzuN zT0FwGI+MA^lZ5!p{{VFO3F+C{+!JElaKJsIUpl40f*x^{kH`D7mEZ`t z#uF@|CghUSk?_7V)nw|3FiX#O`OZ(3K$;*d7I~ngBu%eD9df%Tv_no~JOEhb2#(ge zB9A{EGgY~GAPGvfzj;Wg9(@I3?oI%I#AWFS<=Ny7yW0{833!za()Dxgd73TO(Qam0 z{hk`4$!PlWh)pb<1Ea!)Y|bh_`WkK1A%{6rTg>zPGKoi#MvVXkt6k+LWA8?DBiDM0 zl&2(!2HIyyQpvVK57mLi&hmfnsN$wy&`VM zJ2ACp5?9@CQrinZ^`9^Mar8TN;X4h*#ezuNJxk4cgXQTN<|Kd_v6`%T(AaDz8>V1M zkFA@YEOu`H+beAqkU~WxP&X6DE#C3Y)xn8-$t@iHRw~Beu0RL}@baTy&>E zWLB{=%8Gio!NQ@M7a0gRnp>uKhMNJ64-xVDXnhrqh&wg!3q8E(cseN%dMwoAF?xQm zq68p@91i23*?zR7q;QMmzJ7zNf72v2W-|ONMl6BN%~alZw-Ff`FY)u7bU+BeXZrkI z00;E5*+LaKKwbl&8OhhMuO&um@AZDy3d3i@J2k~a_53*zK@3u~7j;VPC#@W4`NMgyz zEL{v_Wcbdz^DF5sRBW^ z(t9@@A%G&|BZrO*i)(ET8LZvIp>@%r-C|C{W%xx*D>5_~KR7IGs;Mi7OarDNaHJ}t z&vtnNRsH&SrB-gIxV)B5c$0U;fEND9pj(*M^Eg{z=4XA-!wK;UN;|$CEGEr!lkSEfBWG8bKpg`IQUK!Q=&-N3$(|=arO= zI&Icj)PACK`0@hDX23F%0-PgdI%?7LJ?QClX7KMC3M)KK&bK^~1cHD!dj$`mK`q7L z)n1%vJYOFb<7484!93k%5VC&2gKj`ZmA;Hy`k8rTEx1xc(PYpD-KZIp-rH-9i>_>m zIk-30mT9b#B`%RWZkL-p8VHMmY~bPd1WPX51+r<}G>5QClZ*F%309b@0Qidg3Gaq~ ztExJ~gHYO!8Y@65HSwsm0!|A7E(;(x&;Af25?s9-MXWAyQ7?2i|D)$q|3kHg*`5&dI0j4NG*Xe z2YmdzEMu^9F7smsXM93D8)FzrG}wpx6sMOa?`F4?dl(P^P=>*88>LZ^>|^a-SEvfi zrXh|ei_q&2zl@DKsr9QtZ0D>r?x#EjPZKvg{w6_QXT+4sg-|+g|o*q!qm_S zl2XpKhlHUBxDX&z;*o*Jo6#Y6G#Ci$wI!sNM;Ni6sbp|q6h z@eWP=?N!XOT4`zb^xU=y28k`z^wRxsqVOB-+Z>Jl0~qd88_~@fGz3ArCsmE3(Y?oM zcpsyda!#)OtGU>__oz@)j!+xy%|&B@L%ip5ZM%;DLder3tv&LAp$}k$#($3IfuTP; zutkRTyHP?Z-KE7=p$6V+`e0{TTfLZr`4H2<@EQDv(A#s&g`cdQUuu* zcLBk^oSeiG&5Yl4c+hSrNcH!w0LPYCt};2?A5R1Uk4QWvqVHz@@{NN9{0kf{N1gi1 zg_~0^lRvs0OYJ=2joVg38^)!ACQr9+sUL5hx4Mw6xxDGqTo!)r4(ye~0+v*7=B63B zXrMx(7z<~tg&JQO+t+P#UU~*Yf#mXpbxtc}80m3* zM}S-~2S%Lvr_4Xn_h>zE49T+|RdW~BNptD7B-AE*XI(#)Z%qKCLtl&DrL~P{??yisw3V0>E9%(SG;L{ z-s1K8LwN9KGwzF!x3QYOeiox(Sxijr+lht;&L#}4HguX?`15mJMxC=uTYdP{wHwM* z-ed>>Svlq!7k>5nJ#o}H?1R1OwzVRvB5$Oj% z-!T?0;5h2nVnWZ6GL@FU{bvo(H#Qp2m*CWOeO?Ca zOZVF6424d5)5Rz(%VEE$ZEK7(<_!%ZfPePQrUQ=O{4bOI#N|_X(8VUc#{C9F#=Z$+bRds{Nr<>lVyd4I}H{z zw2xP+Ppl!fGdDAew~C~hhzKu(LV&%kJO8uWHNC&US4@JiF!;OMA+t)oV#i|Xk!72t zYG$7j6nAI#IsmwQ;KIJj%CcN$PDOw$I$daO$Fn{J4nBEbU-ko3;nU~E%!OJPw^YEL z8e`4t2nhI5`@O&NV&3)eZ;kV=yWq1EIx6WzsDfr2o)0(8BdJ2LI zU*Axi#B(xDc<&iU78r#prSQDQM0sY>GnV+WzeQ{D*opdT;^v*rK(NHe)6-Lps(!$}RA#`y zB8l62dqO+eF-=)wf#`|EW!~0;skFTfL`WwANP6b;R{>yJ$fi&_9Vz1i!g3JMf;r|; za{0d!;c0YfIM){bZA(cZc6peby=wQ&uC6xEOv;QB_Jd5!`pN7nW|f5ufRna68(KlwX{H5a&X9URj&$*Otsz;8g!sR2J7zr&FSa( z>3QqRt0sG=)N%HPuda6OZU|2fKTpu`@f>=JUY^*2J<|V;XZSCbjGQ~x7&HXXhkI2D zMQhpxaM8%(J$W35MpLmtfq)Vw-E0#ks~>z^#ok*7H7!h}17?>iAvS2cFOtuwv!&iY zJgqU2Km=|u+z<_bNwbX=tZnX`IVouxw+dLfisFij?7qIKExxTicEAzpa6&yv^=}is z5PA9q&6@NJHta7K-L;2fI3o_fDDIDM|75Oo3FQHDa4@-X@9PUXs6IwGpxu!Smd7@H zrG?k5#M71As3q{t{Umh$=TF|uL}PtrUDoJGRMa8Y<_Sx?qr(U?Ac3Rm!16abT6uaL zNf9;2*_SobIBB-g)+UEP4GIA7UM)z3A6-HeEUgRYtgp3OE-~xs9GXONa8GK#%)6Ug z*|J+JlkoD57HVdbA%B1mjEN!s^ZP5fCrF|G32=)5TB4NJDNI>Ze&A|0k*&mMwk5pT zG`aHE&DQ05BM1uq=CAmcbll}uTspPu91>z;YBo}(q0zyah!}do;%T8O{pFuTij{yH z1`qu%WZC2yWtez~aZfe*xv=dz3&CjrtwUH@$*eaVa;)6 zJ^YqeF#$FrsuLaM+K0L0^Dj&5!G#iW0YI6^{h0=aUK^*?L=!&(D4m2q)By}u9x`rfGhkH(48u8DT7Mt1XaiZMC#Ig$O_I8Q0NSaXTj_e02aXmRnE@zjhADnLPk17YJF zCuNkjA1;eYy0J#zc<q@k(b zu3WL3@w*)O??Zs2RLTeU3}T@54U+APYG9$V06>#UXtoIO?~V?+3|Df>I-Y#{t$6)7 z*mF4=!;{(mGxp-5;;a4hjgi(_oDb`nvMW8yc%2S9$wOjci0$X{Ua)w4jdO6*5Gqh)fxa>e*-a{rP@B&$HI^$M28dz1Dl(??IRII?m&G z4g0nCKGG@IehG?s&3Ei&GBaag7k?zOm5w&dPzV*<&ezfmx;?9BRB6!K zc26^o&P1>C?PmNs<2d~$JMOzkgNzr(`v*+J3LpwrP~cWjP{6=&_ptw}xrD=qH@&0% zH+U&2x4A3X3fvjy&DC)|nG&pTXb!4o|FKx{hTQY0w341&+4uIxV)Pd_9rI@~e+$pH zyzrROnmVJqeBP6)_ZW}=H5eXPug#CzcBgOA)6>I~b2-FoH;{mk8RqHb+0%DBX83sAsLpPffs z_uM;tIR-Nj2E{*X8QU_T>i@#R>7YZZnXQ_faDW<2C}fJd85)&hS8?; zFLPyUP87>{&YIbohHTyTCjZQ#`$w)c6Mhp39ed?CUp+sHzC-&Cnr2GsEyVcP+}W+~ zsSH=lp1nIRFut;}-NAW7Js{xbM`M*@xqH6Gufp?NpkurOR1FHFZhRiJv#K`AH`^Gb zoHz^rEHT4!VMm3KnK`4l9Sf(N@%xI$ZH9RZJ=oF$!q<2y8A#u2e75Uu+T>MhF01-$ z?bBrRSb9Y~4cU~pkBR(+>MIZm5u=aeaA^T!+j06-M1-b`v*)oFfB%H1zffh#e5?$j zdLPss%FuB*? zyPx!dizgNb9i`LmTBn@$!kcYx@&f!(SH3q%dn;c$&6*z?}U$u9#wyr5qp(r+#X(;WEV%V^*`ZZVyqXffBrQd5E2w zwWYB4pJ$VSicB5%qQ_kG@`j&vhj4*KEV3=%0Y#pZZj+YdlsR(W|9w&zw#lv|qDA^j zdQ@SdX+;;#_wygjWg%=M;2ZI7nqZAyKXQb>?S21KiB|H4??*60xcgq;KJ>WfRl=u6 zRSGnBkC!dusZTEI8k^CQ=3QMIckAlfGO~~_=JZ5gIhUQO*7MJ@Cc?q8D?w;&=Cg*i z>lPBID2beM5tUCRBxq<&o#VM^s ziL1MGb#GDyYwX{8m-i?HTWC`V=J|hDieYp-gss~1n1dN-=i|r9{PDYFq}f*w+md)L zUNj9qwn~@}G2YsCJdXTi0<~Co_o*Y&aPj!BCzqjz@P4Z4uKP-MN}EUzuNH}Jm9!75 z=H`})xgi{CO_+J*Pg*LIC34Hy5Na7^^{w?oWiskybJPwf_7o5RTDD$hNhHZ0XWp^_QQ>&$JXO?acgNJ-|w?Q3NhJ9&Srzg)HS^rW@xrH$U$aNyiw5N6)V*WT6j zPX$`Xkp+DoGV?<-AacRx!$I*};Tneq&66iv z5PhS4mZ#FrzfSy6?ug@z9UvPQcPG4nO?1r6P7nak)7;Y(@_c-s#wIB>;)++=@9Iq) zCy{G3{(5q8!R(GmFa5pQ2y=d8B_*ZfIy&l>mb`Q*gFR*j`eks4OPTK+IwTg@#XY%~ zDt*r;lGXT_GZI+sn}VH@YTb{%Oc^o-MeW#u_rxMz^Zi<`*!Lf^U}lk*nuuUw@9xns z_TG?oOSi?#RvEjUX}Ei3!@E_Gy;UUW#O!-=kGsU{=~u>PiCg@^d$)g|CKH``%~tvZ zY6t=@#0zXX8XrVz?e{U5S)lv(BGt3<-v4RnxTnNG{^a#HU{{sYyZ4;<=N4zPcT-^@ zdOrBJkZ&3t9wr5a1q37wRUP8<_oH1WNi3|kEPkv`D+~`WYs~buyc05XJtD$EDd*Hf zqu;+iu(KK2rS8%2dZ@H{e4LVpM{Y2aW+|PL^qn>TT$1I-G$Q7|d-u-9R7;E2%F4=t z85^fZfL_XuJVn3?<-wbe#~+w+auE%ugv4pp+t&>`UXV}I!EA^E0pFa2-bs*FpCZYn8Z-_G1rN>fHV z$DhEov!=Os*Uc@CAB%hN|Dgrfqs!bWZ8mkr#Mq9_#l9P?I8>Dz`n`OM{cx>!E108t zdQ2os#Pdpz84l8?s)+|76cmh1jEvpzr6QkxcT(|Xf{@XT*uMNTA(HmA2M${|-}sO1 zo@a*>b3P=Srr{tetCrn{3zoiAfnms%i5SzFpAsC5p`ku&YkL~|t5*KpX*ZhKtsufJ zq9X!cO8!c%Np!DWml|kHb}k!3NAl!TA(B389HGj?BXB>ZV5PR#@L|uGo}U~RD^1^c z?#c1IZsVD%Rv){$%ZF%asHqzXLG;6iym|6jd3j_ZTYE|d7859`7Mib7t(yM!&atC~ zx@z^%>2gx^PjQZ;n#I0iB}`8YVWPq82HicK5_(7)0?5> zTeh58j@o1(Uw_P=4S((X7sX*E*tiql^?zFm>Ly%|jSc6eG_H2bfmH+Fp*8NkxiSDx zuScU={>ZshS$uYPWB}RaYjI3k;3=7au72b6l=lPVATtt^@0mUD}zKjEoFZ zl3`d*BsW`Y2lMJrT^uZTT-`7W4Gs00E~uEDG+FVx>~y|suKUTwF01AnJD^?vB4cAE$Awf$=8hx8{t~c7scnRaaLRZdo77?Aacl zOpQ66rE?C}9|k{$vQDNpqnyI$p1c+sYS4B?zZueQ26pxcLkyM1o1>+onphJ>&pQ2B z3+D+q>fqpzGoyV^qH1D75ISA_$xS4A-<*tbb9f*x~z+FR$4p?O2pmR7%djW{uCO?owD6 z27fOIY{tPb#$lL0qDJ}zne&4E*?PYn=gyrwe)42^YHI4sqO&Q{I}SB}UO;GM*tyfx zuBPC_V%?@S?kz#6y$JfJv%9;bQ}V%cWcMU41y>CF3qq>48=`uX#gQ^TLF`7@g|X>D!oAspbOuY7Gc zH-A!I(&Kx3_3z0^S=0;-a71l@> zJMTAuMCs)E9Uf!{!64PTFU^Rp&@}ckN-SW*i?D&~xF@LsQmxqeS1f+uHxr!m=#Ie( zsVk|no^)bjVg!5cf!_}e3A^`{eMM)FO?0LZ{QUi=A3twtp?IBmpy~P5%_Xopko(cP zJ8_+YkM#VJMtrf`H$AyOYvW1c=cz@`*5B}6{5m?>o$;a0_b?|X=goWfA{C%+>FT0~ za`jqP);@UEL`Nm9|NJ?MsL+6r6@84`n_MM~b`uHab&ZLl1q0*0PaXE}-w$)Vveq)Y z>Zuj(FLgOv_mtkff1i^oNW%8bLrt#0?;pgdf|gz|pG{kG3k}BvadVulr+FH5&a&l(W zG&C^CsN16v=l1i*dHhG4wm8i?1&z2zPoGNQ*L_XCZ20T`z}NnZsR>U0_VA}UO~wn6 z+DZNv#}CB~HaNh4MK;}}p=U+epUwK|IeM%HXA6(?uf-Rg&iJ{;`S0 z6TYWYilg3yxn8-liR9$ulpqrT{y!-Q%07YDj0I!BZOnk3Q?p}XVWHPlP8I_XPwcy_lSaRO>6d^8302W%dbxSh+jsAx z75AEN#unQ`@`580sTaJPu`#Qi>Sn(4@^%(>c7ojgOS;#>!;v#~thyBpJd~+B=6yMr zp5IvNGt7lZt*>9_y^P~8vu~!K~{Dadyc}7zl78Vwn&E&WD z$;k~la7J@T3YOJ98XQ}Zo*cdpJCh?vj?AyF5@De2Bn~jRQHVqkZof%W5%XPfSo`(M z>diwX<5C-qoDxNSZ@<_?!&9e%5X0D^7+G8FQalm;x8zvQ7x`Ddr|X<)6Sq~>)a;g) zX8#K>E3TA%l**Yg@vpxC74t0KurX+7eLPaCG69S>&zc2U3SBhD1T+B=Zw2o?2lo6 zMI!o*hVwKxhSHRH&RMvDG&p3fqN1`ZlCLvW@v?a9G9=GLrna@68Oa1>!Nr@2k&?Ry998vNW!o4*r~_dzJFjOyu1wajjwiR92~5dn^c{hxeDA%zC$D&fL(@Fefo~a?+M`&_hXDR(5mclXb_rHEv0- z*{X^8>7r*=e>Q$L_dD8HPOl2gX)nKE72cVLkW73z7$&A`#PjnTq_2MO4Rzg`mj$Ep;DjZEL%#m!mp2TsJy5 zclPTMgq0UvaOVo=_MtreSnFy<#bE+)dX33J#YjMimdAwmI`Wmvmsi_aSXs$P9^XG) z^&IhMBh7!Xj_r5PGmhn!C%Dvp^9>Zz9^cu2Eq&WeK|w+6*F3|5MnqkLkS}anP7Cv` zmff*(!C2MZqN4OstOrmi)GV+)i;rg}Bwc9Kw{P1ibq!B|UGr*2r+C%3X*GM-IeeCa zjQbS%#fuj=04MXW^FTyv&1W0y@RNva%?`5HZ)pNe(14ZbBRnMk5g8dxLU0f15PFrZ#`>6?S)m?L%I;y zu6?qo!zq=_!V0y99)iyvP=DJxI<)QJvnFBPOpCY->4b)i>*oj-X6D^E^(XZN6XKpd zdxmir{Rw0~@v6=T^1hGY40JpuCMMw?U8k?LCCVU|@#ch|futZr)-SGIMUJ`e{-rpk zJ>TfmPosuq)D4yX2SEHkH-DCV{xF71ulUrRofL$FxdWv^6R`fn_HVwqtxaac&aMr`D*j=I?dkSEPwjf93ayfXsXaA0pdQ0{X~g1p`1r_>S;Yb}a`WT<{E9?0ga41g)IBOHs>yd*^m1}?#R0#4DyypQei!{&ezDN- zgsbZhuGmZ2(f|9CS}c1`fy7=t?y@O0;Maca2f>X?eTC+kg?DbX2>)nAOF|><&U zFr`rXVp{FCpBpYNoN``oY^G*VoW7}av4;7Pgnch9@^)&E6^ESH!9U>r6REh)XIZ>| zVrnW9gz23;Jn%aKmsD5+YY#Iz``vPf1N=1`?0tf{{Wo+{f7_t z<^F$tQsQ$s&fD>2^Qu54>Dx%YY3qn#0eAG45Qes*p#z?D{=_pPkLnR?fsKYv~$b9KyUCgBu$g2d!REZb0?? z##SPcI-Yn=eLUyvOXT$KYIplqo5!Mc;A$g2s+yVIkLDw+x(6C(nex#oqKi)$uqZvS ze}CJ+E+QKou=b=%G${zv%MmU!&(zzo%8Y;ekp^=W7^{7pYBot%*3mkF zyH~wx;v5?q8ZLC5(9!uPZMk#jqQeZx4a^~EE?-le030A0_i?W=Leht-EBjP+C3Z~K z2mTE}A(L^gDeOOg@Sdc-^VaxSl_$%Dmf!1dldNT6E2_H?gfQX2c z6Z!~tLU1H$-^*T+nU!UYHiP}3Wl;aZ8CA(M=UmbXR4{CmmHa;lj#TF_(;ANhg+Rne zM8$+*s`6xOnV3z z$HvpnA$S>%(L@2>++yFGFIKLJ-g+x0A{V+)2pc~OkSCA>B30RyaR4@ILYnN(*4>@= zLdQn?<*%_wdMsZQ(;khnzClfC*Uyv#PcJoz8S9Vl`Leg+^cSj&6o7{@W;$%Q%r49) zUK!_~ITnIVUhr8IF5^EGnSS5eB;z%FqrdCcD64B}e z6t{Hql$E5FX!C#!EgxSEFw|C^4X+=^;9vq%rikxk0Mun{GfNUw(jLE|f>A#8q2 zFr7%(9+#3{9Ns~Ce&7Gf&7@@8@$85QJ4M1R*jQ7OS}#uT)P4KxuNKB;5#LJQrHL30 zN{j#3usP-W>xibO+V7HV7#R(A;ZJzj295=2ZP@b_el;s|7XT2(MEv6IcNoKyMy!fA z)?6o5Q{X1cmuoa9Uoe@-g>b0$8F9J~eeLQ}4_!yYzcs^m_N!R{u1hH9bNb zn6e(VdGvb3Y*1tGrlIJC@fK^G!z3AZK@JJqAh58&(`XpIipaQcSVXp*Bqp}bpGW~ezp(iccArv? z93;!{ka$K$Hs08AsQ6;n1L`889!8=!bkA0m+NTlsvM}NPog1DWwISzQ?u_<(bftTG zU8W4SESY9z?BSOzjB>`)-F*Fp=uU48qD14@xgSyIyUMp~S6ZVz9JPjq%%cAM*p(~d zCc^~;D--aC<^}s;M2|tIn?G z_ghYPZ+!b|yP!o=Tf2519wz!zW*Tt^|12(02Fh_J$2f@hdv3gSx$(zK!bI*J*@0BY z>m{i%FTdqw<&EuSxRsLYLe)z|C=h=tYig1mE|1j9lRja5w%q~&iVVjIGN>lhOGI~- zOPSC*g_gZL^8_1_vEZ#ACNRwYP-Ii65sl0F{_XdFuL&>N{gzkk`}Xvm*Vnm=^FzNT zocB+^H9vdteRxK(PoLeB^~WOjBVk0aad3vhPjT6oQ`(bMB;sGD*JoaPNsRoq(>Wml z!RKpeH$LoRfA;K;tYKX>HQ-qG)qZJ~>BzZX?hK3{bDQ@X!(oz=ni^fUjVUJIcPD(j zz0V=^6Petw$Re63KnbZAaZSMx>@B12wsK&RxxGGZ0{%z|YiRp3*Ma>SQ8OOiH~YY} zRP%dXIh)wCmzE3NFIiJuy#A?#hhpe?{xTFyRVdel&CK^ERTQs0H!S zd2W8;MeK>0nj}9)$gaH3&C|dqglF5d#EZqvsmFYrWS|r}z^cgDU%_$5GN;E*AmNqX z;E4-lxjpAaE!P3wjpr5BH)g;|3kakY6q&~54m;3J$NpTLFgnw&+Do_skHc@{uxY_7 zzD;UvYOOMf=SwDfqkP&GrFqWstPNQ8$+?bF4yAnT=Bo{LF}?HHoR`@~+T)w?-H9AY zJGp0{yxX}C?S%L=bLAMh`g8b733(P?Gt5$hDhz+83U>^++>{w_sM?I!nFW9O{Fxlp zoSm<(?k$(UDPHJ18G)}7F424ojQy{`I?%uHx@Sf;I%0a~ff332jTf$uK4%$!Hn~)F zY2Ia3tpD*%p-aXS>?>MBm+m6l$MDcZrr6x`n4uE`}!$bEf$ z?m0yL^LTFOQWWin!7JlanSz%^d4_qnlH4wSG#zj_5Gncc<`Lsr-$ZVoeAya0Ym*yS zUv>NWR~7a7NB^95DrX0~-FazDxAy0FaB-qmTSdE5-CP`o9`{Os>B|gs2SIvx|5g8NH3_$5ta8Y5wj5!7=AmOq7x`4p(+%>#*3R~@p`KF7 zg8JcgNx8BIUX?RV7vdAT<&R|q*8FL1InAb{HX`NUU7>w;yqwfUTB};$wfk_>XR{QG z@bAG6Ps{^J#jEWWW*RlYiCyIq{ePBfv$_k<$!>@*vTan&oisb~EKIVf;HuVz<02C} z_o5~*W)PCf%`&u=(|x#&ARXrkaCcKyYCt6FRE}xOOA;KyXG+NlcbDVGDM_FH<8-Nt z@;Z9rab{*iSJzU=PoS7eCMF!eR%U3@b07U*Z>sROYLX zTtot%&CC8$T@_2V^se@4eAn}C&G^g1;G!DQMzTh&7<;aMj;hcqX?XK=G~L@wTDjl9 zS(k~Ci_vkVDs}d+gt`aMrP6}AX@4=H3#^1no%FCbcNen_zhtc@w~=%Jt|ExT{_ROq zp`hha;4G^BK@FIVamSA97$@!m0|$hKx`j%jp#uuWUsi~MU(EIMaf!>roPr6|H6Aly zzi$KsZh>6|E?DwtL z!3pw_n7e9}SR3rwQb&WAayZbBdGi4MQCxvQ;@vB>B}0)ry6eFPEjq&a#rZ>n)dnqD zbjlmFXX~par^Dz2ev>W>2W}pp<-tu23mqdPN8xREI$md$^Drahsm;v7q%|OK^T1G{ zH2%{1>XkAOm|_4JZoq3RFj z9d}lIi>W>~P0`chdHPw?oxp(WyXNQ!9Q27#2XR#c^tctrhg4OAU$}lvaD_9|f3IEn z$}U_jg!j2-KXTUD)1|@-6NO24A1!}B!Oj!~3Ju{2#{;BS411LyUpso!)FWqS;J&~c z*@|St;+JW^OEb)N&Tdb|6q=@|lDO65f!VH>@DaZVb?u!>Uu**S?|%|Fx+7gRC2QJP zu4+m*i^Ag4I(6evqp*)TuJ_1R_h4kYbQb*TvY$8#+hqBg4G3si+B#+8Yye0H`G9b{??b$O~_2nI* zH=feAe*BWXswW?%5S#UunZDPT!92M7=&tc&RE*sPg3CGC-L_~`7-4WuAe?~k3#KX~ zTFEpu8Iw$x)||Ffk&o6_ucnzFm6dMg6!yS_4m@fUGd>&eb1yL&E3-EuhJpKZ?vqG_ zIJvKn4WqfjAH3IFSMK>7e)*X-UMz1$*o|(g{WC82;QYdGd?Hb}0k#?46_?NYp`+xN z%=Gj3??!vS@#D3q0rwup{xGeZY5qrjYX?>gw4B6tXxAm*W0}MxeDT!`-v%1WgSKyY z2^%K}o-)$tq2BjG z;zonL<5?BczvWtmxIpdE5NkdGWD?;?U!P?wEjtOVBW6Rw7Paipey^FcZug&P>ejrE-k3`ONy?{}oP&^!vg()YoN zSjmzIyN4HsJLZ*_Xo%mKdptB${WsurSjvoIW~hR&r>c7`HI>IkT*UggKI}8SK%8O` zpt&)4@25o5>5d0hTtXmaxgDD}CBO~?PF4LaUyG7r-P~n{KU|)CRWxnFc2deeu5CM` z?slPy9d^C>XD}uexe^HI^&mz9Ct6fh4UY1+&U?kTj0$)@{a3SFR8jRJ6fe9{p--rK zhFW)Rx$o=&ZWhKf7BxX0l&(~z|9Z8wA@XVb80LWich{Smng|3qio$>~T0MjS^3W$b zySgd^uq4KiIaipOnZ?k)BCR%l{Ky5;ULz{$Txl!5!D-G9{k^*w82h7LnT3sv`dpc_ z0eYyQGMCGayuqW$Ow%r55rxtFRe|-_z&_6yR#6$E`7W_+Alt*wpEz&_e)C8|>Gmv(wd1I1ip48tK{{J0rf92 z%qP)~H{zx%;x~>T0@o07g64~qz4HxJKhL?s^%iq7q zyZ*2D75b8R$@YCVqsQ#fbzF2och+wqw5=Zgb>pu^pQ*<4_x}E*;IkwEpn=lU(=&bs zuqOqHQ`UnPcSU7(GOIBn6g3rjVN;`=^KCB7Lfy&Ctw+l=O01m=*vQ(~C zlVnml?Yc~}_g~Afts6^+CHjJY<0^HJgqjQ&h}ov$x?jNc$!76YEZO$Xl0u^Do@9xpoFVqJN6hm=a9?(E-(%=>gcfltvCv}tqx z_LHGNox)Bk{$?Q{bL3AFd-d-`;WNSLiP$Dl_hOe#LNfF@TT0+lmt2c zL@`(h<7I;Brv$zi-i;S-Vg2iQKPqMP^C_3r!?)_LFsKQ@wl-a_A%``vQz$ZO7wdMM z{;SWra!=vdeXMrRGmp2xN*x6EqV~rtq2t=xYBn}|h%pigm85v+>r)x2^xl`3F-SvMXI!% zrWt^k=v19`T>SCl6R=WTZg+!2k{So*=4)-meC$LT(b`j)O2aytda%<}XxNwPr}tG1 zlZ!(&b(kds;WOB-rmp{+l7XOp-uk%za6`4b+1pz0#ddD%D1zS>ku4*Hf9dzLv}}ww zU64=7N{E&5RsvF5Xjqtu5FKAGA55C>)((v(s^Ut|gnJgZlaeC1U?dFV7?p53H7sgc z-}J5c_|5e6v3ldB5!t_Po~pY*#?06s;`*!?N%{^UUrstJ=C*q|ZJ12X@g>qm$*56Dnk&ndXf zwwsS&&tS${-@n(^o@j>DntOOiU1(3biuQqvIEIMDgh384((1-5 zEwMbYXfF~5hJh{Km-j6fY}|`gkv;7c><))adko=R}=9kS>spS+q3n z-vdHP_g{iXw_V(>txIq>c64BsmXNrBo(GwWD?k1*PD{+n*8X8|7@UXC4+i~cE zWn0|dHNfj)&YzAFm@r{`qLY;umqaX1{cYK;_TVGIJ&%PjA_bDxFfuYyc~az#^@rkf z1QFHhjcRU(^%S`yUXAB?GYZPwL!-0T$;AAdSCKvVFQ?2#jP zxh@*$>)Q+kW?6WR;#ybn-gT@nUz9+_7J`G1!+(BOR79jc%c-n6dZ#tMT!KvbBbtK( z0+h&QnJaf3Xz1wb$E5-He;OYT0rEi|i^5n?PF`NS{N+ENv#&9!cW|EUvT(F9#Tti+ z(fQdC6h4^8`}CdU24(|zbfo*p{~y5Llk*rZ{=^_ z<0C^rnc(dw-RP?JTHq70sI~Po)7MA&QmfbJH<98A`Z_=Z)3OGv>c_`x&2vV%=C2$Z ze2`3Brrz&|41vAoCBezDv9URt_3j+uZzk=ME;%NFVu@YG<9h^5AUV-lNEy2JO)n?m z+_ja!?vW=bdCTe3dU|g#md1xX#N3?}glYwzB+HY76`~mA+4S@&tE#^EIbC+TiYgI& z$fvf9cm?4Y0pX^aMFurSh)i0DDJe#6_Af8(x%0XN8(#|-n-Y!Mdpk*t;=&1}8QbK` zgXwSIt`jUBgk=J`!;Mx1DeuqvoHgbNnRfQrH3pJ!wX@r+6z4SDPq1r3*({FYDjyR2 zg`bj_-agW^j<>6U_tZn}WGQLCwSz4n5%(y2b8M5kFHZy28MF?DzQb!{R@crf{DdZ` zRY*{Iq&a%@!sG9ZXTmh%J8+n;BP?+6tWNdN;5iKGBXK4ySR&F3R2~Xi###2{oTfnW zEvb;Wr_JHF5cXl|4R}YC#kH~L<4cSZ+*!;~qC*Bir8|@R>t_ME(sS&cJc;APkV^1G zQH49D{uV8!e4+-2#VrA_16l#=zzmn+jE`IAtr0u1jJA&3M0&QgBv778c_6o*>>| z9&YSYwK=KRuWdY?w8t2=@KGP1>V*Xq#9CYHuyJmE!JOJ3Pxa=_sSTi{Z$>J+@2edL zX0RORojh4JGQ{=b$s zk%Y~wSwMjt6IRAg2|n8Fte2r=x(_-RWmdh}`=@U8oJX9>x4L7}L7vAdrctcfyDQ(Q z=t0|f9+}49{`o9@WaUaAXW1CFEJ7` z88lSZ=$Sm-kPH-%3q!%-AgTdpXXodHQ7gB+4>50;Us%XVZ^a^MoqwE_aZqwQwT5_q zz1(58qF-xA8_vl{CTjekn7R@727=rM`?a#rG9!5ZE7@n!5z3%1r@s3 zY|Wek>?_|g?Lz+j_@p2-^n%)Trrn?bEs|z6I-kIHp4;@Q)mEMI`|%p;oA$-ZxTWO@T}%xO@fmXHCEZ zCY{5*UT>3r@}F|cpz6IoeH0~{F-(*toWSW8%`riqCBRbmlqq{P;h~v)8O*IOWI63P$FtxKl94fA1jXim&UM0gsJ(n{KKE zu!A=`bj1&+?R?vIHNS*}&^!KqpM>*V&I`}zAQxn0>;`i@hHxiGx~O!8uOhF61Ph^; zGbwlQK1rlh+a9|G@w>DjB(|Ul)0`PZM~H*>>FZa+SxJHsjY)u!K?LzTG<&B@4$AKA z^7dBh{oQpMpRZ!5QW$og27fk;!lLVw9`Uw?js6gao|C4?7YhyG7sD&H2fv2rp3{bEkaa+Y19O!8! z&nw-#^OXsC^?#bJge?g6e5Lgxi;K7RMY4bWx^+hlP2P4LPy_gK8~z*+e$m(8FTkRP zKv`k=Pj%Fk^4@mdLVau0EyLaaL{fHFCF;0&F4%k;2_}om4^Uox49pZv^?zQCXhn7j z3FW=lhDZh+zx+}XLP)mj63OuEm(lx%Q41Jgo>S6GMw|DqiMsMt3x)7QRFA~vsbyn$ zxbzw~vy2AWZ{NI{U(+meayoFum!8-H@C8=`Q5*Db)UR^ zw_awcyR=8vPC{D;OrlhI0S?iMi4zxAOW1@e{hU?8H6WaBLhcY2j`n z=;A;vfU+fX?xrMz9k@lN5@Jk`=HUxpO*8V9ukIO*-SDIJ^eFr>kxtDdj4M$IW<5N^ zdn3c~{D$woxqT?R#B2zCL;F(+Qjo$SW+Q&Bpw%QX=b2%y;B-5~(!o5#j5&E)uMxjd zGQ(8qtA}!O2p=6$)a>ei{%n7+`1|VSzFzv?Z5z3-UasQYP6I5CD#{GsN3W)JBxj_h@<6N| zKz#Ge0bX1)?6UIx3|gq85>JwBz)3v7&5o_&SZe={|3#`IeNMXCT{XsgukYM?c4gm? z&vL03CtFn1uKw%|P)(%)g|6ib%i$797vI+pc^#g)QH3N+hNMQ(Kv)(gbmoj#&ejPw zOajsc#z2T|Kn1I7tX{s2-X0U2YB;@uvvY+DfE!|J5|@kJX0J@8Vu*7o&~x z|HqDiUIG-0$QEv2S|Zb9TM!O5{&IgkcG7{idF+djIN1pKjUQ$N#Czy0-T@9x; zplqQ5qerC7JV!r0JG-^9n+bSBMow_y5p7+@x2I3fO>&z1$lxyMoBI=3qt$Njd8D6y z&IW=;FVDpbKsU;uCm`w_f+Zp@E>0rh+5sihDq>DU(qOk! znU*^=fL?z&!EzJsX}Ll$HNnx}Ow0>G8n4Tn_FL>YOh|SV>gzVhK`>*ZsN!@I+z!8z zhh@%j3GsKmCodwCue>R+5E(DFn&<_BX6EtrS=mLc zVuBNcdG_YD-*oh(W%CEfJLiBg7=z6Pszt%X!N2>^xE^*I3c?K^fPzABWvyWuYU@o# zMn+u6j;X3X*0ehxI$B>}nH7Fc)N^k5<%mh;QgA5m^X@i{3D08E!&K!>mkup_@R%YW z)Jbs*aQw7dVqCTw*yX;woP9cHezI2mgi=s$3eWi|z4&M5Y;0`$hK6J$5cw@HUycPO zH(KWW`SZV`3K?Ci%=XPhq(=ZaR1vwOV*AC-03e#Eo>1Ne=GfkwC-zK2I9_N`m%DtV z*U1S)LjI0AlPYpmZ+FSUkM+@Uxq_sl3%@y^zwBi#Tpct^ymhs+ygVr|kYT;NR!(ko zHpU5eAr%xIbJAs`V`2I9H=2`*R2+Yt;eDA<+?6Z4%1VR7>*VX#zp#B*^koec>rS>v_s?Mx@9ej%g{+2< zO{6}jkzV7?xz&Yqc~44D>FI8|p0K_4e#$M03$)Ek-!cjp4UO4{6+LKA&~r7;OxbyT z7##nyOGV2kO;^cbEN%YTpJh=HpEhG69<0jOaQDzfLRED;Awh{n4Vo^v=WM2=qjTy? z>fx5-b7AM-4gJB@+IpNx)#@C>wP;iOufJNI! zT#gB-{>9qD_~31`O-IoQ*ofaXR76s@e^+)-+;KocfQ8zx;7jRWB$k46*o>fbVFGN0 z-l4d-@~@=d-@=56$nEok)!P#tlS)>lS%ZUAMMXb2_xjb?O34=%6&(X$Qd)}lq!)a6 z*lRPvJNEWIA`YRlP3uj=SaTr5D$sKoy5r7i-0R`!4v73Piv03nV2Yz&fw|u{Yi2TO zX6l{1g{JsONogqn4uYypOq4g!k`;TnT>X2D=i74i6)ft*82(7z#d|39K30c<48aFI zhlhtpc5W`b?-xlM3VF_uv7neV%)4{xlmH7fG&*^mJ$um@n3>%G_w~XwXrNaJA^*2) zK9f-oEgNJlY_{ih`Zm-KXBvZOt04Cj&bTkJj#utce;uy# z&3@PPK)d5iyYiJ&iRFDMg(>Db0b^86Q6oe{SJ- z$L*Zol1H`*NlCFHfVH5h>(PjY^LG2@*@U>e&l7^OUYA#rGJ(zr)rJb(fYf{j}12Wdl^%^Sz zgjw)@HOzha=h|~6deiTxUN4+R*&*(7TGq3<(dnb*`R*~U`Qs-!_88M&p3Nut-Iqrc zQnui%s1B4ckqa*`y&yL-QVCa%wY_OMgIYl^hlM&+IqwStc_A$*%kO773-aeZ&z@bH z_!F$2qZHhOJ#B`2lnBrm49&+nDb!n5MX`Y59GvY=8ys@^b$&m^ahwQEFeb9;$kYVc zm=I$|MpCQ106wI;x?EQFaz(*E$!tfJ`mrX=b*!*tgs>dRYcrAyF$sg{^bnzqA=EOD zA3v_M#wMP6^T+aHcyyibmCH)ZZ$7(iwzsz@)TT9_@cfwW>(Ma61Z3EIB4s5KE0^6g z?Pwjc>a%j~fYHUnR3;r0`8hdC>grpuo5C@p;l`JRYS4!+8XGZa#OUJL>1i6-LYMR6 z+{uU9EjtxLE`-~I(8>a50th~J>?+PB zG4|(hw87n6KHK8({JVeLYMXcMD-5FxF-hwVuObpRA?^{aUrTR`SJMTCo?TSbcfuKK z%9Rkx%iH~$CZ+Osw1(YH%go1*Ir!)b&R@7NhB=%P&K^-kAXpMsFhWL!n6-o(IufrE zBQHUaF=#Phhvv=_<1>Ik-B*@~J#t-F;L~M$`^kgZ3D`rZ8KqP?O?&~&J1>6KR#jIg zNCJf92=mioaM|z6xaam8Ob7`H5qt*tepv&+DlRW?M&rc5!4U}|Ij)_~Oc|!adW_ee z7k^>v{VwQ6d|SsVX37VYm6a_Q-W+&GL`8J|0Jx7Lal}t#J$m#Bl{HkLO{Y)FLqv+h z&&a?K1nRpb2);hisaUKdfiuG?v0Jt8xB2^kOZV=0A@}Vgva$qUzT?3&oG!WL_ot_D zzYD|y^I+bL0qJ??O?1!)#9D{BL!|BBe7+0%TGFdmnka6hYHnQ9%xok^ra-Zzyd06q zDxF8kR!za)3Ay*K{S=${whOl`VFr*NBVIWUa@KPcRZV0l1Mk%vl6?L*-BR?;W$ixcY4rdyZTm*@=tcV2W3P*U2& zfAYbNpdb=})Uy8RHXCu$v$=w`?5QccXc;`xjN{Yz_%sz>F0n~2VMRs7g1(PFOC`fl z0f_l5*-A@Ge?lp7)86Go543Ac*U9mg9p?u^N+C#>=qCiIqmz@_x{vh*F)2%~QvfhJ zzSe3pKNk3-BTR`|I8^!Skt<)HuGQikST0R=BYY}dxbV1_=7x!}@k4M_TD!U~&kqFt zT|bKsSt2m_Cu0^@I%Erd*g=SU3Ar$n)MvE=*{q}Y*E}F8v z4QQHB$#Q7)V(d5%1q-jZxZY(K1VqX6*&!jsR}-%aRmX%P2AmB7O2jtcus@5rCNa#I z8pj-S6cZZ;HC=Nlv`GY^<-d~kbB>PDur4B)IG{nY_+LE7S7VM4@ z3F$e4NQwWtM|2;0FG;5SW~i!cE?ykRwNYxY%0Pt)C^QD3IuKs%le%~^`Qf8goUHfd zZ4I?V8U#f|daIp~gEGG0z^MRPcOpX+waeJ#;Sol6)vf(=Ght?OH<_fsEg}04h@ov& zW_a_ux%thxn=$`vlEit{vUF}5&rg3CnrB9I{P)lJ!%GC~pYhhFBWLao`5k&o2pstM zHkXz?m2jhcMDd@`I{s?G=)(0>LE`7mxL(zL^5UQKO;D1>-T!!4Y<(eWwfLe7_*ZLC zB}JO|KTjH)qlQ|=?SycF_`nOn=M(=q;_SE?u4*;OaGd_%KQVq||MvrYT!*U2g$^BJ zhQ5CiRRhc*h*=u$+cK;3G00nFW@6%{R1V?E(a)V|C19hBgH>GoXMJZRA)aK$m}9ah zj}1f3l5cL(Pkb01rNDIUYVC%cfs}re?>w23!pMw?ve>;174A4J1m_yY{+1YvRf&=9*Y<~0iJF7HQF_+#wJ_k<88cL|UmYYyhHMhm@Lyr1(+}*v5I7rq!lA_-;zP90cz_-KPsVsMT zbTrMy4>koixaB$M=;)+jwfEW8JK5?RF0*kOuI>N4oQ2fA_e7$E@u3qr`uBQh8LG@; z;KQO4t|TK47YLQ`qcY73b`~Fwb;R@D`y^3Kq)cQ)6xOQ9RTxzCJYE6A4|XVIn>S-K zq-6+b_W`smv#3nCks2O;EadOQo0tCQ**_37x8U9NT$vcom|n! zqB1ixf%L!2u7K+Pc4DFxnk%2E!P~`8n0Fjr(d8Sz=;~QaOxyuWqSt%euy#OJRu-+G zhQAzWIk@^<)w)1v=gytD3X5Ra-PFu%?dW((khMW?!M!f)#Q?^xnp zj>7yRy8bJslQ241cCn`F<@vjIj8idy^N#3Qbzl~V8jO&)B1_bDj8|eCN06BR9nFXv zDQEIO>tGAmXyH8VNaCe5`Hjd@@zca}c1Q_1GHL)MsO?Y}lR#So9hKExSqg5n4sTO5NYu6`~*W0yCOzt%=5YRsIey&p0vuAtFUlowK4T)=eFfva9B>U?1YdE{|!?|u8)(J#qH^9kU zMu!8xIa$m)ta$+(=&1jEavBTlJ#oVi_@JgCdvzjY$gF2G&?!N6TKwe6={p#sKOY(4 z!9Qvh(?-NnUe|*EjWSNk1Ftcv_R&`#KLe8Yk(gLVhSk; zOY0sC_D^;|e)rIBMNv^v|JuELPpq;PI9OO7-7?z*zge0vI<80*E>kPodQtOqthcBl zqN1AMFGFDJmguwuKyE?#G7qF_9D^`aE9x2=ROn5&9X@=R;NW8b2;SWPr>$#`hca!$ zZ&;Bq$~mH8olpEj!~4Sm~2CncYil33NqaRyV{!Oxa2$|K_CCq)3LuqV^%q+O39lm-PP5;aWG zebTQNKzFoEaAF1oq{7;zn^*)P9fzM0^R4=Cve-lhgCirUB~K*UFl7P9{ovgn!4yU# zi3h&T`_6ld0T&3!xx*zQclx!G%Hl}#gb%sMqaaM)fQ}m>2E`{N+#LwbNE4|n<8o6| zQZ~fKVgg;@FWu$$@2~5;AE`inyKP$@k7q}bN|b6&*T>C7xx^}|lwZC&IfPpG_KDAj zp{g&~xAbg}2wR4$ps45;7^u?~^YI&`xC_u#ODHd2O=Lpoj}>G5EUs!yB~j*{J$o9_ zlTgRWN|o+W0Qy3Nl~l%yU_yX6I@-m-TjC?FLLcZGr_G*TUi{irjc^=5il7^yic%DM zQLwAYm&D04++StH+Su7?!TW$*82F}RB7xq)hfc@;2o|=t4^JO+;j9wdxYL`&L#ku* z(R?(Q{pzb^tISP5z3ktOfvz>65sDCH)ZBbjy{|Z!LVnBx86k&3SFu0#!JM=);277o ze-IGMZm>Cpu!p>v$4X2{NTIZ+U)0q#wR9L+X+3N9fBMgyU< z{mQ@oIr4VWrk_nxkS?CW@&aE{gzV8Ve)>+|Z1#cAk70NQ%b-CF|0~k;gmPRO*AF?B z@Y#S73UL7fOSrnLYw3bBQb6*2vO9#D>BvT_>g$zoH#`MnX4k%b^U2u;?HIJ%;bXyRU>B`W- z5_dF$xZ`Xd`Mq5Y+ut^N{CzUstbws{{)@ZABO|l%tFp3tG;YQo3K8Dke`y~=56q8u z1~3`oK~&EfjSTD`2+ts&mqIxh;&+0PmoR;fS@Ug{{-VYiG;}w}=sy-Wc@39hEA#LT zbM)nU1Hv9%Uum&?`QklRnV24T$Vb(US5V+7qmQb&Xv9HCjdRv?y{_C05r8JbqEmfc zUC5C)10Egb_?>x4V0+#=+_j1;|2-b9TNh_=(UK)MBo#o7WR-N}d{jlfsTM^qb#-+c z^S$+8y?Pi2|Z5pNOGHR7p0jAUfM5RGLST5P zw1F5X)@4n)VgvRJ4CMI?{Q7Hik#iNQ3$j|0>CreoQf{JxvLAiO0(Y^zas_>B?Oz{d zW6PNg-}<0-uMu_7`s+Yiy!%VNrTZs|YYg$&=|K$;?`u|zZ2)hU^jQYx2rW~3+&e@b z+e`Nnj8dp>bceP3(Wg9A_872``U++|KT)|4TqXw6tY>UfdXw(B_Zw`}0_l%pas2h` zdstfDIC|Owa`hq~a?ix?fs&5UC|+vp<543y&|bVymr~J6W3i;^bJQbjZ)j9^LyBf% zYT8)vnS4D$JOC6xq*|zs-@kpJLHI3bjw`A}j}& z;pWzZwy&Fu%gOtj@pF`0+|0~m7()5)*Z~cgGVu?p=JORb=RRa-rx`kpNuGi^Hxp06 zef{UE`X@Xq8H8&%Cxeem3AYHlfkbi_7YgYzBz>vC!b=F6iNIET@nE)HgluwhvL>c!g3BiUK{1q= zb9f9rC>Qs%+h&J$zMnt!v&P~2wI1N;^G=~@ogkg&adH|hnd1Iv4H>w zfsa+=s=z}7hJrDmDYlhOJ*d^y2*%{;*Ry2To1L$Q1sa-s-23%NTWDHZ^0WR3GV3uF z7M$JI{RW`lVEy7Z8S%jir!ay0OcI+Nk6sY23!08jXP$+&YnP)zw9dGX+3_!<*Kfgl4G+1sYiT?l-=G$TrdOPLhCb0fB_%6cuX;IT-YD+k#2> zVS!g5MNDYmSOBxVctqH4K(m;Y%uo0pSrtXZ;B-WApv*Ad+FlXBtZ;0gAd8c*}1ZkcAW_ z`Qze~{XbcN143y#NRj&=$!L+&QB1bXc8VqFd?XvZDNXCWn^?0o9GWqanU^o?5>-4Wt1q# z{Wvr~+GRxHUs`H)Ge|r>e%K}rZY?$@abrWhjcb!OsZ8#3_4D)7bpFu+p9F;Xv24(t zf=_ExGdvTKzYw`O@s3)t&YLE4b9e`nY0F%hlGEDOBw(+nZ>^FP76Jf+|J73hma*9j z!SE>SD7TmDdP;BNfyYR=*AoqKk~fETLh@1IYX+SA@3~VTtX4*jsG|@Hh=~n-vT!M< z58FVo4z8WeC5sWd8{Q$iB(%lM%uHgLfm<`6Q+726&z)8)5b#@D)v-$nEt=J40S8DR zz|s`V7byxHUhPQ8$rLEfHHQOJO8{XiQ25U-v<||ya+!sNcb`{&QPF~|HDL)CFKQqv zcl54JVyjFJj)E_jh|oq#X*|*aP(B@;=!Q*};E9t26gVHYbDO{E7aUO-OA6qvPEjz= zGThs6g#%tvAMO|&7B_Hvou5BL)j@j=0r zJ1}E<-(Ic&dXU3FL$)%^x?&(WC6x)_UL}Rp3p3x5YzQ}34cPe&iyf_J+rYHXKKDC`Ektu-nZYW!hF26J>q+Pb1$QrA17LE+Cvx6O=O8+M)k EH#Mb9ZZyvbm?Lql>4bodvbGwY!I%i!%>9A3F~#^?OfGR}Uc$4yXV757=GY zZ8^rT+OL2YL2;GW_W*&g%wNA?io^@;K%no$3J^&x->kzGp8(~X7o^kqCVu}I`ef`3 z3p@*#=n_#2cp2?XQ$sC+*{R&-+JYjEI$ejKGewIn*E%ec*nj*7+IJqGp+*({Jgy!t z$q#;FlpkEjn@Ry})J}A_IXy z@~xGspunRx7KISFn)HRM>-FjsH&_q23Nh$|j{&aA5C5N=|F;g9wv@WMdb*$oI5#)< zk^&W&sZ=+ms&`Dx%&0XsqZa>7LPnLXmq9mm;(B>Gk|RiEsJoN>>6LN{yTd!NJlgmkP}e3{fsOxW`NwSg(pngcfBf zws|m$H^G9`!}8TY$ziRr=teJp(V$ID_ZW!-px5GIX8eVRmlSZt%-!9iT`zaEh%m6d z&j_V;Pf1R6{TCZgOP>pSNJ~%4ym`*ejm_;sX@NzBNRI+CGj8FtSN(<>vp<_eLV&=8 z|5f$NU?KrUdC&VOWHU72EoOifaGe9L2rLrF)xo-;MDHC;_Mk^DcTEj5lR9R2Wi~w! zbu_1s*Q|OiL@W69Ly>&(e&9=HH-U$!dqpzQ@-rZ)zdXXto3x$x8@I`WLlw4%s$5o$ z_`7hEaDio!%gwrd?B}HU?sk293YbH?b?l!Y(QS)`n`H9eG$4^L z)rDHNc;91&Lf=7+!~TC;&OD9q2fLGb*zl5@;~6}*mlTvhd1`}X?=dAz`x2-Uekx~{ zI9{BcO=`Xc-h);Wv17<=y^|q4Jp8UOI?!uMg3Q^K;jO zNGh}KO*lnW)wW(mt0H)XWcrUtIW9gYt1_X87!wu7!iOs@x|>{S?8YG-9pdaJtCF}jfBC6A9q`L2zNF1RukZG( z8RP3fCy7x8qH;h$z(k=c6}g~0e01U3BNRFm{h*jedzogMNPq(a8c2J`Y+A4&Y0SP7u0^yNSSn7i=EgKI8XrkWPaD-G0?fckwzxa4)k%c)LVbZ5t zn@#@o4$F4#CfH!j1{Iq17EmvMOF~p2kji)z!Xy}|N_1bd^ubI$3j`r~I;Hyg)K3&5 z1JQB=`VlwC);aqVQxxewCL|Anxn{Fmbbu*MLoen z2({2yZ5}hEm1XFz3?g3ys$K;AsC6sBcoQprI%-3BFKeJ_)EEQd$qZ{P?h&Rm(FQOL8UKMRZOxk6bXCF9n`tG zZYJP;2wj~1DS7QlhOXXzd;biP#mOWoD!C*rDB=qyq)#t4a7R z+LQQfA=B17P20YQASR#?sv~S#?Z7uFc?^e3X>|_HDfHv0+YKlvK^{9^U~~V${=x}* zDp(4J$|Jmvg^k(LCsM;Ic;u?Lb-kI-F8eghQ}u_90usrnYgA;VJ@28fiyz9I4(9!8 z7I1O~`r$a3JiNup&D~u|^@xh5iS{u<&cMQ;09CD5!kfp|mO@qp*!0aC% zpRO1D+*vGAEY)l5mEpaS!!q+S+okE)xTY#a&S#+9`NT!REf)A^p$3x8uCBE^H3VO-GwZiJO}x!}JE<^>_|L`{8oZqZbkp z_a6#K^W4L&2s%UPT{Z&U4O56>Vn*nyVLuXa$aXh*$hUjG>A=)!@vbV?*Br;e!}$*g zC?%zalkwO{j0~z{+H(*u1_teEEZp67<&e0@EUqt4ur}5WX@imV}Ry2%7eJ=4taWNI1Z)FwIB&Vo7?P9I9u^q z>zbO8_|Ga^Yik;Qej+SNk>I#EjKiZN-tXe(-S7*d6lm(y zoSfL7K7A@6sb6IP+ib3P>CrQ6cMcEZ9xVxX_d+U8s^sA$u}?R5sV3V4{T;>HNhTF0 zi!|FXWxXhW7kEISo{&Uz$Fb|lJh{ng%YNE~J79O3wIMWV_C$Gpes1(Vqb23%E5j-V zpu*Y3xDRzS?v^{uhYz^S+T4B1O&A+{b_FM=(4jg_I3!>bpaf%LzOVB-U@@j+qlYI+ zpz4|Ff~mjSmz;RJnF#e90zMs3$dN}&4W&-mVjqR3rlzXQx?p|%{SRn<{n~qe@_fAA zbh5_TYi)h($j{%h*q=FAsLB!Ca)0J#oQf=4&|6Ly#ItK~e$$ZA)SP=)riw%wz|LP4L;2+N>QWODI9^6KhpVoozq ziFPR>P|2S^<1Z{OO0mzcQXk~WCDQ;><9{ayxYn4i>Q4CPtwrr>BG- z_Ckma4SQxLam1(sp)E0lq6f^M2LU$eu-0BxZb~(%TS*ImV=GxmXREz-tWmxl)~S)D;&yyQrBNEect!YG6de`i^puv&6myhlM%5{)aEm3EM2t+R-gL zb;}f~Xfn9q^t4DMhdFAC2X7{BZt8(;SI2owG0Xn$sUrAB}i(+K@Xjs!ih{dciZQKuA85iAlYqz&YeAJaJG+A2GA z1jRNd^B%WQ)yBA4iP3{x25|*yoiQ#-wCiq}feqH$9i;s7{B*YD(y{UU^f2VqJzb6X zaC6fCmDhpObzS0PxbB94a3&$&XSfiMfMCWR0H-wk&evfquqd^_y6|= za`_4FZYBKdfE85Gw+f#Y0M4m{@D6ij`mSznpR%*5fcb@y#OAaeBd@iaMs#VrA|wSS znWOzyYRz1S_~~9-^I-*J>m|^6ehlaOn%qGqpCgKh9bYJ&A|$xiV`qkMr{E`Z$LEr7 zv?(d&69q!VF4 z@WI2a+PbuhU8qHQqpuGr8nyXK@m;VW4-XHeY%z-ILe+U6CW7xuV6*crgWc&u=6I?E zX_a`WY~0~QnZC94FBwPy9U~Wx;MrODapiI@!ZEu+{)a;P9QT7c`^;}bKC%lX+5^gp z!`bB;fP_+A&XyIefBOAh0=>fR{kr596FzqKfeA@UN)_mz=@kaXMs`J` z?=YcN|8GfWXUv_3)sP+G6A9;BAz5yIQHqQN%C3Pq!qK1?3WYQdIu;>P8+P`hnIfDp zqGRj6&3@=YJ;ob;m+pl{Qtf8%aA3nu6m7uQSFxb&Zg7-5OrlG~M_u4|LT#XtHrqR{ zNSQZH%HP?-Z+cPSdMJKmNAw#ZuZ5Q7kd#28vIrm z{w{^xNMbpOu1MIQ&&pl!*XE|%StwRwN_x?ubF82%s9G+*^CZpGOtZy%ul*LauSSC* zorHvjg+tXTTM1ij{Et4Cy1E@xim4)%h;MLJ6=!O;TmmHx9UUAR5qnr&9WN$@Q2q&L z6m#rT+Rf(Qm6)Ne{SRdE&Ydd*Ee8G-{bvbhcl+a$r+E=YHS}R8cg#JSC-$Y8EJT7A}cBTGL~!; zGj9$|mctodX0 zH+yy!ONO4Btq3uFS2-Aujg}f||48a!{f3(d=WO28eqO2Fok84f>hk0bGBmK6T>r2u zv;=NDyT#j29+^8Y&-7-SBn!)+zIQ@4jyi~4y`G!*_q=gSZfa!YGb~*>bBb};Z@Yym znz>5TN`Q_J#fivJwy#{W1&TikpZ7jip!hrZ2k@T@x9+`w@pE%0dS$TT>mUkv3dyG( zD=$5NJBa9bgz-S@MuQ}#9Z$T?Z}(wAx7H6F^217+O(tC)L2VljhgsEl!YU^cRu=h- zR{%RCIx*?}BWydFs}qy<%+EAVS*9Nvc`&y<-;+$g)%$y+>npE300l9Eo=M)!R}cjL zVxryqE3@8qqs6yFppB-OoS2z~4jQ7b;EWy_Np45?d&iz)uJLe9yi)t7LRO|ri#;-^ z&YqK(IgM&i3+g@_qP^bv39c+u<`Oq>;T&#`(x6nS0!00W4Tb9YMA`_w4eEWhXm>~n ze~y>weHER}_q_Cdjnikz$l4tN#HGM>+hO{GwIe+yolJk&R3&Hm3;d4ul}iANGpor1 zkz4Yj65ON|U(+y7NTw*0Oh6PFiD1fLF! z-?$5wWyhEQDmHAGC^-dCQPp~~aOKEqH!MY4+vHGB=%6-&7Wia$o};W(n_5ti1YkD( z1&V2$Ui(@Uaxz+C1tJPv_dN%*21WGpi74EU^*j8J_g$5@PU9}V#1Co=Fv%#~p7skU zSEBnwcjWql`g*PY)r;35JGW~UFXr2fEJ=mtW+yT8Ts(Zk*;~0elFG^S>0gQGn$uAj zRSDZQ!P3iTn?-_lxB#`lM$7p0v-mhw=4!vnWs2V$7FBsuP!A((u5#GengD@%D@#6jutN=n?HykCZTRArr zl%kVP`krdC>yd>ah}NWp`9k{K=y{XeH^|Gn|YLS!yRBv~Du)8}=#Fm}DfwMDH&PSNtz?MI#G4t-|>(qwjHSfG91-Q`@@ z+BM!?&C3e~nS4-aDqyfz{*Laj_NYyMn8_;*sDExgleE?iIU_Upvw&*7wBA*4{xym@ zgge75>MNp_M#c{{XyZp=j6Z*9?dNJE3am38Ika+)vZ^l%;v2YYm?r~~$dFiXI}p-E zE%>|6r-~2UB4k)*T_DXVCQ>8A(kpboc)f@>3X|v@F#!7DDBL8B1ort2 zT+w0!htjvK)AyUQ`H>Ob1B;~WE^P?FW<|}<`#Ud=45!|&&izXcby}W*1c>zU6z)6F z*=v^?0JRh2!Df^?C`Yk+h|Hz4`lEmTYBRzcexkWL`z~nDTa%@pe0rmRM`Ez7?EB3P z7~zZDH94*J)9Ivlhg*XJBiU5ZVPTJR*m!s(h*;h|Me3A^gL+qOWhDnDM6(p7bRuF# z<(X>Wfr$>UAdp0Wy~wrcVgk@KCl*?&-_hcI!;fnS3MA7PEIG(G28001e+gaJ91T6g zf6&ai%Z_R4sY(98@>GVgp^o4KxQ(a}{zY38IbZ{zjSChZbHaJqJe0`!Mb&)ss z=J@xM^{`ewfO)(5T_OM=RDy)qJv3Z8AYdgcTUBc6smqnBq+&v8LoN{9=5x%{Kr(1W zy!I1g)p=PjAt{LuMS~>$;t_BZbcHJYuJ#S$^IiX+GCJZdVxu=32_D#J@>a%gh6yW{ zd@l#skG95^#X@mB0HIoDo0uhoIN>U9d(#Z9?OK+v%7q4M#*Ke0LmqiUg3`1J%c>HK7QeB7E|DlsA0VfzRYr90NICV zks0?=1U$MPihd9Kb&0Ls{+`}0nDTo2V^VD^>y6`F8R%*QM~5>3s6{qT&EwoEy`>TV zf!tOuR>H=&vG1cSAK&|{o$N%n#JaH&K*rCkG@cglxY_wGdM1m5hh6l@gm=P(g_U5T z8#@nCAFw~mXJ*=k#l`b5b8!hNP~_G192-;zS~M}aAa3Nc5l$SLu2iK-MODN2%lgA+ zLL>rD@2ul0dAwxkvYB&5Q#|gTs)`9FuzyPOtl2E^S`z6T8h+B`SMBPaf&FN3-8C>q z=eGS!FmiACzey_K<9O_1 z=X#&WdIyLAV!OIiCuo7!5m`n>B?rJKTLnL9h1n}0QKW6{wPmc2cWXfa5ze4C8x2QO zs$zz6Cz+KS)a|F@vNC7%_LBGZ6ScQ%+t^TwJzX+8ue{R)tG_&@g*YuyT5fd9y81Nq zULCw4b-?(SUD+9mq^j0Zul%MB*3aZbzYQl17fH^rU#j1dp^$O2f1RrOXoe3^!+Ta2 zDJ@sYL#bBpB+Gy74t-<+mdNZ7BOr=n8ViPcN5vx=QFXvH(c2uM1{LcccQL=*e{tSMb~O@tsb*j^{ABnGe3~<+W1M!XtG1!DhHe)E z19`2Gu$CmB$wC>b|5Pw8uq@bj`ejr%fcLT)cl_J1Y6WPPpEG#EG$>s9;o5b7nPk%c zrbO2&ZP0A3_D!tQ?Y6vbG}(Z&rOnSg`J&p?VX3@)WB+RiK|L;_^Rm2*mKIpZry{p{ z?gur<+43VGLufLVkK{WKV5X-6By#;WXOk}ZRsfBLA0HGCS`)DxlIKbUd`jT_YfTe^RE{+KRM4Q}xrPNdUKU>YWEmB)rBZ}Y|n zT#q3q=|zmLTCeGu_*B4UaKDxkz3~Iuhj`lqp3vLf;L(15I`A7ruafz$BKEwAffn`R zc1mUgXM?Z*>R@3cz|tmuLQ0268y%i+Xnl^P9?v!buA}Ar2e;zmL-)+8NdpX?jptGH zq+vZZn=n}}y`)5-@yeo#3i0+y<;khM;*eEHYI-`9Qq*sKxyb`)N!vZS>nBQ8wf%s2 zNJC>s8YD+XhE`-SORl5ScYD;(xA1G53zH&RQbpxi;S=rsc2Qid&_HKh&sQF5(gM%rIn~QZ03svTDU-?}yIXE~Dmm09XfB$~Foo4EK ze`)u4;aPB#=C#>}F_I;SN5o+Q@$`HPr~qn(DiliJMM&EGNd6)9C(_JvdHlnuI|>0^ z?ry-cuvmhE%ga$#{m0Qx+H^hJ$elEpAXc_9ocw7usbyiW(*&1>^?sRA0e5j$*I0K# z-Z|_y6d*Ie0IQu}#P&u#2E zDuaZobk0WMCQIMKjoqmtw3Cc4`9>Y_4w{8hNf{`T;81!6-^+)SQxb8?3Q<4mfN3z( zuU|9!R{HZrFiQ~_S408?CBF(7LJVpp)X;hi8kZ9R-sCX;T@)D=wHuJUlM)j_)Gtdl z2?Aof3*xXDD&_zIeWAwW@jsqa>-=~|k z`Rm~~7mE!(y+~BPmUrh51H=Av_mkCmbYizZE`Or2;NyZ&+?(!ilRkeYXEmjafI~Vr z9L~y8;i*OySFKDq_g8ugZ@0D5gr>AWm(?}Y;dV8 z3w*+A4hnt)SGc>Yt!osWMQ#M>EYTxM63Nt}{BTFd-QiW`x>$i1|2F#OP3c&;HJZjN z%%x}U&K28DhpMw$MZya6I~Qm0Rdf#DFuA-giL9*HX0HQSP}%qA!gs1c^<(<;6~<@3 ziA-Ck>RNnG;*ZC*#Snu59@@ROMs@LTlxF}Q4TOl{-jnGfv^kOizqJKDy{HMzG~7cs z!a`B#DbY56m7PHoMM)H^ALsGB_P4M;j|~j;EL5lAkYp4;N>P$!#)YFv<4|RnPZQRj z4=m4+8;Y%koHPU^P}q7?^K%fTmN9R9V?S9BrKAFZr0Ar$b{{0=N9DtrwtY~JJ8G#6 zRUEs9P*}|E9isu;^Ka>uX|eIk`gZ88{gdvk-H0mC!?DnO*x^Ce+`615?toFbJDZ#4 z-X`V83lI!i4qojGl_qla7M~tqKbZ)4^2=Xs`~=9Tdd)38Q$5m!Zpqhx(4)OGZh7=O zMt*z@5p>(s{P!ZBV&g#X7q7g+%g`39l&-EWL~ch_nxB_998fO-&%I=s3I``=*2UVr ziQL)QSw65iu{h^f9d92nRC&4_^SUY(Qqt3>D?SaJjteC42*#cDP6FVaVhYl?n*BX8CO+e^`EWHr*n= zvG`K4vHa*E!2d$tcSTv~`0Z=01@090^ye6MqQ?*Wb8pH-8wo*GhuPLcB%$MY3^+@w zE^+|A_0IZ}qoZ3IYy|EfAr^nWrE7n>HXQjbN(Q7C zm#cqYnBxDVy2`Da7B5Q?76woXlVBI zYIoVes_hY3S&vw!kIwSy3?Fc1B=8v?ua`tYogFWIM9uZ(Oj3W&Wq$MUaD@Uw)VqeY zwj%$=>-DdF+?dJq=F?}&pkT5DXC}N#qBjtPW7$<116hL{Q*U@l342)@HV!R|e-#zs z! zab*0TYY>;}93oAFp04V$E%&AhK087zB|2z5!kBV#CA`>a8lDBaVKa|z3DzDm*1cv;;fP^&~nxk(xNv19>U6QW6RCywO zmfz_*FCD${8$gFQV($kmmed3m?UJxiBrIBh{R7oJH#b-LM2-hml8}%90WGuIdYBN9 z5V!EFKZoU{(4z=@L;l{ZQPI-SysQ5shhr-P4egMYPB!<1xZlPsaZC71ffC zPC(4KVxXw%c)c)o%ZN9xl?jljuJ&i80qg12Sl&2ZX&E~5_VzYVr~v%{5;D8XO+2q= z&Pt09ov0{9o8OhifjkYL6Ka15Le9_@>Hw86ulJ!fM8^8>U`lsP>N|}x)x_Du{rOmWZ?S1h zmdb;%ccu4mpS%52`BhdaxjsUxb%R^ct$-xVmQH%zxwp32 z;Z?}UW#BVs4q2hiB{L{i0VNP{HLH7jKFqPPvlB@p9bq={ zL(uihS~5JS9Holo!vY4reH*jb6ezi%A=^kluBlzRK(8*(|_A;S^;IDtSlBV`RG^; zJc$@p`=s$<$jIo>$#)|Fcvf(R%kp_WrHhov<_k3q3nSVC$8rB5PEFG1?_qiK3CuA! zq=Rvs3}&eR$%LG|e82Ap52`OlR1Sq&&;a%Hy?QA^gb#T<5N%j&~l~Kgkz$_wZ=E+|4=Rlt-&K?uh>riCOH}LV_2{)zzgZ?#l_TcZhVsqzF;M zrWSjWc|!y*U}$Iw&CaHz{i&-Cc#S`PP{Si2(15{+h7HcYzpxp;Dr!pKga}5z^7bUs zNWZ#JjrMM?wl+3k5OqO13F&JO-Rz62yKc1(2lx=ME%Yb!)9~v`^+b5TUt7figSnSm zGolY2M=fC?I09bGFjPT@G4T`>ZijkVL!3C011~7ZMTnr&o60b%z@miTF((@vJ?J2b z*^+${?X@y@tb{Xl)%zb2C%H7 ztkr&h?U#Lh;dZ3Px|Vy%zma)GgvNyqodGlm`8{56FdvMJSRplX5g@8~tsK}Nd0}fq znotn}MZMlRwJ<4QLvUEezV)bz`ggA`le3Iv_m`&=r<0N8*&Zz-+fTyQ8=*HZ10IFW zCuZ#uv%`hzR}~yc2z?%$E6fgz2GSY8C%;I~&h72%>mCGL8bfDi_PKIHB*1T)Db|!T z+(;w2z6LV~wae#VbNOGhkqZ+dHHmc0Zk%-FRRuo5jbxwbIx2=Ked!1q`fQLm2v07A zU%ISYoQxv&P(~;snoTeWn0VY@`Re41jQAipMH;_rCw2g5AtXHfK4==C%8wVS_>>~P zA@5R^CdxB;T3hv?SRnhB*}f<;#cBYlg8Gw(-N)gqwn*` zugCrUJ6gJ$(~EJMbio=-R<>>5bI22%A$YhF9t&h+kEsA;o;@Q`N+g92_mrD*hMCcovw^$|27L9XCkDyP)|HUK7WQ!500PtD4V zns61ruu4iv!IqVmZ=9SY2zvbc0i;3=0ui=*OoL?JXH^%f$qRfGf+;Tk02Fm!>jxTU z%fc=9PQXWjL(j^h@sZ$;K$U}&6WbCP6c|8 z_zQ%FMKSE#H!eia*ChJ%V&LV7mOY%&dA? zb_OJpJg2sL;=4ZiMje|KhFsn4&Gler9UbT-=d>C-^6r-A`Su`wE|l)(*gQxcdCJ3m zeP=%!=4wCZe3~Tc&xa4bJ_kBsjEpS(?%Pqc-ph@j`UeN~gv>zw@4n;$I`B6EH(0}Z zM@b-%WMOG(ZfP0X{_(-$biM0!$BH$vtUG&c*aL|)2C?;zF)=L7+|W+A=CLAc*Ks;NkSLcghmU2(EoQ%0syA4%6ZzM-mW%0CGC0|NZCA)@^r) zrnjK?brUz3u?Ot(#BZ5#m2*Mi>p`KZ1*9bl+Fe&T%%u8cZGna1U_1g+cY;H>N>Th674=oV>kaG0kRho`YZ9CiITo}o)Vt{Wrs?< zuKs+Ld!qyZ`RXTOC_T)>^>4G&^?hi}aEQ{+rm8wA8X7*n()6IX z^YO_!_3iQQbkfXR|LJ4B{q0^dF)_WF z297{s55)PrJQ^Z+&&#u}1wfm=US_>&WK?y1eEw*)vz=3%NoFq~k{R~vspG{}gcTk1 zS>Y>_f^Tw4=$`+L#V`?Lq-b;y(ro=5Jh{*gtNUwgJE`SZbqwZV&(cMq1r-*n49~&-!3C_n9Hvg2^Mzw zv&=hQFX?Dn*IQTCzJ$t8nuWNi%HOTH*Dv>c8(RzstL>p`_GnsZ48pdp_xFK-tp?b* ziE9)b3b?QG?T3@mVR6|W@meXZSMwV=0WC7qa-%>{{sCW5u<>cd=T1fzZB<4G;DL^M2R9x!_rzeooaF&QVm8$4@;Y#Ix0nf7E3_-ggYZgOdU(TW{9UIT$HW3v zi_-?$ac+MhB0p8y;>q|mk}_Fn7#N5Q8zL+Z7lwV$>9GL%w$dCKZsHGo2R3K{0sPh9 z4vtwJ9UnX%qznroIPX`NDczgU#UItEyuI({dAM<@k?(?3z8R2FQhuqta#5eu&ma(0 zoa>_vdNcqOMpBkGxK~F{(+T+i;|I{x%*&=fp4J&j7n&)0vpd4`PU59{xb=efU?KbLB^3nVZ4 zt~HkcxjpjhtbMLe%<6lMJQQ+A^2Ee1Kk8XOQzP##{o(+x5|dzb$;i+hmWe~j_*mo8q{o5Cc6f7uAW25XSC$Y(T-Pmm z*87`EgWbkA)Z&6b49N)HUknAEH5u)%h-Wps^(hf(~~7Zh%EJ8}3FM5U>vgAynp z8*4wa#(Ir@ttvJoDsFJu!E)s|^=yKlZ~v&s^=_(O6N{1wsc9G<=38qUSG|`*qizYj zu*U^0QEUYe3Thr3OP|Vt`$r)jFQTsX#nR5Gj@ib0FIQx)cL4c>-zEMglYib|QiGWU ztfy5JBK19daE#F0o>>k+*S9xozIF79U_hp=MEAIOe6gASIV&q6!Tb2&A_7oh<*!;H z+1cNQ$W{TclKoK!jVj0p&d%;bRSi!>HJAS{)4uXk!}NL^QhNDdc<4X}*IvdRag77GFf5ZmSU0QH4Oj4k;QRe0eD-Vh zdp~^wos*}rph_56X-V=sAdD?9Q!DVW zUEp^a`x9#ONuUD-(aM7ctPM)YTsFA4?k-d`S6%C~qR?fIMlr#}dD0JEkb58`Q5yx z=$U@iT&&e{lK_Y0A~bi#ik|Lvlzt5%t0$jcR9hy3X1SS?!$y{k$^`rgO(^NJ9fItdADYhhyA%w1_1@7xHQ5Zhoi(_aNLbzNz!A2N(=MfZ zH-0e_O9CHi@j)T?6Uz3$3uRUcP7somv>WwXd;luG|MxE<@M_x;ko6dq0v=-_%y<3MxE4m7}HXa6^J@hxlQbW%?2b~i7X<3ge! z@2e&6fVF#^!WZDo!|120(xJ@!;WW1=fM|#rubW`Qi>x*in7rHs6^Z$BYE+oY>3G)u zOR?q#GWz^@W!zG%KPilMx}!aIst*1siwq7*Ix#ZFIxpf= z=nZY80tZ~O#3&K~450o8tZ=9JN6&zC>Lw){0!Q^RF{VI$(_ zJlajh#dT{n&#rVZg93v=`d$<)-Kp}SI|3sC_02Mh;~M3s*jSPDOtKssWd}e-mH4*r zbvg=l0Yr=~Zo$|sS-|@GV)NzIHcuxd>hPvdr2vjK82Wxv2bAfc7YxO5+Wq9g?JB=0 zgs@^ylHqOQrRF*yL!*Il^2L>{J9%hqxTmq>x%&Z-hcR?3%r;Y5ZabWoPP^)z28M=B z=Xn9|NF;#03HEzk?WnLDY(`T!QS{I5YJ?bU++>sY8R1#vI2#)zMf#d8XiRbttG}I} z-UCT`AcTu++^qE}mEc9#et05Yda~Zc(3+x*RNLW)%W(UURIXMakX_7yA_yb_CnyxL zuoigj!?sFwXA?A;)XIZ`R^SyGrht_J&^Q{?>^wPV2)b#+W!IQ z5l|K7@Tepla@IQ2R$ZFt1;3-OeQu@zR9Fgn+1TWBO3a%OdGk}knd?D;2do$7ypmP@ z!K1NHNQc+{bE}~mKEta-1*Ex|TFBElu%t_MQn@T;DbmviaB!0&!qF~>zKjI{nE#B2 z`~37b(L8Xo;#?c8pUO5No7w&@^e_zm3Zj_2K2=Ht>g*lEj04Wq3|$?_w|pc65=5@= zrxE-39;Y;P2H{~U>g#1F^RQ)><6}al@YRPWalo=AR7-*%KHP4eTR(ny62j%?Ubk~e zXdvU4ZTQNY^gSi?GAm1}@>@n`%vKp|t*1|aXfGu0fN%&NCQ!SyeG%=g>mxlKI>kOF z7M7xjX{ZVy9LVt6CA&mb)>z8H*SjQu5?=(>PW4^yJz>AFw_$-6>R2@N2cJIVA_FD# zcZ3A9kHPQz$N=(H&@Bwu+ZzPx8bHQ|N0yZ>5_KYFE!EYfWI={KBz+sa1Sp1ktKSB- z1slZa;a$p&qBh9*Ew=uR?zRR9@|iT{9*${3X~kBX@H(C!IA}FAlTywu(D-2-HL*(ua`|6&feZNtQVQ{{ip!z zeG=cD&Se6P9tx4lX{s~@!{z4wGP&Ny(e?#SFTQVgqx+jcr90Qw2 z@H3SOS843UUUQ6 zFezT$Zruuc2c=&S99J)E98p^3E#NfIR8viR4>jAsz+l%FV7L@VV$t|FN34(c$8W6I zjGmege*v18;`sM)(0ilHy9OTHi3Vq5a%2>B9l!aliItYyjxTI(JbZ*ZJw2&t?^qx> zffW_RH_MK)rgCy+WZdvc#l`Z&LsD1oQq7zn-8Wqn2=G`nnmrf^0CAI!Q7$Yyo5G;B zsO)fTcx0sK_Uu33@bF$yVeoe}fjJO0=wr;j?e6PC2J{}%N&r-Qd-v`BnMM%yk+oko z1=Kv?W+VH`1mGm5c6}8PkWZmXpwzAh^gZ%&AU1!T%A8|3`t`Q5s=FHWH(Nx~%AVOB zKU&K61vnZ>9u5nX(k;-)UXAzuo^Ie=;i8{kZb3_nK^k@NqZj6%x-tT#D&$VB)-E(uq{x^N=XO>spz7l~1w_Twt6E%e_d`^D(ZdC!9e3*b@ z5)l{2C3e?Kghm)9vcd>-vk;&z+aD^#Vq*nZ6QM(u7}Al1P2z$)cr7k#a|`?QpxdV@ z2G2@uG+AzvbJR>x)Xtd!WaSd=9w1)w_LztPMY&{~!xoGO4=iRmMW37G4s1WC$G3Ec z%Op`j&x0@Z`D*e*$1M*x(_AjA6d)$|(#GV@? z&Tm)SjL-V1*f{M!BLR}o@7}2Ph1z0-fR8bz@L!=tA~Es`>cw(bA}A7i7PNrIGRA8! zQIQj_07fo4IYbA-I+rDyNSI%~*!KhdiLFFePSkd1$`?gT3OH%+xO7b%^23D50RIyn z|1H)vQdS5SxpVeYT%Oe14jgK zmcNE0_W;{>uI^U7R7c;0 zYZP>djfjlwZMhCc8ZGV2z6wwxFsd=#IyH5_siY$r9wj5 z7Myi-sFe0#d2BPJDn|RlO6A@1uaUQ>^w{ zdxfj_KhkgrM4I1G0x+hS4fXJaC>>2`qqw_J4xo z8W>GAv$c%{3X}7_+C~8dR9<-Mc)4ryXelZ1hFyt*e0?ep=~YAfVV;G#r~02s2383# zws(jDT1sC90HQbSD9V6Ie`SlYR^+6{>YQEwi?%n9#!4WNc8G z=Xom0JVZhw5i*pqnNrAHl*|#LgcKR06e&Z54E1h@>w2F1`QC4>=Z|l#?^^3#_jQ%? za3068@4sQ&w%@k%%}<)LJ@I@n+L38CCaNB(uKw#A`_lZ|YptK$+>c70@ewS`S4+C{#}%4(jQGbOQJ z!0hXr+szQxcz^W^j7l(9@W@14*P%kH8#D#2N${C^s0 z4pvlPs@g}vVPX12xN-eG=M#=dV1em3^7GUDfsJuhp4;vV&X>y5Q~AI_0edf+_n6h0 zfwam2xz}ZLo64^8NAjIhH5S?? zZfgSKasQ4(Oe7*3^aTd_P!RU67(#;IJlXU zgeN&=Wnl0D^M&`613zu_f9$^3Re51mZNBGjR!5Gj@gSA9#EXwC`5-lO-5=`TrTq53 zAQm*$#11~btmhwOUCDJMB=((IViMwrpdf{lGA_|r1^w!>^_p*$_Vq21;3wbmyup6e zkKMk0IV>a6k4E*JcuI(yBRK-7gM-7z8LL@2zO2&yi7z|s+PTV7g#p&eEX^KBS5PEo zVvVIvp5%b$C*A)e=}(0(Ri(#JV=v0vM(fJNhkAE%uU~J%{8rsTL5-Wj#(rE<)wG!Q z@A{me`e#1|o@)Lqp9+am*Syz+>C4N17gg^?Uf|s+N-wyuP&~I7bwpg^kCU)(jY=Ss zzHW27@-SN<-izDQ;H^7X*Gf=$g!7O5j#uAM_wnK;`xEWY+sDq=Kd~DG!?HbOp4p<@ z?NZXt1DM0$MPQx1l+adTgW2CeS>d-nSJ`oy^{un0=Ydg_o@)vSDm zjO1cdt$4a-j=`h3iErmFDp_uBd-vn_W0?-=z|iCHp+ohSp49-AoNfT$FDxt+Q1m3+ zCLTR9{J_q^5nWeTXApe_gZ(TBS}nHW6e7_pva#?7aw5j{4VZ}&lU zAR_aBLNFiq-q6X2W!?X2UTBvDqr8KI*Dmp6+0Rxcq8L-O4%+f>AzxjY$t+aAXIdw& z4t7&Hk)Ou0(7NHu+XqQkQYc7X<>gJu3qLwLo2kNi_xlE=)aD|H@~2*v1JQ3;D-H0eP#L$^=k6on4D(OVX9_ z3vu+9S2PbjPiZ;Wf|74}vAJ0LvfW9Ctg1h~?+c{v>TD@!KGyd_ig@A{rS{_;EZisf z(za9#n~6t}>IQl_Husk`Tqt)>O1Vzw>*z?$b=FuM?ig^tYPNE7)9ZhE=+l1x3f?=h zMMa1C1U8eKrKd|)2p{<8yVoZ(aPwke-PXB=+%95hxM~~A9uyb%_&gj4V8a1Xmcv@& zj`8syo9G-Jd(*FFc@947W#Wi-EicC~qRr;!^+#}?|BzQ{c~hLYwVktT-n7@h##2qwVfhSG!Ebq6Q^`TLgYr6qN`IAMO8=IP-c zZ%reMfBu|y(rhdJ`a)G4HLQ^45)+f1x=Kf;7-o(bC%M~XnDBNxEHVCoQZQEcc2o5Qa%$2wQ`m;U9pmkg&G1N4D$+7; zqvRMtJpZ^n|J{w_<(QXv&oNlAW`wuj( z+#A)sBOM{OzMVRN{)z58!!ojaHz|yhfg!!OklO+_DqmZ2_~}b2M4*1zbNto*Cmw?k z)-!@GKK`1MFb~osC++oH6c_xvCeNdK6bdqr;C(86HQZaatG;)1GBTjduzS(m{AseN zwh25?N3p#|NR)=ACgqn<2fpLnd&4|LOzyn7CTkYFEMrhwO8Oi?CyvlZW|a1J_tFaX zj6b({HCe=WK0j}7H6tU|8#ixyk36T4aqlx4-hoAO{we3yOLxHR-V#!u^|N}{>ic!( z&5wRFc_-@9xu3~{;SwwYG+W?w@ldbMOuWarcm4|QrVV1R_V#wd(jb~X4%4PzI(B?k zNy7-=B|{@uVUt@*ROV7`6VxrY&mVNYj;M;|zdR$kn_zc%UDKI!68Tp{CfQK|e4PA9 zI=VX<@|mW$o3*7wgVX%0aC@4HKl$aKw5(<5E}rYFQFaQy({)W?3pq!d6GBm&!R4gK z5$kI_KJY{T7K<`#=qtv*(UJ%xZ*0ScnIa3e{h?3nPBAj(bMNDjy?MirO}v^ig6lJU zW9~72X=)-$L{X))ChoWS4{@vw+HlAK{hS9THULRJ-;{;#A(9yvTnm(p=QC?*~!TcKPurb zrcopRX3yuvaoA2sIk&Pd!DOWmvsU8bm;j;@w|aW#NxEOIXzhVbYeUJ-qHpymS5YT& z?DgV3a`dQ_LnC$fLsLdrTJ1galV4Ex7Mwgh>^_t_Xa5`^+@SK!A9aA$4h#%TZuL!W zoS%3*^8I_9_GM1{;hK=3SdHz(IOoqmaN~QuK8E!zpq#G#=gVP0o)m_u+~jdCd_xNQ zHRWdxFK7vY2b{y|qTpTt&j?ZLXRKltkL!l2&vsV$o~Ulj7IFTq>^i=9U(_)?`-Hu{ zJ%_Xt^}yhu_tK1gO71hFM4K9_j;#fHn!v2G^AJmEX{nuuN8ztiQIV1L4GkM-XJ@_q z{JNKawUuJ}`Qbhl-!JqGnBy^mfW@2 z6HqU^@S{IU@aVO=fdMX^G;s>jK<&Bh8>tvBR97oQx!;kc72C6%*m+{o{0wglA8ck4 zAl!bAHDjD-qz1L!l`B__;w!yI$cBRFj_%#Nm$(il0yva|WWrWwiE1!z1 z;)Zb7usadn{*eT6hx23ies+ZJpzKp7GRr{;KZla7-Rip@VGq`~wb5Z%NVszrUIO)a zm&{B|VY;eotS8>wda*csE&=7BJ+wQ*&3Iv3Hf-1sxHuRf1#x}8MHww7aR{q6qLsiC zwO?JDHG=?$cskB=3v;gr0;UGk@aV(C!)J!hPG=r}eJ%RZB{euwBqk-Dp9NIrGuCQW zd0LE6=YRZYH$T~C#p}UAYy7Kf zs8xlSoSccYtZWJAH^!H zZIlWM3K~TdY!rJJ>(=G%{mVYrQ&QN5&ixG`;u^w&=u@Aimz_&$UKA2HSQ z*zH4Ui{s$n;EotRm?jxhRx~v>5);}}Q&SRas{(7hfl~2G0aH2dwIM6zKB^}Zo;;Cf z;Mo@qm1Np@!(+nSsxym%Q0Tk$7H=R7b>Ji^dHhwn>9gUB@zb5b#K2}W^IpGkrgFCr z;fP4J^RmLiA+-n2c(w|jX8!gedAA`L+DlT7O}v7F+U|d=&n^;%MkK=caRUi@Ra1rI zLse%;VQ6xz=I1OeEXYV#u3ps%K87Fgo*Ga<3u#gD0|QKE8+5w!9y z9lX$#Bam9U+uGRN`Z**ZAdp)YjO4W;td#Eg^XFuBZG)Z~&5JymR@Dp6+; zYXNVg`1B8p`5*mTxRp)^PkddRn~Q)79uQ69l`CY1hK7FMx@nFbI~I9s57fGD15cR= zKNpyAGQ#94-@1|=8EI+mjp~l8)xkqGp=&|=f|r=KZrw@>gB#hW>z*|mNL6bK{gi{k z?`uNNLjOC05Y>!G(ouHGlmq%@EL7~97vU6iObD%Ir+OS_M_-Kh6m74nu1-o#y*SpE z*3i_X{kz^1u8fNQ-|TSbGrxXCA}wIGm^uZ7XAWONFJi zwzZ+HnjK6NbHv8FI1#|IlZ~2&CJC`t`DH_chP0Ga5;T?BSRFdGf0iF6r=(=>6UQD! zY)$<6PU_bOi;?E(&t;gV^*}GBPr{^Ue31#Jd-6u6o5fgB7JilKJCu?Uqea^9;LG(%b|CN2(kEtrUZ#*gasFzz!AwTZy4UAuCTc)B9#wip%q z!dUd>@USgzV|S;Y*Uo}`3O-Jmf2l|Z@mjQQ*>)ypuWw(0gIzjt_tDhBDbAbz z|C=py>v`Ez@6j-&XJh~*Pt!N3pb8OvG57?Pe%X;DeR5P3O(d- zTD75T#a<)o^joFL2_+|TDHAt$fzNj=otdU>p1hb`!%ApCHY$dB8a>xuJ>AZ`H6X&o#(SijU4Q5m|X`19va z!lO3D@#v8wA2EZ_mL^dc;C@d0QiA%_=HHr1+MF`u2eWg=R2dp@r>+_)We`Unc~ zCahaRy?@y=>vPax+fBVqNvYnR%y z$8bvC=zn~_7#b4=nUH0_eA`+cRTv(i@YfritE#F(otXVA&||pfa_HJ}CbFGbi9=*- zO}H)BhYufIzdAcRS9eLI##~%{G&-VOU>2x4VT^7f3ZEpJp)vWqE5hSN67g2zQFre; zUMk$m!xLXA}(I~@>^Msiv84hS$+`hyzH097pio;`bBc6RD7kKawW2MPbpCM%PF8f7-R z>0Ku`TK;PjA2DzVZmj>m+Qqjzho{`S6~A@Q@jKX{#ZR6@@lu!}WF$sZ z#%2~4S&q%|PyHqgCMb@e-KNa85;Q~mw6r`~~=OSX62yyx{I5(NuK_0 z2LHl@=*yS25Db|(IV}#u?UOlahg4Spsp$EO7ZmVVCqf?rb_cd0%k6C_h+tb~Kl#3Z znwpwKqUV&MuBoX(6r+@L>(#TcCq8~&C{4`l{{8#-WN5Z;L_~ys_F=a9X?VfChF?_# z<)-KH+)9ZzZx$3t;>oq_PiZ5c^oOzDR!rwzJaT`z>$>czi*a%E7cN{F-z|-xpC<&c zI3^}0JT^8KA{uuf49^&dhc3(!p;IiqXOF$BYhL-_t5-)VZsSkK{W+|{ozX*j-!L{Y zN%c|1+U%SZN_#|Yd!U}aaSNN9ufPAhKpOx~P4V2Zu-SG#WqQ7@Za+CCrK_qLexYz0 ze&Nr#xdwO_^2TJf?q7U#;ti1=aIc(iVq;>Sm%I0S!R!vCkD2KROSK$~XRHK!0yv1L zt{%Xwt)(@BWZCliwXp{s#;J}Rp~olg53q0Fo2A+BsmzBLh3Xex^!6zz8&%?t5jd4D^n8nAN0Ymi|z91aC zQ9Nj5>e-=3Uk*~x%+?OSH_Zg}>sZCn;?O_8PoS#N`yGhJpw%Q7U3A0y_a>jtU^EcX zq#oUE2{M(_@#9%1-`>Zv+T{8^Klf_yCBNOKNtUayq`PN~jk+3SN%pVnNVA=O#pVol z8l^o-W*nB|O00Z*5&D_HYxQfQUNXk265HV-;eY&eYk=YK4kqTUtiX3DKUy^^ghcJv zbkYNgx;4x&K^JylI`Cm;UI$YtdH2X~rkdhL8pTrtf(C=-wdH9h0sZwKAtx>|YBQ?5 z>c1iZ_(s!-370XpJ9q~P@P)v$L&V`*ytQq!j^geiJk4EgEyx~^;>rm ztd!9X;!pK<(CnaI-NQ6lRCwT4`h#gNEWY)d5>=AeM%ON0*WW+fRF-~<@R`ne4vSt* z>Z8;zDwT#`+_>tScCE%+*8j2;1+D1`2uU7RA~b>HKY zhTnfvfAYncT$E@IpnOm_@}dA?}f%d+XPH; z$+`DkAj~(f3LYgR5h)ajqygQ9*SGFmha#X1Br2+?E{2qY)BK0J`pUApvLsiQ-14iR zv2T}MqrSOMNsWoT!1{J{4&Uwo>k9;z);1RScWp7HA1KSrROR$2kSS_LMu`PZxWmiJ z8b92wqUo$ZDlz9D0tmW{K`sfSIgE2iT=l%+fF{>yoZPorG%kq`4 z{p3z3P)iR61kBQ4JzZ2JfojI6T>jL1dXm>zYl=hB$k-SKa+Mhd{g!4%fL`prtar&z zTvnD1o3sh3#v6M)di3pvZ!C$kLK_)-R2qM5_tZ$r4gB%-+17x~+yAWXX!@}=YUR+P z?Me{V+@T7cV$_ZV99dp%XX)hRl=;;p&xi(b`30Ofm=QkFdl5Z=OMkf-8hIVD<9yaF zZEYIZT3&#@?>#tG=qzwNwk0tAeB$pNMT1w2KhA%8ODw&I;zgrz8hlv~S_e7u5$n>g zUCVQqNT*59Fkd1oN7q`?`f0;P$~$QBIpo|p*d=V@zz@30oAGh?)r2T{3|0Nkf0rl8 zlE{`4c~9g}@#2%7R$q7D@nS*1g>y6GmG4vX(i~A3a34T?7 z#kOP5`=LcqeHQQWKRf78Ngg@XgVQk*TCKy!P$vSB;l+Y*zO(Y-(TS85+l%mk||J3Ba6dyM38b${#;|oOX*%L@k_8C-WVQ59IzlVP11xjEF3WG%3>2G`f{s zDgHbxjD*Hj)Uy0Yg_x4kHWb|2cs(OuzEF|^=f{~*!xi{=SivChSE{Ia_|vC*{gC|p zHtrJE!d$h4_0_{+q>79Mx{KNm4t#n-S9@~p8G!CX6{qT5hpH3+5k|jJ{Y!Z3&dkmd z0Nm`y`i;O$4bBWiGw&pPK2tn@q5mgZUUW~4s5x$cr@1cY4q^FrKx^}}KGBb#0}R9y z)oRZQNh&EQd2d-n%XK!8ezWB<(Ueo0nNz5+E6KtDOcHL-jey4BZgBw>tQ|Tx7vz$p zubZ~X(W6y=ej9?*{Cv@;m6eXI$-C3#Am|hAy{R_Vf8ut?MPR3CE_W(l8C?_}%u7DZ z1>0)gbD{P-_!;Mmw$=F#hNdr^aTW^|&l?s*VUP zTdp_r$bUyXzW{;5#i)tBC%ObMotlLQi7rLx$J6M8bT;LF8ixXne?Fg~Z0LObVB3+; zf)=$Z%=%h--#PM87ZFtw+6Ohz4cP==mb&vQ)F~5N0_l zH|^mSsBpINnbfE!mabM5KB zY+`w3LMbLvd|5H~Tf||~{xu8W7vUfSpYQI4m6a8^Jw;}-b1_duMV3%3zyB6n7j)jM z{ITeZCAa2zVO4g_xIngr>+5E>3Tc~ z4Ip-zE1pADG}!e8R9c$P#*AOmIdUe{Z@cBWU;OQ#;qt2U#XO1yC+zkC`y zk7xn`_*z?(FzfGrBwg}+i+gR|{jj6s-v(1&vN0#6vS!$Y%)OR}`&f=?5zl?tje~9k zhC}ogL@tLLN6qp#5$hL+H7$(VGTG(md&B;et!M~(=~MCXxeNb%l7~b{oF9T&TLMQy zI-Tq(YDRy=1Q7+2VzD5*zCw3v0bA;#1%v4+(|@u!o25%PPQ(x~$*+rH6Jgr2g-V}w zWPF@DBW^hGQmZ2FQ;46!;IctVzeQzPldknS2W}C*EQ5Iiow2=&im4`Cnntu}lfqga zADkabS2gK+QY!JqFQWm=H7A+v13fw}KcHP~&uaDWYNLZpEqBDnc{e*P-G3`DxknnJ z2P6oaBpMS;bq)nh7N{?R4&nww^gc*W^InMO?<$I-!!`tK*}{v5gd&|9oJ8c*;{1GL zLlk2fkC8Xt%zkS=(fZY6lj$fp@U2Z6 zK1?9kG-(bkK{K>WT7r6jRwVbl4GDmc-d*Bc4|;?KcxZ=Ni60<9zMr38^1Z<^E`|}_BSlqTI4khg)K4oK<)5lNG_%6I%FVya~kU!LjVlaCKXD5j47Qmo5f^GsY z;+RYE;3a|3oqQ`8jNDF~N;8AW=ua~v4R9K0M!68PF92{E^`=cP(DM;wSMbl5yLxNS zsUnF=225FTSCjD#o*H`}Q&tG?_nemDrzpg=PoI_}8bgA|K%e#;J6sZDY28J(+d+G! zE1xYdbf8F76+a@L_6f|GsRx2;L*;Z$EG&(8?%P+@;*0PagN9i6$-6vbI!{cA04_Di z^WHpRIG6VttRZuf+V0XL8esdpM;mFtpfSMtB(}ANph2+BFyVbVmvSi!h($wB&la$L z!u{x3C`nHtdl?uQ=x*Pv#f-4qfC}Q>0;(-~7*!ttDxF_YQ72}+PnO&Dn-V#SW&=0w ze1z$bcvhI6Hf5k({Q0xXl421A<A{cOG63Q8#THydXTe`QGtNNq}8Z!qq#Ubh2JK^RRf zP7fb2Fks<7Wbi>^-4v|NfNn-+d(V(;CI-GD#KX(~N#iWb#PxfLyuzB%wE8#} zAZf!MIp`3m6^)(3{ZX~hb4ZdBwyT=x=QQQ}B-Xdic1(#1ax90o6_An$kq+XU_>L@$I?PfwJsiNimh1pRWA!Esj#5i`hrE$~+XS!UFJQ_)|T*y<=V zNu;TPiU@2!ks@QRojZ3%oceO_=WDJntExJh_Z;#4v4TW=j|QO)YX)RC3)}gfa&qh{ zn7Re?1+#%LM0eqYZBh>8XnOCn{3Uo&z^>qYdD3N0vcy45j6G;gWQQI0Wz<dxwsqE%-XwO)GmziAQ z2kpg7@S~`71&`f`PE2GX?FUN)N&+J#wcq&l_=02weQ*L6`c1ExBgLW16T3vsib;6$ z&(Ck9GIBlqp|3CN+}}S0`mdvWkieFI-a}&k{d0^1Z>wfyO6jsrhm1?d{tsCY!f0y# z##Jz2(}{4Sz6fR{wSw;+@#o7XPT^ypKVO)cnNeS~tqNoY+}(qaj(^6?5$;hL{KvJP zf`Sg)F99*Z4)W3LZBV%|>nj*K2`qv5KK5E&@-{Ow z8<##_Z6^>wfE2lWmc?%F?%rQsZ9S49O@S*(BG3U8Mlyyb;`m1ZS(HgAIM7GNsncCP z?(A%j$UK9+h2}~M`O3P9xHBUUw!U!ZzI>T3?Mz$lIUEmgM+Q+54j5vc-)oRB;U!b%+7J7VOCUtkw4dVlJK5oRBdJrW zG3kLVM2$XBeb)3xdiXQ5XM8byaBn}4THOKZ3bk6@=!@7+$QrEh_+?$Yg%&u0Kdob~ za+a3;U9=f!M(B^=WtelFWBcDRtnadMadALlXVAS8pE62vEN;yLe@*OBq*YT7Uq8Rb zJ8BWQF9t;Av~fk+$nZ%aNDB3Hh2-iDgjjnYpWKYny`#uh)v7j>dw*!kB0?LSWA1lH z1P@{NcRuxYY;nrVBwA5`#&BRMBeN9klm*Qoili;OpdG+c7qEcTd(kp2{K!~KC-^lL9JdEHx2v88s zMR-Jnlv7J0i?%M_=soi!F*De1Z9$nBg~jc1Lu`CZif2yzDl(07(KR-pimSG3h@e`W! z$f;oz9>6c=T6L$OiNUh0?p6TxLL9-Msc*D(JQP_6Td=ODXEFQJL7Xl})cPPJlutua zB_Ql_7#C#GWu-N19YY!SI3I;N(d{Ee^j4kO!+(e@(bh}`J?7i{M;oBGU}j~#cXdA< zo-xQ+N`P~Q9;ZbR6VruIB)0iMV0W0zK4m4sHA77AK zxezJ|VG6BsyAXu(r{13^(Nw1lI-nxcg69f27A6?b1Pq6mZt)fduXhI|a^TmS0bX-o zjyekj;Gh@41-V=+prlBFCX%v1RW5VNszcU+28MzJ1bzF$_YV;$wJ{T`q8K8EhgPAx zO)|$}w{$%V`396g%`Hhg31Fk6LoYgunqUb43S&RNHNJ89e}fp!KUV++82|8S7m8Sd zIaSAj2F=Y>!y${@$h`MVETJ^bdF)(5@lc(Gf5QA5v<&Bn`jCi^VXNk$_=tFC@4c8Q zyu6vk#b#ij3Y7TF<1b&X?#gjInG4BSo6$8lXaUY6-R|BV@V%Frih--+3=y0!@KEPl;> z#Uu$q&ABGxN^HjToAYT83DhrR`Hy`16hR;qC<4NH>$@mvbw>FFE`}gj|R#)S=F0tJ{B`1>T^bkcS8f|B1VRX!dS7XOb z?CyvA#E;d_;(N@ywu74V(54I~PDG(Sc^)@5GD5h|WMt56-n@D2(uH6|Pb(m_mN4J4avW+xlPf=wB%o zmA+D7#uk>pq|us+TAUCeL0&+dN&)E}Dn;9GoVX5$j0+PKn0Bz|Q3+Z82pvfFW=Uj$ z9oJ+|hMy_07w_hM)f_?Gi{%m)1R9!kEI@V6$LAz z8yL73m{kIplN(9_3@Fy%G+d7mg^eCgqKAPl z!a}mQ)Hzm89j`0M-O|CaL`)pVnRbW>m;RW&o1mhOI5dOJaTm^E#pQ6?DwDm2whaXE zMzqBkYESTEn>_VTqoskWu6w=FLdevxu(-yQaPvV3S5Q1e|IC=tsf%m?bc*5HlPfI#kM#%RoykOMk6x~-2@6Glh3?A z!G6_$mv!}z&WeVW5X)NCUdr#rXukg8h!@zZ;=>*B`POhQ{l><#i(c3F(6y!TZO*rE zxHtmYR~_hOW=_sLuIp@^oH2wFhS0l!I}=g;4appi?zG9e4GmD$&pB2}d3h=lAw>Mq z*4k>Ia1pN|zXg*Vf2OQ8U6)p~N^@IY-1_<|BVuVOP}JfvHC$x=@}5<+He%JniCTCo zSXWXJT!1c%!Llw3q3E}=wvMf8`oD5x5jU(*_3c?OIWap} zX=eRMFh4G4b?LtJofai02ZwNwxsHeey^l^XLdi=_BAR((vIU%C&HJm+c}+gHsDket zv7XT#mW4p{fdH`u4GMnQ>hC$!KcBj2lW;?N_8A%Jn51Rz&e@=lRx0xLa55RRM5Ile zGD1Jh9z(G5Uu{`(KL9;~w6}WdrKWIwrv0YU-ryxkB2yIUfebwS`G~7{I7ZCQ z%`NWC+?UM5DZ-e4)Ah&UQ_;~jN4>1LxQ-r~DP+I+MsGqWjplu9$|utTi|o~vIhs^K zAi;Zs=7m&#f8LDK#^jl_n7I}G>LhAc$qpQ7Hn^0AiHZJHP0jrbcC1(PrE@{c3W$Bs z>*eb}Y0!XtU&euOk~Ae26TRQThDXroA?4Oex;EBAzC)-e;@zV!)i+iKB&8CwFyjjA z(*>;+S9kB`2%Tj2DB(DnQBRyno#M4pZNSuj@YG#iiAWEo3?7?+B#mTgg zn09+y^XN4e*m#Xk~@(ZerD*Q^oxpE>gD zBdB&tNHF5y5IL2lj~j_b(x+m*5Ag!zYOo3ORXKbH?XP;&%p<$2_N_|rk=X_XCNKNy zOVOl4lqGCh2)4|1T$l%0gjNifLPtXA$spg^L~1#Du&&_Auy#t)PJJ9zO`UCIGctXF zJlLpA_`5>+vu?ICRCJbY3B>)|xVj1xQc3`Pe9Fpe9~ksCn||~MF8%6>{=F8kByK@o zk&^QMwyN$GFByfcYuwyrq3#AR4o~5>6bZcx3gnN^BkA&9zVmH-b;N1lS!7~~AQ0Qzw-r@x^1DkSm^^nY-WgMxPClYGpCW z?>oo$;XsW^Z>wXvQR_|oWY7H*=&>~Q8wq+D)f4cIyB(icX(QinBr^Fy$k7d5+TO+D z_c!KSTME;d7D`TFR+>o!{dFg$kA8O*%ZRka6yX7SGR3v zlv1iR8m+jVVJ_U0eImxK-hvQaLzg3rax+XuE2iUiB~&UYiVt*9zNYKuX^`{uB8GR)-loSgQX(25=PR#330 z70d+&9t8IN{*eqal4M9w1j=s`Nl;Lb5JY`>eLV^VQekpKa1%VWA*eyuOPm}Es%PnN z4-GYS7!(hwcZvLC+JO_@0ghB9v%98xuNvoyl*SfA6y5sA0dlI|-d>_+5N^h}e~OJC zC!R{f(9oZ9EFS3>IkKPzvyw9q2 z+#_Ci=YiD2Tyn5?@H~kpy}l+0X)rR+&Xoz?N^B)|^zPu1xci=XCIHHNbyLZ7*LhbR z!tD_n5<>G22A9yy$$1XNLFmAjQl^GqlMKl>BTCE2BPK^^4rkCGx3S6Tt_jI)lOm^o+fR-KsY6>>kv&{P zv$0tyfN=ud9s;;4oyEi%nNHVfrr}vl#)MSqA3f&F{Kd zJxz17eobC^mUhgZI4TmyhtGfiFjv;B4h1+DFi?SIAlB`tluh;j!+92W-@+(S3!wE~ zy0;opkai+boG37t-YV+ab8#hZYfhPiR<7vPotw#D{hSG-IPrQ?vt*(~J+lt6oft+2 zsWb{yN*f6=>B^OGlpdLQEIB`8K6s%vEykHHEZi%l5gTn&uV3HBvUzjtKgW>&&%w}` zIASmqJCtY_d3i~MnW&Q!e;h`ffA~)x{&hyx&tGfjsY!znhM@Z`n%pAQ%0%F8)MzFXzJQOk?@&W9uSgppRyBfAi%F$xQ8`s|~C{9KGoZ@~D|m>@5p zY&ZG9zGcgU(*tlE2H_HgE^WW#pUr<>f=7?2BW#B4m%h;vmK>kRVJ1Wy5)S|AP#CD1c|YQByDG zTWb;+UzuM~^F;VthE@v|<0iR*7eoQR}I7!$(B@J58S{rBt&?OyuzX)i{M|G-mym95iG#UI7O@si;80N$BYmpPnAt1iWakl2Td@S9o1( zF_G?0oN&5uySjR$`4>eSf7yCNj@^tnx)FOY23Dta8IxOZy_Bt7uWS}_{oh}Viuwf9 z0n3&7_?ugs02vW-L!vWA?XTiMG=LAjnOQg(zrJ>)uyya{yCX#8f>4kT_y$5%j#Y&; zq+fIpBtw_B9e)C`!+ZaHd>P6DxF@A9E&I6F``l@nphQ7~vo9Hmz=m$uxl0yv)P!j6 zSq#e8mXE(J%m2DhV?ASf0>sfcH84^Z{5=k(Owth_nZu-c;N2HuU~ zarD{JVS*eUoX5?^qXjsFlBqT{A8`6GQ1;r*`{k!Eiuvj04@Y0V__bTcz)(10mv6Q@ z^=to2hFrQduC(LVVi@=HlD!-l-oAFjohy06@v1!yEB@^_8rFuU*M{DV-C~>@QOSGf zDiVbiq**7Sd%|`L2erJ)r&f=FCv{zuzlik$@(29xop-L@D+}&!gU{IBy?d7q;ZmVw#c7HpJ2N$l(#F;2qIZLCE$3>O3ZP_KWgEfg7>zX1@5!;U)3pnX9M-_6=Hp zlgx=YLYqG`L&l184dR$&^A+Q&3aVjs0m)E*LTcYMqlXwQJ8Pu}|jrQfM ztHA&j=#cjs&i!4n%`p;=LsY{-o)?OWip(9Ya0Fmc&9blxxRdc;(B)_n!2^QDVxM{Z z$CpDUxl99>?B$W8O}|Ib#yur>!KbD;M(qUX>CbvU(`019z7jU`xW#)6STWL zwTe!PC%gDvWH^Zt1R%YPRw^PQbcmK(-riETg1+r0)zL{*g@MK(02NS@7mYum!*_ji zn~MHpuA0(`fU}<1SK2S$4a(uX7-;>=Dpv_E>A|g_Rz0|gA_m+#JEefd_hxjKc+8DL z0ReHN))A-QOws0-%gD&w$;`|gY(9twLMTj7G|6Ph11d-B9zSh~Epteq%r}?r167m| zA*t-_>I!dcY@}MK#51{e{d#{D#~+V=8<2yk|!mEh1EgK0Cs@){}NR^vE~}g7JYvIeR5^^2c~JA z+%YQBVQlpAX?+8}1UFW3hdMo`Hdb^t9^V-;79vePZ2sh`(K7ZczHv zdvSH{*uv{6ai3cMNp?WgUJ#maDf&?Zk*o0>#(}4Is;UNZ+>zJ_t?uQRd@$8SfCDM~ z#9{!;icz|$LE{@!OZfLGwYzA^)Uj$Xm!ofDa(w=~2;!gSfdkv_e{H`Ri>8w$ONg_N zC;}m3Blr=sQYV@lH*c1B3@R=yEkQf=%ie>ab4Yd7Cv^9<_l)jktrRK7GTuNUpg$s& z+&u%_Tbshf5*ln;I=b0!4~vMic7m#T;Ah_efl;QBZ~?0<>eIE$MnWAC0gQ^oHGtZ` zp0YGE>pgxJc`)hv^-~#P2olf656R2tYVguMsys!2D_lpZbr}`8*v)WfEZ=rebA10M z?9bt3FG~C+|2_Ckl=7@9o|YN7OZOf@ckU^!L)N;Y=ZTRL z4PFtu^Jq``cWkjaHA zu>P^kTcX8WEOf-sFO9;ZI-i68{w9&Dhq%eiH?02!ADtudvzku!r%mmkLfeV@DnWUH z1NaFsQVH@70_G3-WB!WVSoFUECz&bu;DX=8zfWztT2#Hj3H{wA05yd1G+|Q%Jl7i* z9?7Yx>e&Vvvh9!~fPg)oetNX>4xU1b`uD;*3p7*&g*AXIdl~7~ zLQ0*ur(?Lbz2$#`#OW1cz%b$5>P}3^ZOS-u5$yKp_Pn8vyYKr^o|8k3v5bUtu@X($c~sl6>fCZoUvE%)R8-}#C9A#dek6lKYJ6GzvwIdX8x1s*+7pVX+K)VKb%Ji`u2YW3q7G{tZnEv zz?QtGDpUogk0MX@%<)u{hyFQA`|)6aoMtmbi1K4{6x;K8`rY_Qg>UKPoeZ9LD^a!L z?RkS~;ZizHkG($C6__RT925uY@BJt|BeNdcLYXSJQeWV-5*!k8^pDz(m4CmQQviH8 zp83;((1Y%cg_f3<$IQwa>GbmD%i0gvi$IKK8=UO+1ef&m^bbzJU`}OEf6!dL*-|cb z;F8=eAbB00!~Gn-Vz%a)$Ympd=X4Tf*W&yiVU1#J&5C(daCUo zFYUTjXKEWlfia$_vfX&*pYLET8a#ZLlb7e}dkeBeZ1YWT-Pz1)R|cmETAE;8@nAtL zYgk!v{rQ-Sqx94m#dj^Ur(WBHXy*9ZBGuT%h=i(imB-267=0pdjuOG=m(Zx(7e z5*R(O)kutGqhmhyVA6+6bD=TS_c6jg8g-)e#^c6Ak~;I#DLFaWPl5d#XJutRu2FCtjlX62jk{pl8lYri zMn?hxUshou14?jhGcyi`?J9AALTcKi^uHp$TVfbqtyj@bpRhG-6<{Y(&Np3@L=1qQ;!2$bqh=^9j``n z#TY4Ya&o#FApy(hit-LYobviqZPWz6Y(q_568_4$A3VrA&J9fK#~v6 zRGf9abLS3;)Pe6uszcc|O9(SKr1TdZbQCPCtuJTnIYFFahQ(lFPL&Zw!Jc$k>Fk2& zw{PDFq8)c~S64%0BgBClNSv1`y}i8;>gqAQ|xl{o>OxQKu4*p34HkFW8fN2|r zv|`m!$4Q_(@vfMd7$#_5K&YAo*e)?K@mPXZYCTzOOA}@v5rJyzAl|2|up09Ci^E7R zL`K>ZgmCp)d7zz2X+vExJ+uGKZiQu>?n97< zEv>E617{9)ePR~n+xDQ-g&6rI6am@U*~Ged^k`4}E#+9qHHfidlpf8%U}3fyiG~Ng zW>!rN4>1~!p)Zs!Boa7X02nVoV9)kCCJ+eIjvYG~_uWjyEOcI;u#B7>841HWFag*= zLRZ1Cy1JVGSBJOM-r$Q1b_3dJV%`#`_YueS$zR)!z>RBJt_AFOPh6JM=94}>E%q_M z9m9t7n>MkH`BcC_yb(0XCA|4j6re&eSwf*e*|SU@vVqMNLLMo>OB;opuo2tpt~U@4 zaU`%9II&4jp7y$|y_3vk&QMR!F88%y>9+FZyNKqMo}pw+BErI=6%*YX!i9!>s{jn6 zQn}DW)CtVy9RF9=UoQ!wMdK*ehfgC*>i9~1F);zQ6k9J*k(KWm)!d_%^?Cv|LNEh+ z(oIlPs1Y#)b@A%etKB0^okfzWl@jX}i6(oK;RQ{({SV$^3*X{nMA3#3Ze zGU&4simM~nvZhkU*m^R7XF4W)zB3$VX7<+Y0 z{tCq7oCVtfcxfYq_=GT-CuCk9APgljt_Ao;&&X)LuEfI9QVL2-V%!>i*Kj755|q1` z3(YnxdGX?fJ&L|`)pII%#l?t3-90^@fMDO`OlTRBRL#}67evFyy!Hm_TTK$NFI-$I zeZR&-?RgHdVHQ-4%;TQ!?r6aEH{?BU;WeA->+c|Adi3bgrjV%`(t_u?mFt~B0DgAh z?Q-6yqowT&J~>zI_#Pi3H9i>*?U&wm#OXl#?e4An!nK^x<{HqeDk&(~1Ni_YQ@i%V zbJGt(91F3V7Ze+(n^)GR&w0uyBceV^txSUew#cSh&&(|P+O=y861tzMaVciJdAAlw z`!3&C-nS2f9b`~ATwPfBllbiE)BU+doMo7PJ^hWb_=sQwVQNuyZjBD=KjQEsh%IHHVr7}7+gD0EUk{osi(VfTIf{MpH;*$|^}oqmpvJ8^SyeNc&H>IroW47mN;d+FKEFAqW{ zcl(nx`MDVx85`l~gwe9|ywue6^y>|t7Nd!Ry(EIB`)0W-(zV4~h8Z0}sbXCv-7X zPk7Hn$Hrcj4B~5UT77IAY|Ma7m=rn7x$eaC-?jJudlwQVh2($jDYDq;S0?7>H0zo( zhFpyuS!X3x-RbbyMHDczMA-6R+Ji{NgM-`0S-xefY5l8qUty@7~+T z16;L-5C|h1cnBR6epi|_=1&bOsJ6AWC1Iw2q#+8!c8~#Wxw=bN`_Q3FPErbdDlc!g z&=SreczhaySM8x2MX#!+qeBPb=S8%IZ)bJUSWwFFUnL5m zJVch^kBu0&8B|t%;@*D|@W@VaaRxMrn%36b1P+BP!UZZDHAxk}w*n{bp4~)W|2*D8 z-J3Tsm*YAQ6vTcA*&3&YEo~rlr5Bk0BnZWz5DvEzf3np3-*t>)^5N_k&AYzQf7t~% z2&D_rgShA%JEjdr!%vZ$PLys0sfX_DWWkdT^ac1b+ty}lPT{P$z_Aol`nQk^*0-jJ zV2lUu{*+}Fm*HTLSyA!9MFIZ~$dn*ifibgMSy>Uo7%0--besTggU*(UgxV4V`PAWI z&!4N`mBM`!$GW29cN?nOO2Q63gGbqb`~s^)n8ZwWZMmF$;7#;Y)NhmoxRq>d+^ zwop1!VxIaY=hY)bR4&$4`Atq3*?h@3@#@=cpzXDPeia2mHdF$42LLd{27}j`yc4-7GT zaglL*Jldksj1#xiFq%g6+*mr9xw$kbWnTao7n`x%QM&2Xo0Uo^!_lsZ$=N*F#gg=* z``x=sq(;E28SiQzKQN123qsU|rukAhEQ$Cs~Pcabq+(v;pE)mzpP!Oifp z*yIkrkB?Mx=T4ndNI)~_?_&KG#0@RdD0uQs?!SKh%Broc%`tiS0(F8ut5!)?mO44_ z@e?PmmxW{r#Xyq2c|$ZNASBOjQ^qCTKohDx7AqK$l> z{|7_CWTe#z-E-2ex<`*vkggh%h|G^^U;4L)vspAQ($^!!ypHcgS+;rCF_}w_;18fC zmVb=zIf7GYHJzOWFhuXXu%uZY^ZP^jw{NaQYX<8gsOKiT%;r_GqeWY=8%cV$ww@+` zQ9sO&cWy+|k#;rBH6oDLyu7@)KIC~9>5C5@>~eK=eMS7f+Shv_%=$kSon0tHVHn3> zOI#?a6(S;v3)!tSmN9lB<OJTAz5nO`{NI{m=ljXddRxpnf3SHV#lle2oYzZGZe-cQ!SrF!C+)gi+9j(k zQWg>m5jTDsDWNBVd9OB5Mktv%jyF%mH&)*YC`_l@jP_n%YWf_(oX)Q$#bLMmEcxy< zv-4N)J+0+efK;^0hyxWfR~wNh=_0BW10irG8$zt1@qL{ft86(FvQw%OSV|IJD-i&M z83`w;s*7901e5>u8Z{ASM3>EICgdB_`D9NLpWEIr5KLJ#>>pLH{XFlTt=cq{;h4n4 zi`)D8POZVnQ7An<5Q$>&Z904Ar1Gj& ztJTTBRFwFgJfol=_`eO;&uG}JTD3)={7dmxD#moxs$a2ZPfDvgzWm+hU|T;EI=a$# zCh`LFbi3HK%GMr)~0+_-T{={q6Z+ zD)qm=MYW``mh-<4WL+IVev0aZ6y5*-asOXlJ6VfQSq`I2iMf9mM@B|OL`1gk+*#(n z)a0H!SoHU~^%H&z_a%4%hO&vh0S6ck)s$X^jtQ&anx zmUe|NSZ7-QZ(Q*{dX(W|H}XUDx!j@c+qV}N7ytbA>$Y<2uSj3X6LAfBgGF?Iqm+Tc zn&Jo#&lazOPcH<`)w68b?{41P)#lLAQ>P?lIMkSsI6wCHD;X$de=x@1yGKR6apT-r z(U!Sieo9d*E96(dQ>s5#RvzNu7~IYj@i$s!+V1TxNKQ{*zmJ_gwqhlJ=}+sb9~ssL zpM1}fBXPUau-M;pY-WaypP!DIIh=cCba;4^hg|gF_~g5H?`F%D+&pC?3#zK#S6H4s zd$w(L$lp(8X}Y&josLcM*YD<(+5-*`zkHEfm6Ma>w3zem9mi&7$**nM4#B+og&uq2 z{yjzAy^sSgLka1tzUR3*2d;FaS?<1(`SRvuZ?0$LzdaGzWzC}AUFO?I-uNL;-X}d? zUWXAaZtbk%TWi+OmbovUUR+wzo!(DPwuZOZC&Odi*g#D9wmo~k2I{(%r+2u?pE*P2 zK3l{*+g$DT=iQcbe_v2v4=?DbGc(d=&{cf@%BFvZSV^#}@xNoAWAXnc0Tk}5Z*26I zjl9`#cRy93%{Gz>^tT>!9NU*|Km0l}vilhV(EOW|7;bax<|&w(vd5_FA2KxX;S0`chGG;V?b+^X~lo z{3VyGp8Ldo{$@e1pqLo8(fk$3h=>Ri0Y)=3v+tQUYzYa7$8T$;9asNNnv|kqVq(vp zJyXxPzMuMzXST!WM5S=YtEM5{>4*)U-!}gJA@5be3Z;v4lg&9d`6(zUUW!l1TUze#yX`+HBovUpJe1EWDH)dQJTo!fq?9xL zYT4tx7OiRL=nrhaEiL=p6x+?<`FnVHuE~Arl7*#ZGahqzc-UpO^X~WW-*X0K=+;vF zdk)ScM~*CaGA~o?-o5)VlZ2eP`4MKQWd>}WD ze?b7(WvUGuu=lJ~EHBi(P)m4=o4hWH&42RM7I7tC%hNJ(2%-iT|P(jpLKN0t3@f4%VD~q$^dnBBm|N3?H zk!*LIq_{N0pZ|XFD&MXnYVrH{_@2q!-F)=s#8tIKol5M@?EFxosi`Rz<1kfG3-UoA zxAqBEziG#_=gzq{++{SrhKQEb8y?pE$pD zo&I-5Yl@1l#O1-n+1?PVEUg19EV_SF=hTrqCkk4v@_iIo4RCxNot-BO)-(V7{rl@q zT^DIh&6YUHlhOC-c8p&&q#L+reaZxQ@JGmlgD!_Q*w$j$yv<0oLA=5)mD(dQI@Y9Wr zjX8f>%;VKRcw+a)5zpTm87%2FczUWk;P zUN8V=db~&Ugp<=Tso8=p2ycqxiA^?B{TFKM>VgH$cWm6jxpgRcZKvq{{5>QJ1kD?- zk9VEA;DHsB-p|A1i&%K}^5r9)#L=d*fby&HI=L@?{?z+3(kAcfDzQpPNa!FdYx33d zZSQsSt47+gO|7g(oBDR#etP1O-qOnQ$msIpm8JX@;mXR&!~S2crC*j!!t49Q#hC}T zBBPvew#YRH+j@I@OPxn^PhY)y5c}HQRr2tj%?;`P5L#i+RK0@L zNNvGK4JeTTuNoST&-H~H7#I}!>=t&CkfCD%UZwf?;svAqaLXN>m%2CS1Ox=G|N2a8 znxJZ8Vv;X$>Do1J=Rd#o5fz-5)8Z>EjZ%Wmo8DV@7Oq3tI;)^i+}MbB!BR!i3TsW` zaI5I*R=Y3vxleR6uLQX+{COG_^f^?_p?EBPAC=bwU*9dHD5RyOS#;#>b#``^obPA( z(bhIM7?+sgIDRFNHfAU7-o2F%wjVij?%Z%=;6+xyqt1UUu%(B&xqI=+{F^pyTAIl5 zc=4kq7hXQ{gVPq8nyj^ZL{yCW#lwa2GCIs2R3bQc`jQlGw(`_$5rjIm2oC9ZBdC zTmP1OswWjah-p6aMoz_W$x0+yDjJ$!MO&l};&`lCzxg^2kL|IxjS{{Jtlfx`PfbmM zIDe7Ku~}_pjg0}Db_)?`Qxz^%4QQh?OP=>%?!Nb={3@sB$9vn4s9m4zJ-2y}h=&%p z@o-COyhe)m)YO#Q0NdffinDTZg-AQv+4j@w7OGfQt9EfAi|@zX+$3AmEF(XB7{5be zlI~xz3u0G!ljOGKbi>AG4!c@omimZUDvWul|Mcgc8_SD*QhqO9%%4zk*t~hO#gB}q zX=y?vz6qg*iAlL~i^#lX$BVd6s#3?C#pNYm;pH z6qS{gi?cZYr|jOt>Fvs$X)iJnNVaSh0t&@)BV->T)Riw>C}0bBIiauLxl!Wul`98; ze6%vIM>H)ox3*3K;_%z_DiB!TS#)87-27M+brkt5}=fnPTd5aVB6O)q^ z_Z~dx!k!i5S*-Hryph2r9QYS%B2T9vdf)5he!-SG=Z5?HZ-2Oh>q=Xe-Bn}b$&#JA z-|Fk9w5r*uWJ3SeWSN(Kesq`9EcPEfcpHCX@@K)CRWCzBZ}x>csDCt}WoKt6*{M2r ztLyyKfI=|e9b^FZ;%QcH?#Fl@-#>rsC07=09z1*)J|wzM|L{NP!EpXC{lPdm0i@VH@1vBfi`hBoy=0nMB&Uar?ao_-Un;=E9ySu1K z*S#{~aynVr|3L;x$;nq5-d*HWPx1gjxbge@(O7@Q=UNy4evINY_-AoUL$ux1Xpi2CKrDab-G z-U5JR0o>YOc3b60qZH}7&Go2w1@EIFxUX<4KBN>oBZ@VQlcd*w!YF)g4*^Su4juaa z{exFPz>a~m+qc(BE{@3{OE%}ZiZvzby1z*p`Sq(9FLchvhJRsZbhNH(4oQAuBzyFA zjR`5m>|9)~?-S*>dQ;=9=u;gHsU#J~S86#ZKAuxtLIQMSgO@t;F#y1+1ho{`1$#zD z#;8{0xtlX>4kR5LSBDv*_?rm4kd#VGPZvg3ipj_b`t|FVyShY!E47`}7o4$wVAO7mANx1y@5YB;kP7ncuKC1Bmg9lXX>FC|?c z*O>gmcKyh64LR$_`oU%HMtnj-_<;Gg+Xaei<0ZjF9531)+e^}`py2i`TehgZ*E(xr z(jO#Z8Z*Qf8iAB%1$%oTHl?tr+}u#W6kdZ; z8tXSa;=79Q zi3NI5U$1IZ^|Ji+sfWnC+9N93+LZ-f>rJm+Gb(wo{n2jW_pPo>#sZAZspdO@S4jqO zym@naE=YiJ6RA>JSuZZesU5xcBcpGwcCG$-T8cPdBu7fm0==K}(?eRhPTNnPKCKq7 zF0G*O_3!s)S$9)nZ}#K(14!A1Y_1=$eR<680ZJGxWQunen=dW4I4J-_k8gO zN}q9Z_bWe%O>TOxO)|gTP~)bbHPl7t&Yse%$l*RZ3q7QeZ{K{px?@643Deqep3@m79kQdV6|47*{i~ zDusPbHmnHC@*c7VWc}Ti9SDZq7_T9trS*f~UE6bvC*w?Q;p=gkxD!xyr z0cs3HD$#x^rp_7%1Xb^RT*D(q!3P>CMzjnJBA-rk(L@1Yy>2ig)gvi2)pejcrpDwu zf{(-h0Z_x%9XlGkmryH2U1oWma>Gaj9hv#ojK3t}wkQIUYKS6J?V^A`GbnpJ4iZVC z8|xB&Q$S&>&UV_Q`7>)dBcwj2r`rJdjr_>;0*-^wFerF96~8ys$aSqf=e}CpA@FZJ zmPFkMr+z<5a93PnUSUPWLmWEedl)Qh!{u`8tK=x6WLfid4ul#TQHtN z3!zCoGs4%aKu@p0a~(b{vn<8hN0#8+44b~qtbX@5(6N%7ap8^r+IMf?{zUdG1-`>SCf(JtPwL3WQVwZQuL-+X75<;s;A2 zNuwgyR{_5QL5&sLJ@DjZ`0sJ5^s*J9PYg3dGo=cp_?m9Gu93c?(e&mV^tAcJN@NKP!q?sSgv^Tp8xOI8Amq_ zWxCAq;W08YGe2A@p+0cnKvr8K(ox){#Ap8gcc3_c0vJsEDqoX4BFn%iCnrZ#oBjLu z6Gl|cWua3Kup)|}IePSHymoe4)Ag99A*5p(93)nVFikqn39SM;moM*bO}ASAli;y} zg3ipxXA!($6@2{s!TiRXC;O`1d)G~Q@^1Z~CwuDWS5)rD24O(|&+q21FGW)-LS8pp zyaApkj}{*88xpdch&K=+*Zk>ar{Owv>J$+N#>TEUChAJ*of5IJu@SxgbCsl|BtZyD zG_nY*J)$?(Vzsx?(PgK8H3dsU_H}f09P?sc{F&+ARB6PIg5L*i>Ex+X;3*>evbolE zYTWZ!_g9l$nc!I|3_5D?`Sa)gaY-Ca*BTHzJZ5=$`F>z_z-`;$&8YsrdU~v<2QPm4 z@?{M291iuPUHr1YA8*S7$wWrw&fmFi-MZiHxgq`iCXES~h4uEw;f!M?4UCP;N_}>R zibxH-<)h%Tv{q;#e`$<^{c{r?QGd| z=Qbgwe+`oefx2=ucmI?L2rXnfh%{}{+!sOmuu^`jzZ_pTSz0Pf*r8fn&oIQ&D=J2Q z<;9>>8MXu4pvI9Ps9^O0towkI9lNvZA!wuCXnXG42D8TZ+VZxxQyV41_Du!SGA9wT zp{>1FHu5P_AIguhnwFLV6cZ3Sh0tUEkaf=v#n4c$*}^1F${-X_Ak<(;k_80?2h=wx zscLF|A#598Q2J;W*65Pv8voGHO5}JVULo8|J?_KuR!S^d&`Eq$aE z0`T%7A<_fU;$~#jD^Q!2a`Lg--#-{!H8SGU zFIU|>O6UypfJ^QteymQLR+rT$@Y_*UmfO>2OY7c?(lAKy1OWWzs_<^FrM1cIw zH%j4EG2w1sP$hvc=8N$WGb7qihwlRUjCYlQ(lG@q$l{4(V`G8$cIWC;XIOV5<|)B^ zmYir%Kps7!fhrozXDF91nZ`Ry^Z_scWH(fIJ(Asy9eWlQR)ydt9TA*Xrlco^e8D0& zCk`ShjMOPg0)63yMS%VxmBwFA->j>vi`q+&(A&57KsNqVY&e6$4<1q4(BO}XCGK#R zO4{)Pi;&(@$I62HT%Y^0G0@}K#00=+zaP2Ll3x%xK4H z5FXRogKy4-{3+J4tbP|AeFv}{ScCn@5kE6SE{)`|Lrkb6J$l^XtWeAYmH|=|!O2*vKQ%KwJ-tWV@kv(JF#v|b=j3>aU$bg8U8*V)w4(hyweq^xY-m;rTR3gc6XxQK{bNCC?O;mh}R7rS<@ zLQYYNYB0-m96ykLt*sE866gV~2?ZPzz#tY0iMk_P(qAi1!@T5;k20<2b5~)1(et=Xjfp8ISV7%OUgH-;~H-Cf7=i4s{vw) z^8;D$Hih7UHI1j4U5hhq`aXaC`n>%W;>+oZP)PaLufNbBt&h2tU7n z|3)Z9edM>=S9J2i1zI59lFCXS6z)IYV}DxX6I?*4KnN#GcUuva7dqMa%#1O_&n0Eg z!mE7NP#wX`6Ep|7@hs21*A%W#YI%zU9_j+aR-KSf@UU&+@mq684e0^(uqL(szF+z%2!>`2u;VbXF_cv%o@i8b#oiAD3nlwo0{${1P2F`H%B>3!jsoDsW5EyI;M9~ zRrPw$m+fZe<{H`dT(@rB!uq}l39+`ezWH7_6{zB<`|=`NdmofzcK5|@=Iq6Ah5|;> zDJKcU8xfu%br8Y>CW8L}i|gv^D+2)DC1_T^(b5;x3Y_stSePP+0T&lnMs_y(e@ZSc zIfq{yp3*?lMRz4KCuh(4_3QDq8p&5T5H9eo8<_R?k4(B$O_IETCzO`_Em?M zRacX(uwGug*;^gnkyxgyqEdttG|=Dw6Y@Fme0&Gf<*iP9ht~u&TlDVCpIyi7zIc?< zivo=y?2$&29tAM<+I8#3<8+rEgfIOzu3r3(ld6?%pU}FpLK;74eMl`0D4jfcaw{`) zM~^*ilB_qXsp3nKTbc<*EgwzMJ-H4X3oNx^<3L{dQzB3z5u?#Sb?Di0rzVC)q1J<~)U>ob zNKE8`_JBII`_W#pw2sFpBtA%u%34}qYoq0nV;{^q)9JjB-j(Dwlie}yyE5y$hzuyP zaVPgxq`8-34v)doS0x!%?10<_ebFpmB1YXyFgdotOfmG>DK)hnDC^*}WBoNOSbyvq zJ=!z}czMS%ne#!^kj#+?(Ml+V5(sI8Y~GnO_e}g)rgo=lRs!3IB5#|ez92#$r*@X@ zao++xULpwd@$so+H|t`QM(g?jFLv_U48p<=;flHfkW`y|5jf{Gj6=KV>zIU zf8@pfX?x`7dNaFx$-Zd$!1?KMN-yYi&}D9p{iJZpWkMg5m8;8rv8%UN=ylpspuaz9 z>H#%gx3xW)*rWoL^7aNg6yH)CuG_=?{rlM1?xJynonCeC-o1TCj{>4HT+q<$Px0Ijs0Q4r&rD8(islF`AWyOpwsULRdV zD3+a<^5?e$vO&?X3qG)jj#36Vg{Y|L8hZtqn-9KO2-Vfrohsks9fm( zL;4=H2^EQ~`3(FxJG!!Lh15GIwbHjT&>K#42rV(xce*4k( zb103#EqL9t*>XfAhS)NjoxdRFwlt)><@?c1Js#5s0mRVKVDh>ImZzDZmX#P8X^_|% zmrre;rx0Mj7sv)RV=KagAX=a+Kh|?jZ-jXvc$__ZUsVk?wyV3F#sA{g)=zhK8VZG= ztZs(9AQN#u2{aAhE_~qwAWs$0$=%#s2}CLBF9rn#xk(PTLt-Kl!=62RzJpWpFZqBh zPgt$|u>#8*ms&1c>7VHqV)P-x6$Htn)?FtdE!FVYW!!#hd7d)9x7P^rs|;!@3Q;eF zKTe&TAZVk6LClVKXWr=f;;}<(&wGj?)0Wm&=e=`gmX`h_#=F)H4s`weIrhb2u)e;2 z3@vw??$S*b78XIg`m3=6dZ22q+~OueA<$(AVnObK{)I-h@>{3&R87w@l4n4aZ``;6 znr{f@tXlA*kx+=J{ci?BQ8O~Wp?BV26RDBsax-5sSK=%dSIl7qMdr zU$3{Q!QA)xDN9szG{KbUtsG^bA)OoOteZZM-jJ8y2oJ=Yyu2_x*HG~M+V)JFyGl|^ zs)I9`XjHpdMd^SO=D99-j8gqv<<9G|9{6y9bz?+0#cIlmsJ0YdAp>qL(+1=awN5NMgfFCOZ%FU^p_i|$5 z2Kt#)R8)F%6FoRM*dLw2v+;^C-Jfo)fpul9#XOOypOWq)Xo8cr0KQN}RFp`~pu?fdsewNYmQL;Zk_Ab)grb`nhsL^-eiFCBtrLd-;jT?X^VDD5u?7n>c^M_I)> zy~@dXnUNs^KH9)@?ll)UFy!Z-fIx&7qwd_Z(ruNTDqq42H+=V}v57tfB&lL9z-uL6Dzi{uu{IS9qj}V^9K;iB{%~ zJ7`t#k!18XNau8h=e-D4W4&{L;2&f17OdUjaLYzPe$eHU6xpFD#o3R(4 z-W_jmduQpRj6SLtFX{_0j!#S!*3>*LEG(oDdlRt-r#Yt1Zi9AcVtQ)o*%_M~HwJ~e z4Ch47vxwpS&^G6eh)Yg>h87R8I{(`2)8_+M6oY`)nfrK%HItvJ~$ zY4ToRPe(wD2464@ITA5@w6(Q$Tb?*!Uy*H*ti2W&T@YEMu%gVVYiQW*UaB3i6%ZCy zxqSH{?0hXPj9~8DwrwLBUSD6I<^8vJ--Hu6^k8Bng%(IANYeEf`a6Tuqva+769A!z zZ=jp2;IFf@vr_{%A+AGFiGV~3xu>(g{|pEe$O)140Op?^l4lUJ|1Gbb9}G_vbe-|3 zsb7$tM(XZAmW#fEHZ=%GifJ7yF@=D&p?d(K{ex~?im20)(T5Yy$LlO$V68h3ekE(+ApU+e)en|{F5-# z^q~%qHoee*ln-shFCYL)89zG8Prr{Hm@+#<8DA~A@F;&SB!3{;t>2K2BF+jjh*@e@ z8GBik`P*MNZu&;*K>7jNvfro+-zg}R4^l0HP%~l2<;$0eDG7~%Y|c_k3yXuOdH|^4 zOxD-0>*3_!jL^~3*K^&TRx?Tc@Zl*k>p-4N?zeYiE;@#vJV#^3{r)wh(38noo*z$4WuU2@W?Kr^No3o%@A%;P12j@He0tES9z)$iZsXUhW?$X- zke|^9XJZC|^y3HTFcTi4q^M{O0ulKFARJ14*YGegl5qG_OG!x~xt{_)9a~B>lQ-yj z@PHZ!9?MW%QbNnbwEV-0vM3tsw5Vf;by~6K91cb3krqhUu{&@cl@7P2$G&~L@9^P! z_vzRq?YR80*AQ9=^a8g@tLXQ|Z-7LSlLQ+I5pokZei1YOzwOvVZH=P8Z8!5E6n{bZ zhKd>pMuXz+I6Jl7D<%;-e6crUoPXrxMxpb6gzzf;P4;9lmow0c#cqYiz&;vF{*4(QxDc0jXGn1|myqktH zcHx$nmrUTQsJel}?Ckr6g?AEg^!oMK)RfEM=xcxf2L5%sGPQ_l1NL!4M4m#3(D414 z^t3dxo&Z`OZcZ9O-GhPTnQSlGhB6iwoDktO^UnLO<;Tl6{H@ zA+Zef6BQNp4I!YQKm&ppos@KbFl5Khop&`8dJ(cn&Z}3ijvA24)#>Pd!6V;eiC1g* zI%pcxeLSB*bMTpjRm4SL2(%$#eI~d7^p`?n`6&`~JldQQ%CYA;{1Iga2(fjq5rojz z)_=l-!|=@DQ>t^?o>Nm(^X=QW@RY+DgO;aK;PorJ?hp3&>mi?@BfyMA1-l)fcK;3& zv=HD}i$=!^$Y}?c=0X2!16->leE;h;0861VRnjR1A@88Zy@DDu)8U>kuQEV*D!g9^ z6?JHK5XY+R#C?$$@%q=Hr(ng;C@9biPOU{BR&H(la#MSI7199=v!~)3wxRtG+4g*_ zDltamEx_NS7o41&vG!Eyh9+mH%Mn_lM!)53 zp7FkE=t8V2k`-tbq@ZpDBaky>uM@7Wx%G6_6K{57Q-EF;rbTYQ*SYxVU2H70np&Fc7rj~_oK8I*0tkq2oX zwrjft?H^)kAM|bXl|DF454!Pu)=*Y1gwqg#3=`gkmY(l^XsxALbv%aB7$Rgj$me9l z7Yv<{gP3(tJBTF7qRsOfwOPXX&nvY!m~VbJ@zEB3<2$@M04LfeS7Vn?Y2bAM2|9|Q z5^>xn;`dAz6?d_F+ z-f(azL(H(Tu?`x%bnBG+5^?eDZS|# z6h_j@!%h(^H`3}zpuumb*wF9~iHR))&vQ~2RlK57$N6`BubX$v#ekM#Xbue{o8cBg zsF?&tVVS|bmDSZh1HxoNT0;#YfCh(wZuf4nedjJ#8l`+}kBW?3lc07)+kLSE(+Y5U zUC`D(2eBH(639cYAT}~mMpK+$5kD@{yM)y`(i$x&{a3 zAnZY;I4Cau5-Z0f?sy!v9vy4E$K+k9#m;E=MA>94Hb}A~d{%&#V2#AtWyrB5Z_62c zC{BtlEDZIs@gJ zSSwe-TRUIOF@WYU%vBiQxeYJEkxTF4{(RSwCk#0NzEz~`?`U?=WjjHSw*liI{%b@- zRvX;SRpZ@d=ssNqbRbS;UHg3wBPk}ax~vbj`*M06(A%``fSyD)b_mTN4#CJ!0n=?z z9pKIcB$YwS391evnLLJqN*=4#)$7#;o!ONw@5 ziaPh>$B!Xg5HM7J6=Mwg0GA<^wQ4rUsV@hloq!09A`5(sG~s8zMpM?%U+z#|ULN4g zc@2%TIyy|y?oh}8f1ulAz4-w^(6n7vc5_pDeg3elf_1~C%!lV84r90gEmE8pRPk-Q zcei%iW&)ahi;y7*3OE5`7RlgO`SgvA@4_H}cLPczO$W_{5#`yY^78vo%#ja2pgO~r zD@thEHfm@nvlA6OPb+#Xnv>TV8~3p><-?>7{DQ>93!MbbpmwWVNwH(czURA3m6VkH z#qAc_HZVL8D>89yqGg=bb`7c}npv>u6{Cp@;X^K)Usn}fZ6tGa)SdyLa~<4R6!_PD zrPiVT?u>4(lRx$YV$}v}YSNzvx-w;qPfOe3;NZ|(6)F!0<+0F_;1kauhe%=v~U^CG2*D9n12E>hd_=VkIv2NlK}MS2Js&_ z(WrO0PLD76@R1`V;}dw_+bat|gPm(@+yPUfH|W7Oc-Ju;i249zeqLMKM=kCYcVKr< z&z-=)opRCJfS^q0p%Ba8YR7YePNOAy9A4V6urPG;;C~{TJQ*B-Z%%0`4E{1OXc5ps z91P?Ge*MDRZozz@9{<;{)cvB;Xuu6Q|A4r7PFYzT>Jowj4mRRT25YP3Dbs*6AH~At ze>JAPI$mv7CoUM^Edp7MHFuz8pu0Q~xW=CIfL@K^vElKbU{bQ!Ni^4E($dtZH$u3D zw$J{gzM-L}y`2;rz}hzNuI<$8u#`?0QXWy+F`Y}U|1+TV{9Cfjm*mUP2B@8#7j%j) zC^dyUXnvZYw17%wY3x^Hf_m%?#gOC35s0Cn)bgj~07^~G&5N$`oh_)wUqm*+6eMb* zaz8|zXWRjTx~MQ~^3r7D8ftO$4SlMv|9Q7s4f=ZeYyW`d7wD0{e)ot_;K;IDFU(2tWoSOP=%@L2X23OMcm1S3842@hTyZqnDKyF$&j!%)i zcro@w&QJIIr|Pbz{JButYcp9k$jf_~7QhRphh zk@8Nb0W^A;a3GVFBY#H4(pBhdzIO;y+(jiLst3$#db|H@q>R#T(d6esj*B0#^B{`& z!hL{a;G~U>J1$+i1moNW8k#65e&`*&3=Jh-4a`?*w`hY2f7DEvdg<#|(WA6UE_B7x z%1TOaI)TZ34Vnh3mo5Ql$=$puilc*Q#N$C20rr8Ab0c$4wDNtRJU2HtNEI+6-b0Xs zB!UV@sKrIs@T6+`$VS4&%gluc^jjnqxVR;?SWqo zx-6RPiuv@b^C0iQfdE+HjXd_pv9KPE2uzEfb#@jbzFN8%;x?OuAsmt_>(Qg*_lI)k z-`OzifeQ&L;LV=Mn!*Zxw2+{z5-Z4D*F&D5V|E-6gdEnM9;#l0OKDMpRtr!sv71=~4UdD90WI>V_;E zdH(QsI9utOwxcUd8nxEeM^PrwJ~yzk^3Bhe!cm1mPT$h968)JV2!xn*hBH4I;1+wT zk?$sfs)j^W_wC!ap2(hGUu%E0p@P8VgGptyd^=$VAFQ<+y9vql#?Ma_U?7eQ!|Bd@ zZYsw$V3Knaj`?5o;1LOXJ_Iy&4vs6(kd-gL+KKX70?GU|5DrqKQ)d|+Weg+=gc}_3 zT~aHPQV5YxaHxWWCSUJ7u?j~KhsF?jlC(3A>KPgty;h5J-gG`df3eDt;#lA&N9@X- z4-k0pQiyU)Bmh`$V`Ad=`9#PhFT)vmc|zpTtKGq)^9Z>S7~y+s>z2>l1%c-} zE1%GcMSE=denD)EsZ<5Mbl=m1Xw1P4MA|oSQ;@}~4zC6yW{`0DNYC)Uj4h(G*|(Ed4}PI=H<&6Z-~jw z&8@J3`XhIU>6q_tcK)e>b?SEVPor0QuB4LA5=6nzbE)p($k3o$)Xv+UIy6#t-AH%dK=cDv86tE zL*Lx|VRp6{^b}yV8|d)B!iEVMi}Wiws8PfT#Kc5Agc=$e=*L2YRRq9BiwiC;K}=jl zSC<_?D!wy@0#By&er1p5b)yU8g4|Qf_<>B!K>KcYozX@{4QugLia7ssbhH{Gq(X!U!6=HTpt8w~Od`r|#KeV7>p+?n#6BN-spnUNn2{P;&FaY=vR#Lm_MT40jevy%t zrHoDy0LaI>8X^O|*fG2~K0a+2U}qV6B*!67eQ=k?_m&puH1`nw=&7ukU)si^z9t6l z*~_OXDrBF$dBX}FZESkl5Cf-3iGQ3<7?@_OLRtYOwY0R1*UChXD8M#*G-c6cXlO_j z?nW?GlqyiLBBWFZRoL)bfbRtHY}qoZruX1AiT z;(#r(zD$)J%flV8Y7Xj1Spfs&@dYbDaU*m5(37C5o{FiX-L>m1oJoiUAWmXv#E2)i zPR_j(5yXBAL4MPG4W`Uskh(+v1_w4uO%N5I0Jn=551m_pk*2e&>p$ zCjkN8fq|C-Yot*+O|A1_v?n{@F}OHdm3@Va;*0Xbq4A2iJ-g^Bh8q6$%j9mw!Gs8< zvZl7yGcN83WOyw4*<5~Y4CLG;aJYuMWfsPfXkn9*&rO`r^d{fJrbaw?WNADb0^$BL{Y5 z4Gs>HaSlWuOkuoEQ~lg3KIm4FX)h2-pupNb&oX$E$gl=f%^loYpHZvUFPVq)CQ%xG z0tp%Xz^1CALWgKoN?=+%NZRb=;s^puu%Q61q>)L+I5BZpx}MqPTX)~4bPqUk{xh-Q z$Uk`S;B8_enaCwAdyKx}1ri@h$;-=QVEav4S^!*hDHubEQCy!xjYczMqgaKLsJU=f zKtN;vhQL$4bcwBD7OWeCPjt}ok*Dz9P{;^02a1H=hH;7=#>U3z$YM7!>L7oN-%VUZ zgFCb-n;lbHYo15*E$SUw-T3p003&hTqPU_wcSGTVa)Kr=D#VW;Ke7Zk(^V}xFvI~f zb}4`k89YP30)G^?&=&^*P*IVUjcq*`Hx?H)Qvls(RzQ6E9Xpia#6p<_MS}2#21nGu z*D%dd1Qr?dhpZkXev=Q*M3?vMqNoJmtx+v{m=-0{lBSoAQ^RFYCd@x!@E8Sp#xcBe zTM~qn^3R|5;k1!8^$iOR-HYBaaQj{O<8-Qv|Ff5&t`ms~)h=(M)4Jk-O+~*7uq$ka zXh~eaq43$P@!-DZyExpw1A&Cv12>f*8GU^r_z?LT$rNJ%1ttQ(bc!cVtOkA}5+&$- z50YOAJ{39UspnH4pL6MB^>ZCEnSXHO$(qRA+`UJR#7PDo#_Sx%IGFg{$7Kq@PgE{BmHomc>95k&e54`&8Yfu?4f`|u8?CMqj8;RA3)Gj2}4 zQLTG7S+C~~%A-x4tSQ?{iHXlO-Jqf9{pnd+atTtW+irAR%!&@qzyLSu4d$hvz-j+n zE*g42tW+6c70Mh1=p|un21OCLeet)klmXg7)ziXga+HEWir{V(WGHf>MP-Qa%&a;- zhkpC^v$u#1$I$T9@#7x!8Nm72fldTCVr47%KQ2578=6UkvmAFOz>rW1BUJX+d#JK- zCF0ND2%4Z+e8}jXfn1awaGc*HX8J*MsPs|buLmh?3Lw+5tbC&x2 z*20Im6u4=`_E;$Wi(|T+4O3#e=`L*~kdf+!hbw*IVc)r|AZD81#PPoS~T-p-xM zmaN5@zcExd4}&Q5A2HhvWeL3i!2GBa(f9`Cy;)U5ndHt5jIOQ12`9G@0P}(-{@0BJ zp%%AU%JTGFjc!U6_K}#(-B)JZSL)vl0}J5~z)rz5(ahR==Y%vSU2z;iv*8b@8L;Kl z%6Nh@AZ0^^=8-<&H|}#0vTUi3HdF%Q1mfGr!SO)2!zHEl{C_JXNRp7mt zrrXNM*kV{;(bkr$%h9y)uR<3JWB(Z<3SRyUPtqp$@P@n0Zl7^5DP5!v1>=g1zHs+; zbBfFeh9t@5Sp#HB$Q>nD`7WrdANHYwpJy_*WCGBNjBTOyUtCn=Mc6>Y zQOHHs*lK*Y+;vkKT~QH{S9Jp>R#t%{R;E1NBO{7nmQZ;xCkqZlx-4kMQX4|Y9Q1;5 znsgPgnM8tBjzw*Zfn*NN&Xk&0Qc|a-tF86L!!Yq>N()|wtaVZCC;SYTP8$cv%>)!C z1zgBMD#z1CPaA*+VhnE_Y-oBwWZ@x|x|dgt$@A3?eOv!HGGP2MIyre;s3PeqV#ZH- z&bKO3A1oG?5(O|Ar3mH`Vl#z^jD{8Rs=`Z=r)b5ZNet}?d0;r!oef2Hub6!j+_Gr0 z&jq^A1xkkRxvXieA)C%Qlnz)D9h(brcM=aF@j=d2iPM}7*cMlqX&aq}PxX7Y0}pY) zTgMn$(NKET7xs^J7Lh4o(Eo;QYoq8S)uGzS#Ojnd$K_tz(Hi4bfDAMV(? zb>GF~R;H#;TSn=3?yPHR;gIk>l!Fc@-gyJi7h`AP%toV%iVBcj3{sFQB+#)ApMPV@ zPSesll8;>i<~+QeaX7&-E?WI<^t-%6$0gjf(U~}ZejgVVoH($WcK-b70Zom}Ago*0 ziQ)V05qr*n7;^>qh5nnt!r4%+mapiKJ@g2jAEcYRYH^03Ge`tTH__K4(HHGXgHVnn z0q<#j$^L!&UNw!@z&SUI3uQ3wv=M?S@e5Ro-ytQDi_3rYB@j2%uT`W?h6z-k{{DVR zp4&}ksid_F)=w;>}LDZruBz-SkL15FAp26`!eli2_0(5{6SCi=X|uIY)XDKct- z0g}RRyl?*woWND{yEWaHFg|owft=8ezlzMMJoIuo2{#m>hl1i_1y-3@RkU+HS5!m-A3k}ql?+A=9~<2B>R96GXXRIOz1b=rCZQ2E zjSL zNQsmyOeI3ef$0vHD%^ssBQ7rP6ffAIvgsYLHq#0}3UY0s9n5y{#X#$M(&%Eh`5d}M zxrzx$(I~KUb8{$H7u3{bVbNjr+kn;~BsVhC&dEswo(KoAhv0`1fF2prlg1p9GDTO} zM*qQSC(N4>6KB+&5%fL-Jf*=2KtF(cz?m>SQ)(iB8#K^z2Q&Zy#+VixFYgmLUeG^| z5|qP_x=fU_G0;%5o_kSjjuz^PbI*Zka5+^U3MIJ~0fu?FLEzr-Z?uxIG^_i+vnhes z#4ynTTNmb)Z^0hlcdQgT49>i_m)9EDD7PnA%RYesNDw{{jVP{rLXQ`6s*d}T9R`W3 zAyMjlS)4{Tt@3r7VoAoW3X3wye@DT(2M1ev(r_US+(q+CK{~27HYp!%stRG4VNrnF zi7+lS^^o6D*@-yVG=xL^v}*Ns>O1wt%@q|JA%Q`8gmiHbEmAm4bvmXX-=d_VHmP71 z79h2up`rGAX7sl=si}hK!(hu0T~Td55X7M_LVP=+s!ESc4AmY$H8vpu`hEbUMx?Xx z$w@zs7%9gw4-_ZpUa*P-D0Th%b!E$w*$D!u z66+o=jv*6h12$X|B8gg=C(u8^S0k0f_Kk*zpZzG{1a2n)k%X=AH6~Gxt0^lV;M%|d zq5~{gQddU@Jj0$LF{IcEj7J;>aC0DnpHr`J&{M}Qt3lgGgG}Om+_8VtBgSZwV>(Io zoo+g&j-g~U<6bYD#D$Bos)YK%1w%wY5Ch%0`_INEHhuBHZFhHo6~QNsaB|Tg{vB;) zzET&yTujD1kQti0uaBMIQy>Q!5dvAoRA@BktveXCK(`zA=2)!~Om|&}qoK5vGFQhJ zY?N;TEr`S0e|!`t> z`uO-D$6#y>ap&{#dPjNr2E^7tNk>V^DMp{6oVU3#52LTxp|6Pbb$#FMrh_ERj6fq} z%s?7wR_(%w7Q_aQkwtQe9FE2~4(>$FX=b|(tf*S>e8OW(Aad)oFayN4*`d?2RC)ti3Z$gJng#w8!bAl16TUKg%UaDXdP)zkt6wyA)ibA1Y^=s|ZMXqbFK?ja(^t2WPo*SC>TaG>kZ7zI`#m+)aS0BZOa z^#t~cD;iiN^v2)7`>}(0&l8LAa zGpVFJAYfR2V$wkFh17*3o{ZuH-C(YWdHEA0Ft~kbVYpoRW=UB92P8}?u#S{hRG=%==_4h1;kxfQ*%o$`T*`uf&TCl##JOt*~kmW=8|1LK61OP zp2cOmSsz&l_Xd(hQdeidygel}6YW7OyLM5F4VUpS5Dmzz@V|+x!uIwsC>o$I-dfz` ze%9gCa$8-L7ShdwG)_8YBeAFT$97||!O#g;o?%Foka@IeK>^7u8|FzCmuK?(5?AIE zofmTeZk-I+e>mU{5H{z}o- z#W_R>B3x^;UJnkMA*W()yOvv2eq0h2&D805OdS!n)Z$9O?I1pz-VF!Rp!B*0#p@}u zABLkaGl-dAu(H$SV!SQcmmfT{zt;EzePILvx`?2V=T%jUQB|Xot_Hh7Gbk-6kZ#HC z@9eyVX|VJs^{qV`>BU>uG9X$TNITw`5jtu&Sg&*1jQk#C8wf-&AcAosh7O2`Fu+YPu(tBX2LbP!S`-(LZihJb=rH{d0?Sq8gCE|9ryXBQ2#8oAO3 z*MZ^cuE`Vb;W%65E)5i8G|0jitZx@s7O#uPpj9#^6fjXrx@a&C!^<~8KsC7lGuN&C zA!R)5FQ%G(7lA6ta0zBcZ{E!ONY$XMSfDHJ3Vd7?NFe-^A+0=cXx zRwK@Njf6S|d^`(7?5=cwI*qa( zwuewi&l$%td5DWXailS4_wCRtjOwGq5#6&1{1+eztjXHm-UvgGsLB+O`@r&KAXtI* zmsM4bWUjo2QB0tPhenBoTTdc!=LU5c#mFxD%S}If{N5OnZ1n5bC#V%52oOUU%Mt23 ztC7cW`)bt0YN&pG<+nk=oPu#lp1jOh0OQ5~hq5=1>v<3VyuV1ck``N8vs2b=*_A}r zgoLyRm0h+}B9b+oRCb~eq9}V(B&QB430W$Mk|atg)jTif%-l2o-1j~6nEB1jQGGw( z&*%NQme=cby)LRm?uzN@K^zBjXEjcP_+Ow|Md(EwTDP$dX%3f3ze9&6037lRgw-Ud zQ$L0bc*>B1#4U<-@)so_s*BLw4sU}(k5Bz%|G7u^Ir~aV7Hs4S9Jkyi^AhPOf5IA` zw+esAi*Wv&eo%6#t}kpV;fk(fG#njsIbQ2NgvI)J4!kqR<1S-|*}S22IGXC}aWDm< zSBw4icmZS){$Ws#i?CDg&UI;oUkUncn65D7-cP(+zrp=?t-7iAn z)FlTQEXG6uTGu*rKXbZcNYsn2wr1*BgbUkxW8t|x?kq8#AD@mc75S9R`<0eodhT?4 zk0+fDm9bn)P@e^7E?sKMh+bIj64atmH}O2Vuh)LT!o6qvx`+c*AB_mTJ}H46`c4~( z!Cwy>l1WEi291WE238JXtKV(xc8ti(O-L)@2=6hm4@$9n)o~%o*nJ=Wz&+<^&<%tR z7*1r2KD=c4a_*k+J7EtoOA*3`H)I-`4%kQzHX<<^HBl!a=h$oVEYGfWj{%1!rM<8T zYw6%VzPPVnl-sXNpYqHNhyA&t($BTfb@Nvnfb0Mid7K6X>8ez3+Zt3ezFSN4&Yc-WTK<;!1`kVKiv=&7SQ8dLTqPx?UL| zr*FsVPv7#eJrErAN4G92>vV0(rf*idxW!}3lcc2g2s*$T;Z(L>zkc1oeQ~21fp!7Z z#&4~LP?hstLf(3U_JRdTB7YjGbqo8bv`4d%y8;|BTOspE6d78jdU1*7C2uq`1phd` zl~xN*$T9Wy-o2_k3tniF99jwLM&@#Yl#>J1Z#;P({+bXFe+EDj6_ z!dGG}7fLh%VBaqE0_H2(RlVDhI;G5!A7N_EIys1xxUO}cJhFAe=Vq*dZq9xGJ|5Z2 ze||~=NJU=V4spr*BTq^k2^o_Wk1JAM!zN86uk)ouB(dl@sVr^hAqST)CDC>u4#Lts z{hq7t-K^iQVS7SDLZ(fhzUA`e%TYHBWr}Ba*@kKci>4y>=ar(wPLt~WPU-jWx*a+w zn2770FaoHDe>4B($@DW?R`HYL7!vZbKY!jucA*EEZ}Nyjf}esaqAoO{8-+Sxq`n2& zS6Ff7Yra>NI(x-+sIQtlJ~`pak*DTs&R@A=-m^9Edgw_9OrtM6r&Tn2o;zaraG1`7 ztgQBZ`t$*xN8*R*g%7?xd;y0A6S@cQ-qjrHH6wZ96>G19dAC9rUg&+EcubX4y%9|LvEtrjE$nc#Uy^cqnFNzjdzR7z!@{Ah?oR4HiHa4&d!@IwWKp zis@tAU!kADB1vWU%7SRg%2PSbRCT7*zwMAD3 zJ?fukL5GbNg_j=|?G#{9k5OiGTOOL^J>_g+Ny5D=ufs7GfQ@u^zF?8-h(#ex{y6Qt zE8EV)+yVHWyLgeCdK?Q6@ax^Nv9)Vr4_Q{Kuk+{_z4X)1($WKGblu(D0FX{{sr1od z54@0j7}V{;!;79BI7*F}FSJ@zt1I&$0AwPTSM9L50hGeXku{rrvz8lZi&ypPGtP&c zBBE*|FAk3UGTNfM79D`Ff}bjnkLc5H>%hL3XqD+ouU}Fed);$w&8Xzcdo5KLy8rq$ z2!|!cKETEj!JVm`#Ll50a_IMG;=P1uj3nv_J;8k6cuEdND8&7A?AWa?S-?|Z9VQ_7 z|I;4f&KDTt>2v4yikSkhEDk619JH1)_a!Y|RPwub)?6?%OT;xHk?2fGA44HAKv&^< zCTuRG>ayy4IdzFlfg~hsr#=rG;6;^0YiQm|%ey^uDN7))$?xcNLQ_Mj`Z3B`vUDk9 zux3r}GAS5xY|F8h`$mOrlMCnVfry*1dop*nQPZXmF?*y;EU2Hk#DKy4@wkdmvhv)~ zRfv%YR##8&>^`$bzpdFhkgd9RM|nk;8ehFL`uy|Hy<@6DI+$;ozf0BXv(wr|j&CYA zYzn5u4XeDBw}C^(Oz>YxlPxpmP+qQUbSt`I=kg4V*Q=cYllu zg`P_CfsLQGUiBT^c=ORvrHL!*d@0$V@$75H;$Od*I}+9tY(mD5XlC-ndj7aG>BFoE zx#T_nV!qiJjXQ4vDaZfo;yL5j{`@ir=E)L02o;jMM?0^$l<>B*XyCi9-Wml?%X|Nxv5nmpBW_U} z@fH*KxstT^E}Zz5hR?2R&5usMZ-~t#(877Q6?2+oY^=A%A!K6jAY_6e+H*#fEo<}7 zF!gcwwA=6}eP`BgYO>Jq*rmj_QN9iOCTl+cy;YTcB1gvRb;>+;=hVi^_L2X5>C*I#3)k!jP^MplT4m&?ZGy!%+n5jdp$$7*|F|2fx3p7Pxh zc6@7C=!ZSjl{D<4M|5^h#%cwrwVzWRZ53snlfXM56ac8S^5RO1={rJ_cOF$m-M+S> zv=vy?($dE~tj#y|CAQf<11;|#3_W+&p?fARCU>Cs-k_@Qtq85==lK2@9|(+2iF_+O zm&ewLVh9kNhrm>`7#T{|;LDyJd4kBl)dGzzaz%kKqXKQ*yz1)?-yb6(&5 zsIY8pgI&DysZQXF@thKWmIZ~6iQBL=y^GphS(^0~_T8p0erTO1*SGqrX6o!j-Y20; zg|kKPcWmYmKBcY&!lZk4mT3J|K_?AHyj&pPI@c zp}c`X$$^3FsHB7=iC=-sB|n zHHlYt=a+nbc5HX5jNm-m8`w4=u<+QC$!Z3~e`#0vE~A5|x#*~V9^Nzkmn*Ce$QuK* zs~At?p^FfNIKKb${W*hHD$>qf$^#Y*(Ows*saa7|T#bQ;x&3E?F)k!Tocn-MhrMIn zs|F!=qVM|a;6a}qI})3?wJ z+vXhpU_~nlzW~YCfed^zcF~ypy`k%7OpSfk)j#ZY>5;<jwq3aEyibldk%6geXy^va6%$jM zR>8IyV=;5?pug;btG4>pd6zF~nNUYJ#*+E@ziB>hVx0{+4Kyh@ zDNGadFGc;MH=v>eP1%XYmd?KV`v5Iv>KKz&X8LE5l7$`j?_zSKYjUrdgQJ;?{?>yf2~X zMb$6`#2UEu>7A}qFTW_i@iOLm;j#4zR_nga(LO*+z#-9{X`mlUs46Sa3#{*|ZHKh9g z{$T>qU!dIfZr|$AKbcqesi-NN0K401WBj+y88&69)8=_Oqz<*1)ARi8Tel`UpLgv! zU6d!x%yL}_O$gZBZ1gCmx1IF5w3ivu)oP%A6m(1+|H@I@Y-(d;B*IcHAH=M%-FHJy=<xp1AgW{jFlH+2m_f zJ3xV4b|d+F$>>F4pB5MV<%d-)KnCwJkh=J_a;vF+1fJsT3um*}=Y?``FS5!WGS+n9 zc~DlZ^KgQjRA+vx&iDlB!cD=E6izN1JetDWVj*5@g0+BiQxO8Z$Um@|2=dIeo`;(O z323sF(M;I=$>F>SvO|K0%j`D>=Gz#^yV5mDBSf!gQ+Cy0HM5o41Dy`Iyfq&;rWZvxm#q+W7O5NnX>~=-J2>Bgn^ri)ew^Yu6z;uadY+M+6440 z4`o?|IEym=G{hyp8Rr0|??85T_Q(;(K}M(~#P=DPU0!D}Yix&fX@!6{cF==LfleL* zbow9;XyRswop65i=rCk1>$?3MwCok+<+5er>CVgtul|-j24O}AeW&Z&`ZCLe?Jj~2 zrdgR*>|C}rdfPy=4w~NGKSt1)%#GUk{6rU8G<;B2V>Rrn0f2oj1s zWS4>rBUNNna4h%$COsHFT%Wte-0XD4-QI@Rm98KGL3@%w9-}9P-bHb3#MCxu9%AuT zn6o2{#TjU9&3_SK|?{iX4qR50h#C}-zA zL6aw`H(lXX^2zzv++IC;1k>6{1`!k2ijVD_i@+Gf3<1!9LWH4&#+aZ`T2h|K2w-CL z*{A1u137xwl)#X#Imnd59}M-r7+tMK=FIHh6TDL;lmYqz@}M#(Yw5Avb|tF!`v)DS zU*u3`evr!k$dO)qEdbhS%N}6j7h;m~w7&)@l}sb@PD4$S0+7=_;Oa?gnr+(bnbcLr zj5wFD*At{uTb3DkrGXHt@$)ygP;S00=fUc_%&0!Z(jqjrh^&T!38I5qdfWc}`^U`O z^fz*|*s9yHxv{lXu_9Ne<3E92rZ_}$HpBpsyl{hYFhop?IiFM81Wqhx*n~DYs>rR9e_d-T#WpD*1fXoTb^mWj!QaxfI5l*)9@L#?&qZGNReEFXp zA!{rAr;hA6a9{w)g{l7E+j7kINNQ*k2OM@9`;dP_Feg*Y~LTaU!?4Sj{c#aSkw`IQLWN%9O;y zg&#B*bmR2Myp)X7vgM2PJ+kCxF`x}2F))NDaWTLfjxNpe>LOLr)%>sQ)nKaiH0S>X zVsW$UpF}>$%n~>Z@8b?O`7LlOsgF+kgP>iCAV`F`0w-d|V&F}-8Jn0Es}mpV#n zx3+Efo;b1KL`(O%>#8K|Q=~8gU{Npe%90EKkj9RI9uC0AVh;s0AND0~<-h~)JgdCW z?I5g^satLVXb?;&Pl_@v&H31{RyR&uW{Cn&c^md#LA`lYK0Be&ym^|t`b<|1$szJgGF@6Ed9XLvx%?cDbNb)yV6{Ddar8POt}+iF*!mEp)oo% zpPs|TIl7#?{&RM{F?gr3P(+Axln)g}D>f%D_?@sorctx2tWTjb>-sNyA?rfLOr67> zWj}-nzYxu>><_wpw{jN~xf35}oiM0G6SM1IdPUZ(VP{3vY8m4?5JCLgx)ux8*Wivz zlO*yb#=bryTqD z!cXlt*6M%ObfPC5)72lU$!F(IS#CgGxRMYCw;MV(bkWtDb8YbR=*F8NbIme&QQrz( zlhy(5t_;>{97n7!7VnVQxlBsgLraRskz26lII;?2aebnX{D3TRNuvZWzZnN>@$B(QooiXy)2TiI+^nc@mqNjoyLG+6zu-Kz~ z7(Ft1-TZZ1ZZB$9{(@8;>FE}{ZxFR8akAgPPjkL-l%|!BMAnB*eFUTRl2I9W8M^7G zo`{Rslhr4ETpX)KuxVQb5KouBgFi^}IiUSUt@HM=9b3FqQ^*76$IY#+_c6pwA!eXW zJOiQO@qvuk;2I|%`RUV(!ow`M?G>WhD_X8(>;>?O54V>ysrP3J1UA4YIyFde? zn#0+P&K7I^X5dLop#f;%9r!(Ln6JKjy%SMC|4vJ4e7F6w**yc8GLy|x!jIE2qRJrQ z14nAxT?~Ra~!9H;dc>TKSkj}%# zTl;>eXC8peUdDZq&@lE#l#y+C)NZ6>z}E6xKJ$=Q7ZhU6*(ZF>mC^x4ZX4a^f8ss- z<3=oqK2tl)mV5Zt>BYeoJQEyJ=7ba5Z+;UxEewsBm@l*6=s?fA<=0MTv0VAZ{8Li- zGNw-5Cz2_82mZ7-3TqqW(Cx;z)$$BRIQrdY0r^xMj`#vp8!mHH0&&x0Ajv=!3>BBuJ8@zGZLWiP2OSQ#^>@kEZOtU^JXNt&j~K6~<{f*`>&rwf*LrMS2@US}c2 z^B)ZjG9we9l+C283TX-HUwzAGch{2Zpr#NW3bXe(aZnf=Dl1DRcfVvV3W3X$HPLTS z;qsucbG%Ov+(S?Az`9w;*rk3!WO7zLh!J@yqNL``SXZX#)~MKi0+gy|BWq?)3YHBA?5&A(t5{!;&s$5>vacyTO93W zA0V61UOW|D$G=mk+i4TU-8yVqSeJ#+S-bx%1{h>BRT@TWS7sO9Af7`Xfq@F#H^{c% zv15~$EIDVPJhs&#wlXM!dDy`MdM&Y#k}eUkF&Im?YY_#a4=cV~)f?(uaJ8qSYL6m~ zuc}i>D zoWVu_qTKD46ogN6Bx|E~rIz2p8*?}1#ZsnCQ8duD8WNbiLe>7JL($ zE9T^z-M&8FN4;f)N7d`B)qo}M+0^6kGa017O}>US_~Vv^7Crbn<;G}*CWE_ z4Wa>Duj6jsUCYbWn9;VwG*vKSRBMQC{r&vnxO~YvJSurCsB9=@PE>9nB2tSX9sje+ zq^7zGzPWSPt|OzDB1{}etJVbomn1HmLaE1@o(cvIFk9(v4PY-x59ufPEN`5Ibg>zS zIYI}0lOsUdV^M>8ixyoo{%*PkSy45}=0I?cuU9U}ED`>nXrX?4b7JnspJqXQ#k&jL zNB_D4g-%>I!z_nmC_*qUUnZsSwc!9u_R`U*dXSJK<*H?5T}~!vN0up51hCMu%rW&A z#0`(b0V$<8c8aOq?}}Bld$RRrK}8|j0?uAP-n&(BoRS1k*RFM2L=cX^ z&?}x__9#2AHjcgV#=OvW92RlB1`v~Ru1Alu8A1b@51Yx-jcrjMF>cr=%Uk7@hHL!e zQv76Cv5Y!>`V{c@LMid!03?5d{B-Zx^RJrXaVCt{1TxB5OHvIPk!=c4AK% zEf?W{sZmr8BWRsmkDI6(crhUn8M%-P9wUuD5vL$|0O^L4{e28R30*EP_CwW%99w#mY z*)HaCTw`jsw;SK;jmg4$X-?5H`iRXCrLR;7Rlje_rkO*1ZR5>`8;)tFlrw=0LlUR- z6LTt_ZAip(&<(7Dn2X0V2!@@Pdh?mq61J&YWMGW|NSi$!*&mjnl#0BzEVDm&HY3Xw zJ2aitR;~wi*a*+|Uyo{6K`yZUIyln3^1{f@@{vR5WDEv4yUOl7kWg{Bp(E z*N{BbJxQE>cs7MV7E4Syad1ZEn~C!g7S4A zK76=*`?$f&GD~;uo5ZuIwo*tEV~%bBlg)P4_8QBk4j)4koKr}nOnXBt{9`8xOTxiCM+Ifs^I*dMYywCwP# zQIj7}>v#2^q^R^s9Ssud_iI09jQX@W#twe&oQYy}my-##;Y4KQx&+ zf|7fA?qAou{Z?L{$O>wl**)59ZzKpL4N^$R*381lSQ2)Y8x; z|78D$F%;Jzfb#hMVbxWi@jH!m8O@7>m6YX0fL+okmwtIQqu2I{VP$q(#~B-&6l2)o zZP7CUIgWgXrEhOFC-Io@#Svn6445b;4ov>a@oBa@0b13Q&&#~NLJean3h$nquJBnF zU7fB)M2sfFQ|$VJX=md@@DHbsu(YzGXBW&*I)A=VN~Hbx=v;A3{FWU@6Dx>PwAHx-Rt-kB0ao&V4+lY4 z?vkHU2PlViLyCtwTh1gH0&@=G2k`jCzdw`She^=sJH z(B&QjNh!D2uaGqYoD30(z|@znI=^uAqzE6MM<3v(Iv5&iLr5t+>BHZXtEk78yR@hD z7+#uU)N1JJ&fZPi?y6Hyd9<#dBnVcN2vrMS5Ei&}XM!EB{q^aNjrpgNtlFBE*n$ls z4Z67QTWINKY-()W^>1oy$}RaVp_~zp&{=eXAA`5t`?Z_KPPUb)fQ^u0ZFw(-P|MMK zi}dT|t5h0W{zqO8ELPQN&49sflf z3~I$(q|mq}vjn6$C5tEj<^KKqxp%9M96AKvqP4XH<_m4>DXWY=G18s>(HHirlfJ$x z64Nb!QV8|X5{n`v<5B+N(-=_L0;%M`xZGY(Pfse}`NtYZE944& zYJBZ3#W9kpxbA<3W-Aw&g!bM;8oLu(^|ev318s+Fin_gSvO~=F?e&qYbDOu2SMoo! zIp<&_@48D6v`Fyg+8Tvor}0**Kyl^Netwxhfn?PSeyygaY6YGbF>ysh-1n`rmtRU( za9Jc9#f@VN;S%422Qs*Sv-s|=&dE&gqA3MA_TG0oG|*dKyy>0bKECCj_KpANAC(p@ zT2LRwOKERy?UChJnxrDp;nXG|J`JsEdgV&j$$N#Rt;gd(bIm^BIgg~M)mAMZ} zzqbu0DJLo+{l*_6BV)st$i$R0lXXDk%aPoya`Uq_lurFyC{$6@#7Ne9S-chlwiL)edRjRH275%2hEh~5HI90O_{PU z*r?NpKgTCz93QSUW;E|<=Cx(JH`n|UZ|K1;OG3u~`^P8si{8g~hOZ)tc@l>91N1ZkG5V24`bs`#_@Td$6 zzMmRKxO|<`aevd2O6|ec3vy2$v`Qr6;ZnU7F7?=dl#* zv~$9&r56$AVM@;ariVUs8p|y=`usAo6LpDdTjhdgnB}sKC~Y|t*1nIg@86?Syx?tawb?CQjY)Ujzhcn51kp3iMhg=6QkUCY z-JOc}yP1fk%nL}mMLQ1zP%tFzBb9MokD6bLjdqMN>`!9{w{SnjcK^O_H3OI5*}PXr zQ%_a%Vn$CqV^*AR)sK4#GN5CqlBWJH_Tk?0%d2ubjqQ}EbMRc*`)adv*F#IU(qb)u z5LH45rtri!Ifp(@;TdG@3OCx+TZIV-AFF=;?#B7J+VlLCUx1*;B_@uKt;3o1OYQrr zzfkwhl!D{b{ClkxJVWcqxd8rp$mXs`YzoXNh?&)pN6qwzoP7d|?4T#cgkH_XuakLD zWq!?Yn0HrMtU*_On#*Xm(-?B0-;&|poi%nER8nIM{}zeutGcGuTimcX^-7Gm{rzv5#=cV>UFASZ(X*xRWBH6NCq* zM-aRC*4)_wa1ZY_rCZ_@jOmyIA`IB3Sl>X3(SQ-L{O1>1f-WtN7-F@RPB5TYdSk-r z^T72*nPppiXHwHZa48fV3WLlYFD3?rWyNN>{ZPe7#S<`5j7%{yNgz9@1DY}h_dYVQ z-2l^h-f4doFR;E4=-Vi;1^3jJo>=-fYWA7$YBuIu9wib|9$U;iPh~G#p$OEV~)}&8k|hIP3MmYEW@(S1C|VGp#E(^5%j} z{a-bC(N4cAe5UOdc7w4~dsf}6-nDv5p>^l?_vEBvaPSRm2hV}Ygmh$7&IUGUE zQ&g*zFb}8;VgF?Gi?Y@h%sgos?7i$6sjDDBhh(e`Ut-T%mHcOC)k4gBu#~BZLVQG+ zBo#|`w5M1RmTvLzTd6Yl8C5w7Ee+kG9x)lGn6FHFvoaX>mi0G~^9mT3<&dK-IZmVWz95m8Iv z2~ncl@8moDRO(OGD#Wwx_uB)_soBvltpC`+(dY4NO=Ew5-<@=gu8V&gzGd<8jml`m z?%|ENo0uRolU!#a#a};`)rx7Q<&BlWSCT8ATq-2;iN*npa>LJ8i=~;M2vGGM{=K0X z74zdmF#7~Cq{%Vxs4VD)m~_gf&7;##@^x((`rS}ja8`ayIudpsjHL>!`Sqzi`q7h= zY)0NHTPO^K7L&9+Y}nj6d9PV=!%S=(rJOIq11VS(op&9+@w1ufLr1oiRoJ6SY&1AYxP_5ZkT3zPmN3EC$oCBuh)1`w~K z*gz^-o|MLM1({5*Ta65m6dX=oK}ft(LK*PNe`A7&;ckDNk`uJ)M^Ie)D$aST$B_nX4gS+rM&0mkdm5Zmb5i!U__=& z9LnC3+22IJKwh$q2W=d8(#?9l9&puJmsGZB(W3m9k*AYZGZ)H3Jl}jw+4t|}&Zj}> zou2+G#$oq*+>l!?1*fjfD_L?X((YnNTc$e2Q4Pu#;Q!QjM9Jg%I7Nry!`sMsJb^0Z z+OoMo8_E#kPPy*qHg2drkMZ6;b_T-l3$A*8Z+URwn%eJH(UaPEg?5q2wXC}%o*WvjjgdN;Q zsC^Ks?Bl=GjCLP=XY)*$YFP{}b7QO;LD@N!x?}#M!;R4WpN^ zI#~u&IQN1wM3>QVShBK9VZ(Yzg}A_-UwV}#nu>cq>YWa|xzU{{MzeMEVUd@pUHniriIcwK}?wJUu>ug$OU zG;=A;P#yLATRory6+RyH;@uCwI+vf=N_wj>$vSJ@;- zxURSR&eS0e3l}zIE!jnu>~u2itPzKBGe0Xf_FG=ig2srjl8P9f*iJrfDDepTCcB`Z z2g`YDr@u03wmkOK2)hRjqjSO9nn1SpOvc5f4|%MSU8H4RK=H#&z&JLPYaQS4z7fW4 z(}6}b0G759_%AGdcHqSw8r=E{RS#{~`fm@ssXlx?o(HiFvB4PDc2Rkc1%27ZAYwy` zsjVQ(0Q%b~-RRHFB$VOSdCF3s^Rl<_p2576(lDH5n#^fD$>Q@~*oM|Jxsq zPYL}ndGgYw7Zsx$Hg2qeo$7YFtAH{d+gLms%e0>X-RbknUC^)BK^9i^Ox~fY)0Jvh zT-uWyAfa0-8WOUencdNEeVM}d&qaq!{u0-JKcvAa&d0dly&Pd4oc!a#FPbqJ#=haB zt6vdYB5;afnTskBGbxWoe+TTm$M2HyF$r(d{_8>>7Mf++EYDX=3ZMyL4aYtPU2}0C zAIoPRiQ3HQD7nA*_Ay`v-p|8r7SO&y?xqs6^RBQfDVF6XMj#^=*8)sC^A$<@6a9Vd zFK%$(tMlh_yDYO&3#=2vSK}w|3$y>heH3*YaMYXfXQCfTxQ25*8iV1#KKLg&>>3k* za?I&9tFb%v>2rBbV*gox9@2{&C6#GjcKj_Eq@1v`$K}w9kMzI|_6Cb!LclKWxnK96 z7&>`huYUd1vC4>J=%eq3Z#H?~nSoJwazisma&D5!T>iZ@dHkg(58AYT34tYse=;FM z91VC_#b@BdIJK}u#sdigM%a_x{q<2NVC}B<%Cx9XRcx>sT)1O<G2ld4AA;~o%He36A>|Y$y533rV z@q8iQQF=qyW^KHl*M+1XHrXSimgSZ#l&Zda0{c75(?5aZc6K!KK6&PhGSA34V%Tu{ z05*HFT0A6aHFP`=x>NV=rnwc98~v{XlRocDoKqe0P(PGuGHpbv>N_~L)*KG@Glak6|O4cWW8p30;6 zznosTH*_)G@WF4q64gDko8vanglrQyW#GraUH|JIr*-`)a0RiZ!A+bK{$FAa5RtlH z;2!|z|2|;-pTF#H7J(vTOUngr>e4L$EurP;OVWjrYGr6Z$m_51?=20UI(2x7l9bQP zkEjFA7-JkRvL^bSPCa@E4DQ|3PrBNn{Ly`6R{%P2+wMX0F`kEoxF^*=E5};(HIzTA z+%?E%APdG?DcEAaG~1NlJQqFSWrAe_4~iO zoiK3e4g$4MX;O`P4)sjx^%V=?7~0}OwAE5?kPEP{aeC4r7qwYjAdPFC1`Qhg#>2jR z(j`Vw>2qbp%?K0uv2ee?f7%2D268=hK@uK9pQI3_HZ9)_Do^{<39~hXo;?fU{8@b% zdVdL^#<_w02D>P{Wv>i8e8*0m>LDn8;qHH7SU5cweQ1WQi(En`tjf#<3w-ex)L;xh z0VXc>@`6!DJNQRqlZPKPF3O-~Z1qnaS>?cVKy>^mdYJ*!7V_^4^(OU>GsH$sA-?f1 zqn(2?UH@dJ(v$qdL{rngE)C_!K1{kbsor#FtXfvG`-zxkw1Xua>utA=OP>fN-4Wyi zaD0H=F_)J7f$(WSV4}}w2ok=$C6U9sDPQXAJ*C~}nj5li3)w-+)x}eJ{@Ki;|3Cj2 zFul}zLT3#s4kKN^h?cv3&TW@ZNrF*gF`_2SDVz5&c&g6|Ev)kC27G+-YY)ylqZ-bG#op}WR*SWXF^j=;5e}D1)cJZJ1(o;$& z8K>9f-ErD3j&z8`AdNIzw{8vlbR*aZ$aWaepOb@D%xo}B^3;CQ&R-IMByFh#qWgn| zQ^?Si)(6N(Ik$ybHtxWmSEX{)NAISdK8GLve|%eiH)BgQhe$_qDW+vll(DWl@oGuF zK;e%}4=&ugmImn#s~AX}ZQ8l!cQo3;5*!Xq=l1HiNJGqOfuImyI}7&t--&wAc~b=G z97BXf`F(v#_dP3Yre3gP0uTMnu0Q|p2GlT}(x**re)dI2-L&>{8q#Chl@Cmxkx;M} zux>{qZs_xuxp%!?&ku=ds_y4eP^2Hv%L2u73aXO=KlO!e^m2S3>Desiv}oRZJ5|_y zCF8CIUpx1NP6!MPRA_$SZJjJktIEceGH`iGJ;QCG~_SD^<} z+ynFJM^2<9tp_e_d1pgETmdc=_KjM^kZbO`~~>78y&XJ|FOO`29bZ zYkIa3D9CNm3JZ{o5CCR;&+7Ta4T_m9$X#Xy*r>P8JT~C~3YPvm8#ih+eTtI%`l&N% z_ju(T@>6#D;8~z~ksGbXdKzN{075POWm9J~3`WGdBCGk{Dd$iai(mliv);;Kt?!Tw z6xpFc*4Vdsjd`zo>%=hsbL5k;y@PtSFJGm*ME6wS7_JP95iBlunY_5}{GuuK@-3C% z=`y?vJ#`=psCe=3-#?xzJP{c8i#ye#@JZ+M*Z>VZllttLzvdWC_2_1XlOxcfa>P>e zD`~UY{5U75qe0JM!(Mkt?BY6Yeb?!1+8IaCQ)xqtd^`E9gSG(qG``F^Oj$Oc;71ki zOJdINucUi=9Vd!{a%JN-x~E#0oE>4w-;}0L4v++NDp->DeR`TmzIVf|o*d6Y`Ndg; zFpxZn^1XXE1%!rA8Q=m3&~++*W&SM}p)>`gCo7YC-GE#wz+CC))If?GB5S;*vgJ|! zF*=(~Kfk1IXx!%KI(7Ae<4+20))KX47z3zz6_^}dvQWAt$QL`h_IGlxERCZ^0T^dO z($hM|H7xys(GS7i?vjOEvUl#G=RA^SwteEM-mtA#z@bAsTUu`jPA!8Ew1kW5ZPcN^)vgEhTRFiy+L_Op&E|&K+8Q0n zMf~zK&<1`VKK%ZhH%I?`g@aQzML<^YO||ErIB`O4zhWc@-1fn>L}<%Z>%fQM!+ZiIcDxg&6JRSumnrznBiL4+azzqx3Qr_aM_ZC zs0*6XN5DFo6YZj24ePSiQ`ygS8z#9k9o|yx{9(e_pSCPBDh|l01mW!GY!x4$^a6w1 zj0z;6O$9DFbB#F|D^DEAGFWHbI$SESqCMa9r;vv-e zpCpv+Gzby^g%8GYVfvG(Z(z>3e3r?qSuN;E*J^Cy;)$Lwvv1KB>JA*(98pOk+5^;p zKD>p_>GBaBHFl;4260m);==Mv?1#j@|Kv$iPQ&w8Lp9XjPB`n^5R`Hc-M`Smgt`28 zF~dAxuhC+ZLW2SvN%jSKWQ~Dy*$eXkdVv{Poi}HweDO_{#tZd;FEd)=Jjxs+E8P+~ z!br%^URyxUK&6c#f73`y6^KW<{m?BRKi&%euo}Wy(lOPlu(}EbGJ-DNYVG&YlB<9M ztZ>Pqh_**rBtaiV)69%x^Z`7q4JU$s?K->h)(+VK82PWRcB3+%nGx;y z?Bm_Uu*;XnbF<+RA^qyel~+`-uBizWsG3VtRayVRbV$J8%@xCczO?TxY_@d!I2_&Ppe3G$i@Q<;lNdiJ9 zLBk`7YNSBtG9DCD=SyZc-L;@Ekq>kK;$0QCkr*>-n%V)oW^QDg2X_59-6>%+x^a1< z^;!(R{dQP$EvS62j-fgaRSB$3e zk6?rSvGOE%d{@&5#XYEABz%ndWhCbKlwM+M&f*zQ84Q=fya`p%jvXQ6d7Z6x<~%vB z53Yr1==_Ml+t28Yd@--J1hkz6pk3gL8&OZp4FF_YN8qN>G-Cm7ARdmbGK35JZC*6~gv0t3^ zb7gzR6_BZ*xmgxbbp4%c6PO6|IT@rMH<}fh74>{=A08GqHSQ>D^jz-ixs@YnbfmW+mj}!11Fz+ zrc}uMP8?TMl4jPY;Co+VlNG4d;5GZul(=Ut8>g$z3&|MKGz*JupgZh08T{)YuPXxU z?GQq%*Q_C7t2AlS1YwfFCoSzVymWFBS}u41+|+o$fB|_odm=+1V$PjhY?W=22al z1KgYdKBVpb<`SBlJ!8C-d$jNMZp5sxen15XpAc$or~O14LdHi-GKWJpx|x!L{_Qig zJ4;-Sp~oFjnDeWm;!XKc9jo??>7%dNYv0+)QR~N!MGg+OLBau6DRgG*nSBW^P;>Ka*NNdqN!aUet;# z>!I7Hz!Shlcl0ymnpms1n>Nd-!{@g6+&OK_?L?~{u9qnd$lP4- z%iYhDIOMLFWCYaK@-c&N>^1Fdr`FQXn?Tvly>vQJ(gti zPL4?$ze}~t^j!rjv_FR-;bGm@Xa?`FAKrtG9Ia!AVZ(GVM;-Xj-~OP zetJ^(lyRwzwvO}688htjQ}XK+xSc;LwJM{Fu-x?(5Yg?4#1vJ7r5v6*@|O|=F}Io; z$;!-z~jaP|K;fATdL)MaqzV# z2??Qb$9v)qFycgWzk+EhPDJ2Omc2TKK2u^=z6JWWL==zxfC>YQ&vVmT4d2k0;`Gc5 zr9uD#VTxp~FYjK}e+mFp(f2^(OItLVzNSaJ^0mkaDM>A!yj_3UI4pAQu72~4Lq_cy zQv^qz`|rm%Q`d+OISV9r5hTxtt2J#pE9~V(wNcfjnjF_fPmhPs;|<>~y* zEst154QpTCK_OIsl=d{nmGa*7W3+pHBWn6MLuX>utRln{6(J%7x&6urrpY z3y&Q=sy*qBOOGyH>O;t&eA(9-Ht_i|`!fssAG$KHUg9M6Xg9qMPKF$I zRq#tv)p9BGpd1#bwv3}nn8s!-mGNu^ow`}5b zxaqN)g*7PRQ-HOgaqJkAK(iqwvS?$$C+mSmZzzAeer@Zm+F=%%*@c&dpD8P6omJwm zm!{)*Q7HLQrR}2-jcGTR#h;7)$f%&s#)|pl)MOoT!)IB%4A=gSJ|uG1N!}C z+PS=X{@EtG;vb$F%Ns;H=y&w!9%A-;Y8lTC4H*aYLX`v-_6@s>f*9Q>lp*Aj=YgL- zed=X@H;8KUbLZZtGCtBC_XnR!-}PpW)+?=iy*TsXi+`4s#KB^Cu>wb#x_HOD-aA;U z@UHfGcrz_6VZf>W%^Xfv5f={>7U#j7p%4k`Z4@%g^h9mlSwmKTXvh|reQ1S)7sPtF zj<^(OA2Sdsdg{c9TbXdhloK$Z4!nBwDjiyS%wW)~Rvq10pns>IP16lMm>%)V1P>N z{@Zdd1KBMcc)+yBU%e^Y(BaUlx1m5ddiZ?6bh8L(+>=L5uXV)kO?z)_T~AOFTN01> z5s>m`CViMYXO7Tx=%*JCh(~_y^j6y}1Q1q){TMFHyX)4P<4FcgsaW49TE(eRAoMRo zZM@)@uC2lrO~L}WiDP;Nov|-c?RLOXjHml&RsxT`$42OJ!y`VF-C*)**;*qW&mV7G z>3`_ZD;wRJ1PQ7RS{6H`;Iy=WjK;eUs%|$pJL^mi_`x5{9+|($&Dq(bwDR_1XE17k z5_lOeP0!_)qn;msx-h}6AH3X=)`otL?6Vllc_j!vKYwHJ`nKu?(g{5Nc)nk)up3AWi*%Suij##trlY=ktl97NV(+sN zy>8yVc{A?u6%K!KA@)M7=1`cXz zOUXUkVfIEa+^+CM)M-OGir;JMxm5{j-w^rmSXsTJ z;Q32SE}5M&e2iWT=i;S4lRWKu$Ab~mrOimUR)F;{BW%5_?1?lzkGp>EQTq9LlY2$Rk5NDIc!e)?aqDS(CdXrq z`XG6L$KOAWBlgH)1OZIaP@&^RR~luiA7{l*F1ii8XO;X+m5^uzlu7H#qfD`}XT;GM zJmWy4KtKoFv1Aci+ig=89{xJ`-|PK)lOX_I-LVdHX!kfG6xqoIEBE+VZ4CgvVP`~3 z6nU~WF0(14uMq6ZBETmz!_uQ~U5)4t4HmX$-MU$UHYjuncQ_-CW3V1CiXknMea>~U zq%our+xvAT+1I4OgMExH&;qm*4KQkjuyPH{YNJ+#!&tsPEcnCx$;(<55x z0@~FIq$mB>f1MY-w-Aht@iaV{2fciW(ozhG$y+>tu>g30OdJ3w1I4&k%7n8SVvA)G ztUkjm0t=H`n-7otHqehsW>Vb4(B&KbP!1byABct*sp!C$2bqzZxXPUN3+>)t_QC~x z#aZQTw$Ao13H_ToIcS5xc@qyM9p6J$R!1SvYJW$gm9SNe-L)nyERBeyna>4}ODblV zkXJf=dOk08_zRg-4ZEuD9FdYgW9o?Q{FFV>R7MgwB*McoxkITxF!QA}@mOu-l>-L< z&>ssWa$AxCS~Jxr;~q^ow%03ZCW>vb8WiQrosx$-ASg@ywSRp3Hkx6nD;fLVt2W{u zRLWcVn-DF^bh7-y{FSB+EHv~I2H5E699cAQ5I4gOVV`J<0#>NsEz6i|d2Q*O(^b4s z@@tO`+Yz>%PoMip^}3dUD-}4(PX~K-3i;`?QaWC8+BabI!8gkt@j8=KCBrb5mJK-LNJCknhIoyvBrF^;WGQT1=A(J@nP~s7PBGENOP!{pTFPjd}*0FG7a5 zBH9714{`J%gGhDWc|LHItX8eA#eTR3@lqn6Xg;^}!w)T%fx^cYjX! zCtb}|pXP0Y`ldp=!Lr9sx&~vN8qGqnk)d7w^Jj+D+)NFOhp3a|W#bGLG7``w`TI#j z#&3qU%%P1Hhhc?Hae%tHSp);Qsb3z_vfD6_LRJJs-~!*SZxdwNdF=f8^RN28vMBF4 zfc_`MY}d_(3*5_Q%9;hCShn&?z(T<_qS6*RAvK|q?4i@c3Gbuc6&_m zyru@D;u<$>m{Jiwo*mqa+U72&IGa5yY_`v?T`Yw`UtMej9C@s5bgSBa|P3N#(E=%uLrq6uzM#G$;j)tKuH4b_v3(QwZGo zEvKI)f*DQv?BWPkrP^Xn7w%g7alzB;b2It;`_G>HQK zYHOysw+L>*+(&qMqiLI$tDJigvuo#0(Y{I`42abdcAiOksc!`|vkH%q=@|1KjrYDA z`X~nHv|q}$M*j{4H3+k4%%%n9#j}G0$Lq&sB5)JiQSf$qgw|5lh;VaEGeIO>KBqT= zH++7s1k#{6gwwLVxr2a*X&XxzJ0AXRg28hJZxsrF{`v|aq#TUj6gK-eaFz|aH{J^x z8hb80d^;;O)d$%$~iO9g@VxJ&;Qf8wMyvXbwct z7DaPb*(;5ao2oPaL||ZsP4U4?`c_eZY*hPNd81a5t1L|z7Em{gHZL-%FCt;BevqY3Z zhp>6p2-x$IgX}Skpt;>M=*j5`N@JFkLgc2WHQMTlodP(7E>$Sq7&QCWQyE^YPYVC% zBIEfYFNAo_tCU=)x@g5eq#IdgOVVgt`|IiE11r9>9DzM{Eu=0b^+d1KCd!|g(C=(8 z03TOvyJE%D>rLk>NMhW0R>RNmP(utwU4}~Ao6b~DA|HKDmCvQu5*Hxoxe-H3hXo?x20U z4_p3~CVrpP@XR54TJ#*p)0EG4)?aQk?WYY&DSIerj#h%`tdL$HZ?h*ubKUna(NKxB z+@s#fWXZe{Y)JN5?mNPR?m)r|D+783_3FB@hJ=-RY5p+5d(kqcCH2c&J@j92rydnh zxQi3Os>qWDHe&oh%Rv_!Y~y_%@=kOQ)kr4tTY z*CHt)HW}S4A`1#F48nQmc~{Ftif_D{oxtGad95pcx0jpNhO5E9s-KISlpC28*4(kY zs*&e4|Hye}WGqQPLy3Fx&YgLMMS}u5G#s)rTR}dSskyxG^1Va~Ljvj8ur4`OM#SK* zTlLLsVBb_h@!w6ffDj{-Zl0nDKFAb5zZ@{*4O1o4p8<;)*5-yvzVCtn?a z4@qg!>)F5F-oJnPRpLN04j@LIH@$0-qYlOSPX&j|@z&_CM9_JDtk=;aT``GzL++7Ur3YIoL`YvXZvw>|CND_IjATO%saXDW)f>1L$XS7CH~%haK-(fZ0mYvw`uq2(c2`g)%HX3+SPok8Zcp=G zvxYw^&^|C!@!;XZ&mkq)&`3iia)+eCV0j%LOLq$qu=m~jtIWb-Idkc%r9>y# zB{1Yr%g*vRL3UBtFwengQJs~W=9M3dnNG7Ns0Oca<1mX|#1CAw>VyA=tUf~Pk~6CI zm)ifR?9AhO&i6h34O2nLK2#?G)j~#(_}9-8Cgn&sKeOG(xyd{T@+<2vJGY| zjU{8tGL=e`tckJ|hG{I-eZFJPbe!~)nT-cyl`?OMfgX|-Y?g3zLv#8%NCnrv{W%#S_V&bX^dGG~( zXr|7gw62&EYsBpaG7xN_Z-s)(s%@wf#jzhV5>xHXOx8V@2$O5Y?u*(z(c`eMdF{v^7?0$c-B_+Nf6}E}3{XY9jU!mwleP$!6nl zj0jn)bXKeG;%hN?)~wT+9)}JrcpZR1hp)CUf1wz?5TPb?t=0t5nfV_@&WJPLfUPi(Y!tm9*^sh+DI5(&1! zdbo!}MAYLbCOj_hUYqY9rr)YnG`rmWjUC2&in{?!M*#c_qk&I@;ybQ6pkZe-;TP+f zmL!Lo4NqAvKoUQ9{=y#yQfHUthzA6llTawM8Iqpl7&%mX$gc3xT~uZJ zPt_T+6vZuz3+Xu*L6^%`9CZ?XAa6xwDG=IPcTe6S2(v{QWkWU<^wt|vG9ND8lj{cn zF3u)uI&w-yQbL$n=FCEkO2|N@SuYU6c0E;tWQjmrWTl^TAyP@D)wIpz4DWUH3OyyI z(RFAerzxH-Bb_1LX&&3FHv|_vdZb387TG#Fd?AW<;Tk^3J!SBi<1*K8w$}`+BIRFt z$Je373(YZC(IaDzo>nn}j~Go$5fvGknw8b2cVOvhN)oAbMcdV~{aEI0SUYTgwe{61 zZ;`J48$frjeYRhLsCpREfuqOJTApPf6}%$ePOq$ay7>Tt^0H8*WPX%upf+|W-{`*(fMNtYah z-Vbt#I+FkoBLWmuS1dpL&90fcmY#>zN#Q!r##~7QnE%=z#tH?8Xw0t$_UCVn${4e4 z_<{w;OX?)Eglqx0-DvoboxcUK(`?*%%*~A(RW3o}b+W#0VZZwKzhj~MK3xAM`5Cdu zfO?;(<^1Q82{^nLJ3>wk_?kCg07~yPOG1TeBfexKkwP>8W7koon3$Un+g6Ldmm09H zwq^oSgtHeeToAuC?6A3og%i#i!|~k>;)oFW?dc!PUg$v)XI4Fzcn09@CM-t^mnEJr z=X4h=j|yN@hzq4qa&Pv5|060PrI!<*_%6GG z{KM07{ZNDzDEL1N2+Y zIUoeq2N3>w^MM_$*iI_{+Uh^|kvg zwb@Gr0i7Ep3&fwUDPPW5DNSQT|BWKjq%v32YIB+>`Y7s}@oh=EN? z(Ul>V*&s7_>FF*|S~caJQO|<_Q?4G@4CmE@j`HeTmoFU^6$HJI#3)kZZN(_nCJuDN z?AbNjaZ^fJxS^=`TlJjOWKr#F_YE5>U-@_B`HYN9y`ITH(211BF8lap+OA|JL2EM? zNYhxu-(lCrUnyyVXm7{24dapcm3EB*zaB`u9@;|RB^T2(_}kr(R+xCvzq80$WA!OrJg0RGYZ5+N?&gD zU(kQ95a(8|2?goMuAK@iy>ijqoZaEp4At=K$Jre2GUqi^5V;>-A31RuX3X+vp; z>?k4XU^}>IqO>BTVN*VRyp_?H>`cc1zxSU*xH&4dKdSE}aK?#gHL9;JmtNEO ztAoZhNJfTS_I%wT`;+To;kGBpfe0OrPq2ThE|mYU9r1x*Ev^d@qqIfb2gK5ut0%EC zV7g^CiBo(YL)(7&X>Q5h0MPz>Z!mokP3YFl%%>?$i@0z-b}o&MPKx}SZqf=~Vf2oc?aY z{KV6g&)n1~0u>z0R=2ionXmg{$*v=1j5h|hzml7}as>_#mSKl;ArW9Ho0sKAe^{>D z04qi6BtlwbT`Su44+6%&>%Qxk8{2b+=O zn|ey|4=?-V3;(xm#uwM*ke`r01hMQT#{~9hMupChW%KF{drM47({)iuhYu3>2i|35 zyTRkojGS{fBzK{ zcf!m5vc~?OcC|z;(%RzfQQB&UWWqrZ9BiGjm-}kctBO2gB#iOD5UkO*kCy4=yj9hA zz_cf0C|B3e2m>YHBlpBz47>Ys>12~<-o_TD#$be_-<)LjNJBoyd*1o&i`;Ir#BZg!&l9AuU?~D5o0Y9`)cc8R` zYAa&eN_dlT(m#ZNki9@aiyDRN5?amFvnBx}`GZEdU}*RegP5-$^!HqliD89}=t>ip zUiyDVaVQiRZe~L;i;lEEev~W@s*LfQ^%5`jD5y1R(a9jq2~dsav4SwrN-f)xcWjdUxoHtU|%zI6Ugkkuhdd(lmp-+XrK zguBlhZf#RV2RmV&-%S)g*o5Jo1B1P^f9Rf=;g?aff8eA^X$UDJ&_LLnXrA8|+n3c= z%389fRYdho*w)K!6?LRts3{HftU!yjW{sU)oHPi4=*Cw-O)i;80#Q6@Rbb5#pjiQo zg+@*e7%wlcG4_CMeAy-n4bo&-LRk}%&xGQ;J(vR(t*U)v)9Zz!s_sCaFK^RVj~KM?ct$}8A-#WTm+qvRt5-FF zV@H@*)Oaknb_j7c-7@h1oORS#vIihQ#Q5N7zV`Oqcigd@w3C2pa1?YE@CG1fVo|0C z0-FWV8=_lkhSukl2fJ*sH1#!A#^+rvb z^{9h*m&pQS5}KZ}655R@bwznzFnahILJw;et2^yoV^VzwzE399il!K=(?Orh25VnS zz5zt|wR+8pwwkqu9TK}7duKCK%r zxr~9JWXdLd%t~m|ZTt@PVxJ7iZMkc|$rVe+Lx@THPOmk%1&5UQioA=|W;}V(@%|@$f)IGUku?8+Fb# za&#EsbS!>S*bVxz;pKgRTJ&(^t-V8VywToB6JQKo${d;$E3o|Rzti_cB4yeTq z(IysQ$NR-lA7V|`Y0~faD_`c6a}o+yj}&M2oj+0*R`p$5jgZgq+1%bxogip{J6J1v z&tGgh`t-Z?N#RWm65BFXG$RCzN+#)Yw(R-w{i6Pz(M0gf(tgOqgLn0<$~2G-wr(q6 z-~p113eORO92+H#3B1_aa+uNPfz_mxim_NI6B22f zZFJfB(z&H>rFQj%GEBY~)#oo<=xAZE=jXh`Je0N7+?u3rx_LaTuGR)Wz#~}E&((C) zg?BglY%sD_O!MvWPm4oPEJ<9{NJV5|5K6|~)7L}Nh_eAD-asfeSd@nRQ?BE)bS%wV z+9mo^D72waXq_QF9nhE9BLwq7$9WGq;vjGDt-(fsN?2;|A*T|JDPl^Qng~cfiQ`*! zdCJAZWCGRp8LLIrm$)uS^Iuj!|0b}5i!O?u7-&-rpO{ilW-0R z{Y5yRcWUusrWtBbEZcq+$P8qv64@h%Ci}^0EiqFt32M;p-1yY_Xrcso; zii3v`mTjvi``t%$vUJlXBT4z7f^Kc0mA2FB^}8B6-ZN-{$Z~EX^fNs#J!3aAZKWR< z50+}o<#Cj>`4|Wd03~gTiV&R(SL9?l+Ec|-eIE|dZP9+RHK6ac$*PqA zTIwc9q%oVyZ~td`XQCzJXJ+rM?Im_~*|6qoC&8sFO8_iHF$ri92Bgc^ZddVnjLE`Z zqm$zJxc^uq9rHahG@jU&?WuxbFdu^WuxRI-zb4r%E+CG{UtsD*(9Bkq$W;k% z>VbNUOn)H@8-mJ6Ad4u-VQqduWGu`VU6ND5UPT#ecHJUa1j5xV_P8gyKM6hWl43Y4NnX zyDhf#Uwl$=V1VDsU>@y8>ZYz}oYY~5IY|eiKH>H8@r4!dxkKUfc?YJaWWKO>iaP!7 zryxX$VepMKv;_}BD{mKv58A$z&8U$I+%JS#KZjF~2NRYm^aB?pIR^P?)Z{ zGv3Qfge*YzL(5t*6-_wqBYhC)3w&K}1wnHq#mK3XLp<8GPEU2W8XVo~^6u17Tgbj)(Hyv6PD~31<4na{XjTKw*Z(`aq3m z_S1kQQWdtRQs16Fe_mBm_23!`il%Z@;nq=>0I4=s-1d28{2+9IqM)_(d-(zvouYtc z7*>CYY6F_yt9<=1;6(@x5vf2^?Y$JFbA%sa=0a3P__OqJkRAo8Lz24CO8c@0LJ20OTTmhfe8s5 z=S9>;TgA2)Rq?Djb7sumA}t3ej-5ytkz}2LW}vcU4H|s^v{>cKLp$q@m>8wS4VIpn z*+daO9Qm=L^m|<}`lBAk|c8yGS4$1Q)Hg! zc^>|2*SYt_eRtp87x#S5`J8ja&-c6cv!7=@YprLy%1B+Lp<eVgzvA=3-Wrt*f`rjIp@wN_o#FnyqJXsWM!o8^&~v5BtXeSYra-27ZD zcTG(nn4IL{G5Fu#z-?%(!&5PpK7|jVd~oTy$*NVf8swkVpGCuTSFNfolsGS@VD@fs z>9JMKjP=Zl=!=gbX$QW|oVmN^_GLT2HT>?Y99A*L?q%0C5zw_vxcd8JT6B}As;-4V zNSW7f*SNT{K#G0S6qIqfKbskc%)gZ{E-sJGSlMipV0p4-Tk1$+WAZ-J+M8?k3RhUB zs!~aKvaJ)_g1;R#G{?VeVA*Jozej&;U45B+ah-;*tKEUWU*j!3pSkVtx6*6xSEnT3 z#zM`%HTK_6JNs=^{`;kkIak(k{r7BTAmPHnYc##Hw+x>>>47NG9w;L4_;S{Rw?Q%dOg=rVdESXbtEq@PvP3N zwEp*hBVv?6=8`8{TECdv$LZ-u`5w&DDk^(iHt)^O?Q{>wr6aM@cEG%&Dlbsj@^eH) zhfl`hfrAGRnm&4To0nd7>R&LKxu+Vf9$1{4sBdhPzjf=XvNHYm@89u16H6nuL4kpR zO2ViAMwseaLzPSpF0S)o)o~V6dfr^uv)gi9=2{(SXFFd@*QZ-AL@)*Zjlh^Eg7;|^ zA3WeaaNvN|h-FJh#>zrQSA{M4&uVGW(BNRZpFe*pojCjVbMt=)-lr%jE~c{k`0=A^ zP|G)6x>bVro9M^*{=KAyc}MXvGjsD-0RiqQDV8x6DapyJe^ymhjV$Tu>CI-*+So~k zW>-~xt$QdTAz{77|L-#xMhkMQU-dicWYSY!j7IATVX86zNntmnW?P6O39sYh~$WPA$m+$K8 zw*7p6j-J|CNqCRg7UxSOr#Q+M{`nI?!+2aqMWwXpHTzb9_vFDZ8$jNQnw2M2psp(zHHI<=4*J+-Ny*nYde%b{s^_PzS@;++1U zA3F>U4W$B47b&S(AJDr)nSJQM-;bf+#>7MyS#Z0Vc;D6f zy8S5C-_IFkh>eTWSePCOmD1m3o{_DJiKF zCr*rxww-%4+~g`5N}||N@WtPkkJ&0JDq0(P-9a*RKNpu9l9I^Mq&x>FCt2e*_kX)} z@8Hp+o_WuAy?*^V$89%1a-cTW>CT-ysYq+tjOYFaUmc=uk9?R^SGLop(m-K<1fa>{ ztdX3Y+|Plj7z;D|(cgcoT${j0nM2Co^>^>vw{MS#m9K8~r#Ry-$)iV)l8x!@?KQ(` zbgcW$xGR=hE#2+x``#JPz`*4%F6@X?eXO!_;{Cnl<>iCTY5qTd%6vCy6qlE$vz@OF zGMntJj9~h}lKQ(Ji6f8T0x ztf0Q3VQj7^XreXCK}q<$nAwrEIIpIjQoo!Z4+s99$StZTPn|k-+_1Uy#okjVkT;OE z^jp#c-n`lVf=O5s*@=>p($_aNZX|iVMtxeP=v59c$?a`)Sisiq?tEt&#zTh>?>lf{ zy}Z1%XimyJVcl2 zIXO8W4c3b(D%Nr`g|fI=Q%RVvB@yWBOW$1{P|{Z&wvcvJT%1Dw)0O{~j7K-F7c;BI z5z)}r&Ud7wb6$!&AkkhQr+G(Pdwh9eq+?`+)=n{^3ugjfIchnrzmrRuWm=0e+hm)l z(3wk@HbyALbXSF5{;(>DWn;)$4UK(>YgQ~)l;WvKk0``Svhe{M8=Jw#M34M@@l|gm z54gIzvazuthZUnt;y5zZ_Uv>Nbn?xbUs+sgSrJ}Y9$AsPd6RK^dfGZ#uw1>&kAK6( ziv_B6sBW*`yg7E3b;r84tHG6bu_8=Z=A4EGzlQ_0ZQb3+BP%Mat8;pSY+vA+b7)0# zYikwLqmz<+&$(>YKpx0kpk;c1b0oV#90^`?ezFg6;+3aoHlD=Q-5qb_ zw6riodrxTn#fujaqF2tHTkAs0oUhJXSSKVTG}h+AylvaI?B%6}WYfNF?ZU|{)a8tV z4hia6Ya$~fpFV${gOvX6-5wH0?-e+bjXLt}MtTv9a{u zu`zX(jDoi&%1@1;Y7`pUOfW9D^DNurp)N61rGES_A3w4c7Z=Y? z1g%_=m#>aJ9mA3u-JG;Lvgd$yEUM`>3k!?-3|mnYKemGhNiDz`O17Fi+T7e6c`N06 zMVo)m!{H_&z?1q|jdK|X_A@XtHY6G{qb?=ftHaC8YM85vnf*yM;wL#o(>*lwfWM&O z!TtN~9X8M!Pjp`;X9H(fHeA7Kyomjdjt*^!$&nl1o<4oLaWk{X71Z{i0UY$X^2h1t zQ1C2ghP!?z+`Fyj%`*8fck*SHmb&HUp4YAjM6BwZu%16AA|gV77%Ll_Bl#_efMX10 zn}j`3?GPtsW@fQE6-+m7+?a35&(5}YXA~T-y=iFFmc4#6)9Kml3eJr&jDLHN{Ebd$ zvp!sSPBN~bVRI*voUfl>95RGrjOtZw?e5q~x?}wOtcMR%UcP+!(Masy*LHa#=rA|8&2SGAzU#kY z{1Z8({>MX3cXxNhfdh`83RbQ+#KZTv0YjK{koHJ(8j7pPjLC^pr(VB#bN=B&fr1x% z8F^!qlat2+Myxgf1rRWC1zIx`w;&s%M%gCqaxs{d0DkDkGX_&q|#cj_$UtRRA4uIIT z&E>hdju)QqjJyBmfZ{N*VcL)G=6Uz8L2>$OR`-NS@r1A zqtuyZOD;s#w{OQpRu(6EnxBf?tL6G69V8_w`D{-+#kL(g^6)^H9zPZ&74Z-!r{&)d z{o8Y*OG!=^LhZT&Kx~*k=gg@T%_6al%E^9q)=X&BYQ8V*wAJi`LXQ|E-5;ihNr67` zpw*9khw$msv$Gu@Mvou&M8u@G*GAn$@Q#ZAg_dms8UQoTc5o`ks;~CpzO`RS==%N8 zj-jEl#~BN^4qoxie8qb4gvI0`y#$Lwj|{vqHnbtlQgCQ!NIESoAwggyZH9?oyR;Qu z(;iV9tIX=B|25e8ynL)IrzPIY@ID?^X*TcKJKT~{ft=H|KNx8u@_M{8&Wy2%$=qbM z^g>ka^0DsjZvEfiC{bn+$V;U!wee&?%gXWEG=6@5R%3a)DyX&XM^A1+yPY2#9nJlM zS+pDnPIXGgQC6?&qXd51b$r|yI7#B-MHj1ESFTXEEHux=e*JnILH6;}r_F~W8-M@) zs#|^V_wV0WoXp_k71Hlcyh4Am%1bgYXnB&IgM%Y*U|^eL+*#}-{W&&?c0BT88?7x1 zJNpJDr8*RKjqRH#DG7f2mY5i?S+M!-+qazq?*alyYlf8E(Ufd5_&Z^fm!v>%!6OqB z%^YW%H(p-I`bR(8b$4~;6)@Yn#mDoj+01pxOS2&!!(Qex zo*R|3BR-(8BEKR7Bqb%qTFn`+S+fSct0Uj1lobCo%bD@sN>+qW0ZzKbt(Jy{BEc4` zbEy0LI^}mNKU_e1qUn!|QAy55*1vS+3bMBLPtD@OLKc7m9PVc8nOkGdVrEfK?F0zY zWxeXjhC_7XVgL3&fBuvPobpLZIx!}tW_JH%zze+3OMm~8M#GG<$-ZjKTRalmNEXDq zxG@S!iSW&Gd9oP+CLQJHH%A;gPf`Sb{pz`P!{%TVy;zO4C=%zEzOK_y*tYuKOQaHU zxyzR~u}cSjjE#L68_U~lvtY1i?_M>$U7a191VEPa zw0DbvfdSXe?`{&W4^AbQy`HoXMmN)48FJBTw#@}ka{s5MT)4tuOGeP|-!~K^m9sud zybkQSOy?+jVO^xyw$+#EDe*GDekq{;aCUd6De*qS%EdK^2F;A-Pm+;CyiNr<`u#N# z3tSuYjxk6Di4dG7D=UkJZ_VY)C1E1k($cg+w#z~c?#><}^LH;@w!tR?!6F|O0MuW) zbZJX`LbmV0HMK10F;exB3<*@l~vbHe4rMrURS zdaAFlr=G)EsXX)VHO;OoaO}{j2t2^gPiJdu>&>I~!r#BqE>V!4y0fdxXlec-PRaGe z`+qjRP&E7V#>XfA@rdf+&=ASu09DratAGD42FDQ|9j)D*YK}gHk?!@Ah(+Z4(Y#%1 zTj=QvfyM(Z8lU8wwq~vdmc-iU=HzG=s`;>_>irkN5BTY+o6@cQfn{!MYm1*fyM~XC zZ|(3y6b~fGm)HhC1WIb^JLT_$)~#RfK3eGX>SuNJ+R;+2R-B=prVxb+3_A>VZ5^`yy4- zKr(&aXM4+jl*9F3py!1D`0{C=!TxwPfseJkBmDr6N3`nV0 ze0iTV#Ori)bns_~>=dse4QpRtTiQ%>PIh*CsA!O6C?OTTeft(`)FHlR?b?O3Ti37e z2E8H{QS;Ses$ZmwiRp1q`Ch4aC$f+`K?l^nEcjTXCm|)(jg`$UD2RX1mc6gSnKCqEZRO(Z{9~W*o`h9 zwWIf&PBdGNq-|}u7p52?^q_T>mX=m3kmC7^7iTO_X-0fXO+Ah3OEy3<^lM9Fpr~yi z7M~=5?3^5z(+4FyFG)+2%8Xq=E&Z{&#cgBu-T$5{b)$r*+3e^(gwq8OU;w=MtlE(j zBjjn|r6iM{&Dfawdgb=^_Va$uf-*o7YSvRbn3$OK5j*G4daK5;3kmrx%#6g}t=x}8 zy>P3U|NbRWlWw=vU9lNy4oDrdqZ-IP^$2g1id646Zyt=ciUC&xI(5j;9Hz>?%kpoD zPRBSqQ=k_{MP}vTc!s7xT}P*`=Mg~l$Iwutm1S$hV)du1n%$*-?b~Y@qmhMTGL{*b znVCI3Jt^KDW{|>fn;X}PMqd1;TWz*5l(<3VZA45=4|pKJvv|`!xldR8s@PxlnVuw= z3?WKj6Pk6KXrlydw_%G2@FHqqnMv7G%Ir&9|7A31$%qke6v3FGqRa+doE>mcD8cL zqanLCDSRfl(EBavSIx{$L?}k}$Gg>ms6hX`Y8Ego?)!I}Xg=Lz4ETchqesV)U$j8t zoNGSAvyoNozm)fEanVXD;N*pi7dL=<+9x8CUdMAm!V|}$74UicjvZ~Co#(BrPQN~Q zl_5?oFuPvv#*Jd6GfFC|+o+hVijMK%ErFifhlk6t_kj#RuM3r`j58r?x!qvxp|?0JsqB zu#F+>8gE|usHmuSCm)h0J$v>nF!uGBt}POthq$;p@rVkFisV-#K3(11wugl{ssbqU z3JQ))t$aXBDQr2-i&hDxQ1JG?2%K$vL0wn32!J{0M{ZqhZ9b3_-c}tsGj*!=W?H)Q zmoFT^CPk>6WSuvaiR{?9(-<+RZ(#6uFXj(YWnVJySgUyL+77UAhqhCp_M&VBK39$D zLC2_)Y`h+=l{fb-Ni(yg#gZI#-j@LZW$1{)BO-F@>U@Muy0QkN%;o+{<3)7X&&E;5>-J&*&n}h>dsC@)Q)D4=FUg2P%9wO(VmY+jH6PJ{v z!m%jz<#RBf=q_3aL#Hq^(!wqv;N|VT6U*$&ud^A1z1(pGVyHRz_T0R@F?2vh zmce9?kxRgq03mAUo>kP*VMogqie?t?Dav1}prG&oYxYY|09l#s=ux@!VJr=)-8(oH z(X0R3#o%)zs=K!`q_d}o-*(vwXOh(>-BD@SeY3JsjH*_a{raYq#~v$VqRXHVvtObg zA<@os+RQE{hNr}b$LFTS=Ndf{{T3D{0|ElhpFhtF=Hs-mu-e#Xr?}3s?iPS~l;*P{ zhhBkHdw8)H?0)<t%xGo7~RebQ>gc}F1zCDlnj{}l((izMD z_3PKz*jRP6e>wB@*}c`jex1kqBX8q8#oj5}rmwFLLaDRx6)R~nyf~F!C>I{3rzU5l zG0~8=pDl<@qA9~R=ry}^duwYZ7`D;T(M)yTSlbmF$;+1;K!wDnt}ZGm>A**vIC=6b z_=p~E%6%Jo`rT=iS4LKrM3?)5mR+;6&tlKmaRd(u2nf78VPxOmuXj*7u#`aD@83Tq zBzU1mLX^6oVebDGUiwaGB0TN4^Ouki2e2K0d*P9hZ|-RwU}K|hG}##9!zOXsY}5`A zbk)n3FEatZNa<*?nxFy9)k0Ea-TBpxeGcth1^x__R2RSCAHn0tjeCFYV_;wadLnCr z1^Y*_wug9#^d~k<$_N}gMiMX96sTn{Ix3z;Uwd8!!#kN!LT)e4jxBbGF0rvbAS^7b^25{>bT8Pb{PC`mv5AS0_wSz!)Wy8^^K%9DfKKV}^4Auhi&A{;?|)fa z`(S8jC}}(a0WT;k*FRO5-YM==UM>ZAf-*@K9Xb zeM0=`l{enrU$M0B-o2|&H8;r!pbAs~C52wXAw2x>z1qmE@^Vy{N3H0WkWpPi*EwaW zx1!@$NqOYn+j|#8tiXP+(eVX(&>WHEwrM99edWt*N=gL? zV9>q#h(DRDMb|iXKyeBE_U#S&bs#r_rz$HebAA|!o;u}^hMr>Au3g9PHyxU{pklqP zuptshB3d;~(%M@1UR`uvLBWPJRcX+o0Lm3pmxmBsrC=w*6X(#I7LM4=q^Jhb@hcl{ zj#4Zk6d5u)2-MW2>Be5ulhJA!!8JP=tjeo*@2;Q{)z;R2OGtQya|P{9;6uk43pBqVa2zu-R`^Gd&2)8j zRgxa8mX?+#qyd;|Us2oT*cTbd+o&Gz6(g=^*a$y)@+4=v-u`Eh?Cw}})`lz7hI2X0 z%XU&>=ibXa0F8%E^$gw-UCH8Nk7&NvH*Y?8 z^5l=Ysr~9{yQwy95;7lW1As=Rpxdxv1JL9JO-)w(J|boW2M6!6(E0Q8=NX(fyfEN1 z@Y_WNh3$A@?B_G<{n;jb^wi^hwZ+Aft&M(j$tFE7dQTAU5rE#y%L`ay`iu3{F{}zv zJ#actpFVwvhero&-WBAp`utkpBNPH4L`@t}Q2e(RQz?1MK2s}aEKkKiskF%!UCa@U zeb9DxCy#0=B!cT;Tvj!HHwXckzz)+inmiL$HvA3|hxC6^Qk$^~W|o#DNnlCn4qj28 z9&DJMojpC%k%;~9^16VxL6fF@o=JRKSO{v;Yzt zT-U$eIbRT5-AC}#_3PI`!1LmeiT#mA76Kg&nDz7SG1R4auvQuY1|;btl^_YDgye!A zI=>>_7E15660wYZnSe4d5wkKMb4);BDp};k0baR2 zf6h2+0oaUXbeR(3QA@=gT#Ku+gLiD-u73Z% z)R{AxCVy#21K|PK**gyE10;$O~_X3`50?j*hl*P=Y9lVm@wQps!Cs zt(J35c|z;x_kk0}of}awQ2MrP+eVlb#QokX9$ts6Gv?;WDvIyJ!Ztj9{5Uz%{saYg z>LCeF(xyU=FMx2VRpPysiD|jX;~@%S`dl|7+K`Q#H*2FhAQ)&SK5tOGe!U1}BLI*# z7@~9Yy9tmZFX#UHHQmZM&&tukj@p4K0(F5f_`nt7J&$ueOmY-#M4kajMd-7tDmftD z9MF8%!CCL!yBC}5K;&HD)2&C6W`9sb>hwW%d(a&bA1|LCV6^jd#`A=PDNfOFdDJY( z@1(!RF~q)nMca)8aI7~Q-LkB_{5fPCWRK4Z95~&bGE=FR380d2PEc3(0rHNHJ|Ii4 za#;)L0o4Pf2Few{G`5}eye<#>hIB!f)+gNCbtB3fyT?l33Ouig zP@>zhL!g%?BfmNn#Q`}@1Es^~+UWGOO;?+&*^-3kd1PbIhUa7IUcY?FB1q5N-vKer z4fHB6q*&N4e)gFXVjtAli^7$z7cVv=RiDGBjHE9Nznov!oNVGEEi!k0cqSQ@NyG4? z>a}ZmIGIljOH`2JX$Lws8NQHZj1~8fqmL!E3ke^f9U4hTd;56RTK8AtA-j34knD>R z(qEA-a42zV`2Ly6{kV0gj6aYg<~T?D+zO3arm^`t&;-JK&8A z*Vngs_4fC-BlHP|&&)gnvy)J#umpG%fCEpUJy@jBv9hqTu2oZ0BY(P|KMsr|ssmD2 zDgM;=m~K_@h$Vz7ST$UooYrGe3C6hc_L#1+S{-WhhRu6g!Hkl_g`lHt)ZApad21|% zE*C{4;Q31*pNmjY^KG?FOeR#Hl$h~xce$^NQoMZc-o1>rfw8!^etzHuei_ahKX}k9 z*h#R9YFhCwH7hZsSTu!JGbt?xPM)0iG2=Oqm!A$}l{L3ChaXRmH*x&kf&M22;r@B(TU zvN@K)0cD#1@oI29x5y$@E30|TQW@`S$s9}~Oq)p6f$ zuhjz%v?6BR258Stq3S-Vw7SPd!NnRNbrB>qdfxHwhaFvGp{F@HBUGOZjCow_U-w=$ zh8f!oc*0A+idR4&ud*_(PEPZ}h4n}xVUdy4uzQFsj^^kn#?{_Ewtf3{^7gW_Td{+| z!7Lv_Li~6&vSZWLH)YGhE!|2+Og5}~3@)B(Kq)L2y6L>) zVxqIQ4-A}&>`1Yk;l?q^MXCn`eJ-Ds9qe9g2f_Jg&-x27br5zORAY3IkB~rR5JgRp~e!tvwJro zv>uq43?$b2z+`ewQ7ohq82lVi5TfK9cQwmKo}7%ul8gr+Lz`_^tZQS`MAb(>M@M^a z(k{ob2f(1Qn3jmCizmISq$Ii!e!#_JXbO>^AxZn5Fxr3Fo6Ec}z7hOI4;&C+*5YlJ z=Eb~T!nL3cMG48LHu_cxPCd*kTj5;O#Ieu$;ijglS`PMvm!Ds=Bj5cT)z@tQdniOt z&|ngO4)9ou5m=$E2DNj@#$kMcELK+eC9{t;hq#>1K5=k3mvQ+8{^Bu^OpA(g2MD|0 zlq802hSmqd6MFS?S67Lk1|D~D03ODvsVOAnD_5_MjgGPai{V>v+*^{)Mr8LYs;O1P z*e=~e;}6Q|2%322(K0ubPtY+S8(Oj9IMo!lf)&8Aq8%$PDM3Bj1R!ZF@fxzk2bn{p zIR?z&dAOpDN5JvUtf}#W3x}rPT?&Cr3=#12pviIiPvFSN5Cy==xe-7f9&kw>&p@P& z$%q|}?C#<4_Uy79+l77>!1L(sin)VWnMH;Ij5e?ifWnT;AE*E|WHQK=<8eJOU^bj6|BIxSsg3OGBR&r`2 zl|ND-9#{~m1hV}GblY(tqK#TF(Es$MRt~b6KfE$wyIi5V;G%jQ8SlyK?C;@oHNlG=qNpeI%s3SE2mnbVM^IFfF?&MafkI=tpV!}_lIBo5!`ue9( zWN`q1+d2jY8rdCb6z(R##sW5f?z?8%&o8{kQ2<9>L>HeB(TSP4qGfrgMdab59`j9a zpgiH#u7Wy78McWTUk61TX(U)K+-x8!5z3~eZhSQ;Q;3_-p}rDkJ0XmNhsOh(Ot))S z0mvIz1=_I`P{_x{(y^`rOEgd$)d9*8`|DnB^2~0k9YiBGa*12$I|^agh9g{D4~&em zii#+45Oj49BX*LKlQm#FL|np1OT;q($<{{An*97?tReavIwmG5q;4@Wv5KXV)`y1? z90thWJn6Ic@Ca>%$53>sS`;N{^4G#?=_hh91EIoxj)~F1)1*x^=qB8NudNga>A}N? zTHs}Je!O2aLMa;jlj4K^o_GS#0JEsgnAMw~PHjpxe+>iVD7ek7Tem(D4`~Da0t$l$ zjx?Y&hp4Ebmup^*;r$CuSaig%PDC^g+H>kp@@9T1N*M-Wt!W4^z8ZVHxDK9AK z3AcXi6lZ{J611||vt*MFstgt^QhYpY7d4ls)K(tm=CiG-EeWme>ug0t6ry@3LGblp z63%XF+Jiz19RaC{6_ny(`A?(~MiRlFeu#_P8Y(Ao_wFHd#VDrBq0IbB5jAU_V=CqD zUNf`4F5*wFLm z*C8KUucxU*6DAPfrp&EqDmxlZCPhALUQI1kwn=4ZH=WC?s)bgX?M` zmBeg@WKVdgiJppGt1qt-*Ue;bKc8t~j#NZ2b!cd1ZLK(5=b$2kKYlzv?7tJlqow63 zIB@PBV@OR)>*^AXQfwRvM15InWm#3J%pZ~Q`UUIK?Yoher&FC2qaq_ehllU`r!Aoo zy=c0aT{sIqfCrcp{nZ}S17Fzt_JzTGh@Nn5EZPY2jwj$BX*PBnp4a(x3<);~^A5`w5eAVnlTAwy1m>iX0fr<-VAPYKd1ndykV%ge zf?^h0nT3E?d082;DjxEZL|uLkYRbgD2O}UL1M`98C~0U8@bSt1`bl>_lYwh%tg{-7 zHi?EU2Ze+k1i0k3oIe&k|g^#xBhoQukl!vzJ> zC(*-fHmj;EFTbCw<3hpl?S_)lMN~(i6J#rV*AtMKMA)jdPsuJM6%`2@lmXX~BSsG& z=0T~!+d~VvYhchd5R)MuQW^VjK=HPw<^};yHi>P-XaoYkf=lK%{1tG}N#H@j6futW za3kFUY{Ej9W50fruZZ=0Y=%)$d3iSo_u09*IE@_VFbcv?i7X8ALzHB;8WoFaM7}iY zEZhoug=F&1D(;;3*cxJr)YQyDP23Itf9&aK-sA4i>>$dFsmx4FOfYu8qQ0^&vMod| zoanT8AmAO4^jFaL0*Qdt!@4?Wsb@AeGLoh@?kmzk>^dfgES4ZstD|-a-@g~L?{zPE zycA$+wVSan;RcrW2oO#e0_ae+uE|AUlI=}f{Ack#zSFQi!FQfpH!j$B1FD;2r=ob zy&sJ%25#~R&`(ESUlAx`moyd~G!4*|;D8S#N`GrBZ>s^g8=@x?3Ay2GXx*S6C}$KP zm2|7!=!X#LmSv`CPrJLdi6<}b`Sc$WUA_=U`)e0=87YKj(V%Lm*(*@Bcz!uKUR zqmu9bPZ&l|N^}y!O5cbgo@~N#(a|{|OrMtT->vg<{-&{2szd@>V8Z7$5%{l^9$MU=em_ZUh(__zCNXxfA7^H#_?K zpCu*=f=L7^vu(?kOvsfN2Nzh~-k~2LURj82oodVZG>r&QRBc%~xwC*1psUcdlLLWq z0{k!`xbaC55fO_NZAE8)I2@7rA{SntY{G7l7C6+HC@N4-e68sC!B*pl-a)gKb0aem z(#NfoNBbnU!ErepPq|_Qd}K9Mqjdhlg)vx4C(VywXIn?xa`4;0=wCR0J~!4)HcHV1 zrX}=e&cAe^A-FxWOF(1RGhZR-nW2nKW`jPMz#(MX$fzhkA(Mm98{R;@@2ffh{>mP! z3w;8VAu^-L{;Su3Kf z>+m;6q;@^`^4f9y`0??)^775#1%ITZbTx1WNU`(uK-y~W=_!DX1HIA*i2caeu-Bh6 zGUDqf@aRd*SQ@&#qDsli1DFlwy2S7#Tnh808~dg#V9qZpE^ddrZm+qyIgTvB1(-BK zi3h4HGv34`>LpzoMD2p@gbNkntHdr;60!h!QCVHP7#;78SOCuQy$x$INwVT3Tq0 z&0F)HweW`QS9f0z8_g|roJc|;v9Vj=Oa3Gk@C>a!9v57yyo!pOc*s8V8Q6DP-J&{m z-qZZsg@;JwnVOnHVPf4ydrb8h1I>-7oeo*BRgDJ$lcOF?pKQCMsabumTk^e3;S3*> zz=lruT(mhPxLRA!z{&=okMvm-wtC7!n96C5rKM$RYATp05?et*($FFp+$o@DfkvjJ zrPYCC2X=o!Yl)63#uv~E+!-kmI5YP4_Aq_2A3F58!k^&!jHSj5L}w{fB40RNfnjk- z1_uWpn3{s+qM)OrGxx4dqEc7cYbj z!YL$#745dQHlWXDFL4y( zgpds*b66ifeR4)BN7IcIc0ODIN9p33Gj>)-eSu<3>r8jJe*QVNeM-9YqO$U`6MjDNq*3X6z%4*v+DCy@IPwTMsjamY2sEV_5^2B)Mj zVlBW?E?mj;_xIPlf1f+!v#<#3oke*hrMdyjno-!(UO9NWx>Ayyef>HO{fqg9S*`5{ zYx+!$|8RGR>;@`_3j#_xG)wXzwtMqib?)7J9udKbT9x$UM|*d7?TExh+0T(VnqfvXw7w{1IK{3z=VsBbnBys4_`sgMi`?B9@voyaJO)aY5=2Egj`H{ zObech(1%=Mg8~AEjAr+QI{kK4=8&W60)m3^aHfJOJ-`z{@1na{pY-miT)uH8bgOad z%4%(wKmn6GTn3|^nlR$X-MZxtSTSRT1Pi23X5Zk?hb325M#e56U@!1genUgDlI(d9 zkCc}zxY}n#{IedO+{HbENm!{*cK1~ zFw?q(ZW+a-h>%hHI@peg|FcE#3i280icu-y_YVo@R|nrMjm6bh)47X5v%+K%sB zTMLI&=gzHbA(9)je1$SDYBN5P@8SN?6lsPSQ27@qwaD_d>7H=Q`A@z2BKf}Yp&hA2t1vrgJe&g95>~2yxJ?0h`o^Rgd zl3^b7F{EL`$RNCHG&hT=+Z~na5LMmTI`(z7^l}=W z6(TkKK8LxuKBlGJ3UuOAbebL;gJokghz#%zchPfW9uY%_9c^t-;CROVu^LN`YJuS) z@kY!&Eg8~i0`w9XKzZJX`V_vU#S{ioKMc+F_xI0^m+%-F84&~SK>TS4 zdZ!s1Q8qcvV1h+0AzlS=rO*{N85)kL#;cwi`Yv)51j3*(3;^Io5swJOOb-^D`RIilgY>h*G?-%#&&(u9b-vzMa-~b}h5b>^>|J z&?iO}i_!J2CbQqO1-6S90a^cT5@>lt-o5n201xh2=e=gZkABSQ0suoAdwRK z1=C4a&!2ZZy*H*tkGMnXV$=%I{6LnZ85kQ>3Wrkwa|RgXBykO_XDqJ+@_o`GZBHyv znD5Dl9E9M;ltr31Cs;@hFTKpxU(L-@fJ!kv$ICY}2(~h=>_IR=re&SC-XiX7G~IyK z5XwBL*%HjlA{hZtT^uf%VMCZe^^*WrK$S;$LbRE~i`~`JYY&1$4D?0$%lz9-8P^~? zk$r@t6MfIims@rox#0*k6h4D-w^DVTI|2+e@E(pIhR=i>W=X92V2wdm(#&X)R>6~b z%Ht>$FuP*s{f`@DH#VkJ7yz}A`IWf1I7k|ce*B%ttpq6J17O|f>kZ~eO~wvTZQk4s z{ic;X&ML@itvncfo9(e()>%amz*vFk@++j;t&G*m)XHcxLxO|PM5j$gT3^n8ZY1gm zIEv(DHBlxAW7;YxADHqfN9XBx+T1wk@fRqUgk-=m!cm3Cs{C@p36X7JXi(&VcH#WT z80SuM`+$;C2;!B_1tT-#6jrbZ!6uwd#&}IkkRn1_R)xxiTTHpd$Hw*wp5DCzSI)(7 zg{sO*G01GB-TwZ)>i2KF^CkeHn9)-QQn{d7vYk4`ID1^((%c*zha_A;umA#v$AW7? z(?@Yy$Omv+Pmcqkg(mWKV4xH}&338IwhXTjWT}tZKqio&exrwU2n%BeAAkghzu+^Y z-AF^Tw@SATT`DoM;61>$Vi$KgWc}2s9T>CEKvQL0Z(&>;0b?XgQ*w}<=cfjCV|pm4 zr?jxJ6%-DaYO0xx=tcY@3^_1~SQQda9~9&Z2Ampaki%e8aR)a5E|xkI2j$$O!TKy| zn{hfsCh^RlF;+DnfP)GwjZ(Bq8@TFUwYBi~O2M9vK7L8c zJuxxSWPVZ?7`D?rHlN8}^9h>-DG%4K9Z*BLhssLGOf*>NZLsrc%>wudO+CG57(fRM z1GKIL_!<~>^7Cu3%PN|M`fvc85yne7PYauyFB+lkFfuh|16%+Zw5jpdo}EW zmbSJrTwCO^wr$$9i5S%3^4i6tx{kP>L5a^K&#Rz_Ok^zAt+WFpW6f_H7$6U=vz>Wt zJM-(YDXI*OH!OCksqf&M_4M`@|3?qvtb=gDQ2)rx8xQa>0ES>!DS@tW5ysKhl)g%I z!7f-hp)0W3l|<=*1^kTlL+{}w=>+->4GvImp@Dwuif9Pz8unpfJ$9>$l{qhavVkxO zWC&(bi%$6ZHM_EMD?2+o=71Jda*IL)UmJAoZ+?7&Q|jv}qiTVUMrpq05G zQmS}(c!+xkjvCUU;)0N_4iC}c8Jn1!neZS(-~#$BDlPp8Kn6?#bo%t!v)gmyT|knw zNptZZKG@?-_74pB0kjgcqgNge4aHglxBQ+GicU`tGb^uj98sar0lmDph?y|>VZ{Lg z!3?8`gt7*5ixtq3ATlPV7pT#T_IlJZYn{SCnyco?B69^X1m}Kr;8h001c9S?X~ivI zjoZ*$)Xc8TF6;!V07?Qz_QK%5TLXU1X4HWhqlQhpPWt^pU4pk0G!`rrM65=@A(X@3 zzZVk;P?nW_A{7Q|%^MboWVZ9RQIE-(7j9rc@+I>;FfWSKRX8JsW9aOih&2Po)-W5< zInIt!3{4tk6%U1iMn_Lyf3LwPxO*7?4-2;E+qVQY!dSQayW~`My&%V0Z?tvbgUPfl z?mC$XRZ0Ws#H}MvDA8cJ=F`dsw#8!D1Dw!)e*V{R(6p5byz^kYB5IKHCDAgjf|&`{ZenI# zTwEm6E25&90h9&;M$-u$6~pgB>UI{Xdz_t|^6c7*Dl3f?oMkmkVVHn6u^pplVr6dh zGgnkIY;M`mK!ic!b0*nJ<|S&wp6@Wp{{=ho@tT17#uYhsc6L2)-C?7GO&b;w3G~FU zAd&fpNVN>rKnVaq0OaB@x_f$hFWDqS-1ltX&Sq%pV%Wm=2Qym;WOV>gT(RH_CxeOm z2>Nv5w6U{WMdpS|%gXR%!I((ECqU!4SI(-@3H38!XYP6=Vt}Cn<#4v|M32xRHHU+T7*m($-pjX}_Q5zTx zU0YSt)U@cgx?hWH7bq(noUZ3_Jnu*68&V$gAiRyWYyr~1WX)UYFILy<$b`ya^!Wn7 zwFk&rmCxT&Qg9WC3K)Q<9}hPHiUEeaKx%^cM)pKHAkXG4fKPd#a0#Lwxkek3CPb!$ zmI9#P58u8iY*xWpBz*hO(2)(?kW;}tpMcjEznnDc80SYv>3sS-4*v8=iw906;d&GH z!+n*FD}4^Cg~^3uTeP^o=;>=|4SpdPnV{?N6*OeRs0DMpiByl7ztNTIN#=g5Xn_(s*${Y96-p+FlXPy&=4+z~;zXJC`ZIeKfP9o_r)#Y5$gAu4++ za9CBtWOqz|_vIwhh{JsjA3Y*+%pOwF)vWr`#l`v|+TyUNgi}E94$W00W z6`0!=?wo&!;3w1f*a%|aTW(`sZu7g=2z9x$e;n!pIWC55;7D<`3yNq+{DJ@T*f z;QAkpa1|amn~;<0!qGo|+}I40;-9ncWhQ@DA5|c8*t77VJ~8xR1Km1T9khH*eRVSI zZp&~ZkQ<3GX$Bh;!pK~lS43plFK-;E9YaaosQd(*{+mRmm}<&z9sPFJkMtjOk5Mg9 zPlRO99)e5jlKcr`2ZnAk_lfieWDi-O@O@-h*u`OoyBZo#!1iEQfD6cEEMzC-CfJFJ zFWX@Q#V%T#)-g`+Ncq|W>5U|;6vUfv63#E1_FJpaSK@dC%N``=oGx_|( zhy5UyM<*sUVX}hWIrY0@Dl&);z5}2La>}7?kioURlm42ToZKCQ-bO3lXdhC)?b^CE z3*^9asBSOQZIPb{|BtK%%x6)yuBWFb9)=$6vbPt`p3M$s2HRMPcSb~ESoA#{^+1`) z-YhH`l_o|;`*2SMx{%GfP1*H)+G~KvTESeCJ6izziWl?(l~h%ku$ly`g5-u{x!iVT z#+LSkKR;L;Vj0CWgE>4<;6ITf&_iI<;Em2*s8~kE#-20VG85Yl2@3ik-&LbCN6f%v zJuo#~L$6LjC4<9}wkCG$!C71OAw)SA28&)4wg8Cnij5NR37Ryzm#n-zCoKHjE^$n} z0x^tF&@ZqvP*VV)Y}~k!1$;wmt9onW?kA`XXahj;kRc{G0-=)x&RattOVjoX-0^n) z-qkyi7qnH1&3|8jU=F;7!dh5f{t2TBNHW+fKt5dgV2=wxK9{fmn_H6A z+}EbnnZRSn5~^8|SVr`2xQd3PGmuia9nOU@O7S`Pb$EA--MCo8*eLo~cS@R6>9%SN;2%QYAjY<@DfS^gV9z{*3X`=sRO zj3aH_|LZVJw)wy&F2|&1k1GdaItxnXR!oqC{OFRo`)1Mw2m z3Jj-YCIuk~ zED+utZ^bK{+;Q8E`)lVRAPA{bBBV0N}HeHX>hc* z!ZnCnDlkw53)_^JK-|v!bZj^=m`2@9j7>-wlK-p_QYizMKWQbueEC8QqR{7zc@Z8M z>BB(ffeIUlc#vWLG5zQo#=!3t6u1DPK$hwfmPBFvdmRZ}MM%$I^=iKC()*y_bnel3 zrv$7-5X?!af-o*#NDNH)7XE+CWN^*>Amj)5MzjP7e#>Y+Z7nT`S8mW?!1V5jGHPZ4 z#D}ixj-&VhOg_#DXn7*yLH(zJ54krqQf;MA+P0lsLk22mX_;mB+FIb2`Co1ll9Kxm zAJ(lenEXJ@G_OryUzG~f&@(Uy1zc&Koo~%ri*XuwwMh3gvIeHAu7l+ON;zmVG2H{} z7SK;#S(!nm+B{${F0sNw0a`*fdy4B1%zrf17d8MpI-T9;bCNgkz5<6AQJpXt24@jU z6&zo1SHe+MfSYe{2?K^5$0jF9g~tF0VFe+g!W)jsL1aECqfw{nraH&Jo_$YW#Z^6V zJm`3B>(Li{a0B2sWo3C7ZpGmC zOK9AN9-< zhsP&z9jUkN(9NS-MxxYU4eoNwGxil>wu|*_lTPor5h#-kVMh`7k6!BL8x5P=R=(rf_J=h{f*&U6f35 z3ww$eHExyT@FEm*clSZj^yFmoAnV&p0fAPFnXYUSa8eqB2ttJiNeKQ6nt~*{Zi_S~ zxc1B+aY9zE+qQs|K`t#pdO&Wb;OFNDdxtAs4j^K!CMz#i+f(;mawa+jxC%Ku2 zlXKI*OEsE%EGJI<8wSKLLo~}ma=?TFCR0EcqTOZLHF}Kc$YWGqhZjblE=MWC!gKeZ z7P$&^EkTkY-8k5g6AKf5z)Xfs^^)Gipkshk68`1O2Z)xSM9ApZuW)(HurgNa^?=Gk zQwcZ-Ulw7Oa9;@467UoO^q;Q@Gm6kU5q;?Y`>It73ahHd{gw#G3Ys@Oh}$D2w$U<+ zbfQWj(D+QcuMi6)S{~p&az`h8_~fbvo5c?1nd@S>f&+K?V4NQ+1FqZ%1U@;6acU9E z_in->C@kbcG-5z+XxI%&9F9+vDtK(Mqt3{b7HR1f2W>k1H?e9aIu)Grl?!L%ZvNkYN*Wa<=h2SBC z5dh>oqzciQsu13JxZ9_WM&TwSz%Fvozz*RE5FCbbjvw25I;iT@M%KRPb7@@{7+B?27-j(@}A7R~p*X&H~) zP1(=QQf0!?Ji^?AZg)M#(Ew5B<_BVkp@baC4b=27qr+iH#9@3RncVi})6DdH3&981 zXKbXUz4-5H3GiwNtDKyib2bjzsr3GmjM9?RkL{~w!;C6)K>#A{f}H>bunuq1x#bhC z)RfPI`2&}nVFQ6F_p`FD1&@UbNQ6;?fhXGID@1Z|fhw-p8ga4_Ndduyp$o9)(6mHm zIyQzh;z~+**kIc~1!?gkbO*d7A=6i8nO7WeK_iV>M%_O3-C>hh3rS3yU|bHMp%R%5 zTj^K9K2%QG}cqvnJ*N5=>gLpcOw45|(9_=z+LO>TUeLh~@83z1wf zF~D;C_)g?r@Cug^=qO!g@9nca*^1(qvIqLyHz`+O6eg0i5bPkmfWZK$NCZYjky{lj zKH`kvS~7d6?$RB&5C!$TsiZV3>wO)y7uJk;vbOmcH2|?)+pLiP!4CQY@$FiyRtQ%h zBSA<_$k(8%u+CdxuL23OSRN0Cnb@>2fdq#ea3+4Fa92k<55zU(FWh%{CR_oRU(M4< zf|XDEtws+Gu#m9{v{Glfeg6K>2m#>KVuQ=**FY_dci%#*W4?B1V!P&c$4Vj`lQN~K zcyJd70ZmF7^E&{WI>^7FTuNKJf$}3m3b3|vo9P%m_S=xz=y09(?WTEHl*C3YFarFZxdJ9GWhqLz% zW#skAo@8HtpZ7HNsJXef7+q9_z9-0h)gprlDEAw^q*G&MA7M?~uT zICa0r=lA=4f9w9|zVG6CU9anUKA-1#9_Mi!=O^|}>Wp+c!(=L?zFUC0a5P#O5)$&* z@8q##qbw$UJ6YwLWjQ5F&)&79As#YWQ`0LjheIeEZoLt(k{1qUTI=$vtEUfUoZgag zfAxI`_JB;St66k;9zJW@yKP#ufAoVxSARqfG;Lh3Hs{zp6G+8@fG;d=udt46Q<~jy zV9@FEL~NIGGcUH44FP}ZS z3klaeVyLaz`L5SbYg}^5%IK4+-Msm*`Sa%|?sms!4xAAWLs@0KQi3&g&6naSzjf&n z`2M&yMcqRq{L3DpzyMCu28Hfm5Am5>0U(kN$Kns$CoLI55eRb-N-Y8!7m6>hI?CnW zOAk>rj4O^JGvh|CY^VeCwkwq+Vd)>+4Qc0}S?HeFqj43KRN?=JhN{BK;D4mB=YU4_ z_;UK7!e%21zrHLa%z8UK=>3a*CJr#WzfBpW^8q6AJ_;_PoCvmwtOyu5KiVbV?{@D< z5A8$7=T*#|?_@YNJjm)5E^K@}=Q<>z=f%Yx)0Xz_(+8y(fAaPHmJtVI&;r1T1eOBG z+kDMZXJ-0B(_Lnnx%cn4D{DmkOD=P5M*&3)TrOG4J?F`PY}<@i@?ewRsr>A)USZ>*}WzwVUj0`JZ-@>h-e(I%v@g#FnFYd`N z=2dg?v~oXftEKf&mPyYR6FFifbJf`!&j5Hb0jPn}6IBLnb)*-|#W>7neiuqLUGcmPtHJ$`&H z=bPED<@QNuo1!86a@}CYoPN`OI$Jt7GNH|)|GPXpr}XiKw+9e~RLqaLRJdjcG#VU* z;oW~trh8?5WH6dkY&UgDLV1-v-Lh0EsAx%z6A}d-81a`$Pp;7w&Jw4Ji>GG}e_6+2 zPsx|Nsae+wD^ptA!Gx7IApS&GvFtNeiKf9I>MAx*I7x1^I*9Jd>+70Lx(BVs2SzB@-*yWISUPdm++V2nG{F(Q` zdkbE_eg-Nx5A^MkHB#TuhI1>+Hj5TE^9o`1c}FuNyqXE=zm*#yuc)ueGG zrkJ#Fz6xhuWHu}mbbojS2cEO>?50C`y=6*UL?$UXRnw`F@dBbjYTUR@&f=y|N9tOS zVsn5bi% zjYfB!s}CGLJd9%oT0b>tV#Vl{j|(nbx>TD3GiBO^yF*lH9{{Sf%+H{`$h+eyK;Qk8 zw*jW+7*y~} zpHh`K#XR3?0~jR4!%I}|9OdC#%98OgA3OH%<^2jR;^C=tm=nOis}$DWSlLz^=HHYl z8Y@vK@yfCA)A-@jCR7cc_8qt<00{=13`jl*`|wx)?!B*>{f{+)fmfULk1G9`OcKi3 zC{ib=0xsR2LAHgrOWB%Q?<58f(&qps;|lbFXs*&7d9g>gljW~IY@E~?2SXF4>sgvl zQ+42+h2MQSFJ>sbUD|`!ud7myF8k{Y7LWC-rgqn!yyEzU)b1;h^DY~ob2{g0AGhiA z=B=le0%Y(~JDMHvH%*d0YulMcX1KgPHSFmW6`!Alzed~wtW!4)RU13c=8wOmnDs|S zMdhGxDc|tBT!RV#N7g$;Rb0CW4g_i*-g2zp$$3h=Ke8dHEu{L#XdN6H&Rs=`)`}j( z%nJtPQG$-%-S|jc++MisoK38~1@q@`oEZtJ5=;ahB`5Q;&(CVGDyS5|&iyd~gDm7- zwAO0Vkb%ew#qic&L<6CU!X_zefD;>%H~Toxk`tDyRn0YUMcY9-z) z5=WL!tHCAOls)L_c&YctLtaak_`Uu{KHnFHv%{5Zo9nF^aK!)D(yC@;%Er23=U$E* zJ=!qMngpmdf;RAZdbZ9(QW0-{bUrbX6ee|oQq!6HLw(#s4|WMVQHMA3bxwX{PnW4l zLv%)D>CO+R>qgybU2j^}_z(7$Rey8#BFw%f5476#F>QReq#PU(=#?GCx0bC0DB+5A z088)k6p(>BWFTL!FD2qZXd%^{nUwAQbN14&r}iS{rRgsNCc3%Sg!G$v^X8Ep-y;Mk z!1I?Arcf|Q>zt#?;?$r+pJ!~aH)UOdr=>~KyDTS|2 z|3!=>5UybaM1Xw=8-P;~$XPrNSWje~s4T7}S_?vv)KRtcl#|Y*f6~Oj0Wr5PSAF{f z&x%rZZ_$ZV{X1@l!EG%r* zq@*Y3>W5SB^PfBkqqhxm@-<{zNXWJNT`PeE%Ic2J>ZPk7zx?8Zd?4`9UAv z`_!3kH%G9tkK}~7V8csf`1-m81e5ZZ*!a~V{!PO6BaVkEpG?DBv6JVdGkJtDk5N`N< z2-a6A5QNt&z6;LhoC<3FnD!(5;EKbe<1Syl8cmu{`Hy9n6^A!(33)n>WMRSe73w=;9cxtv=;R&R7x2gK82?F~mrWA1BRq@|S>2P>d%RGI~$$)_{Cdp|)~V$u8ek7qydJUZxj8#~M^ zVxAi0A-8>cleGM)LFqITZz~;lkU5kGbc1xD2c}u}ws)H}ui2bg-p5r#j#ZTRuiU)* z=On+vYp@2T(5B#k&B97S{=(swF6&*dZFQ8-8+3ZfL zL-AqafzmGlorHUg+5gIOzZV>B+c`>g8W$FO1LxFrw2(3WFzD0gbbcR<<}zsVK&i{R zb}d9^aDetZCsUSEHlCdDVbAvi_1q#QU~I0nnF5XUQQZL&5h*Hx2=UPSC5is6?T{h} zfghVAYDc1pbhi#2nw@CcLr7JtMih>Y>OR&yrS7jU*`D*}ZJrrR0|f*^I@hbnf8WOC zZF>Hw$rJQFz5#zjU!#oYD^+ba*D31S*-EE9vR|P`I5?~U2BnivpEPCjqZ2hF7c~92 zAZtKcK+3txb8-qf-ODd^^|c~t7Tz(7Nk}7P;-Ew&*Bwpl?|7VoXf32W!QJSM5{IF; zt|TaPNJ|eJ5*p`{px$5_p@_!l_<~^`d%CTM+urBdASxwwr)7Eja!1C-#(d9Ak|NZn zJJ0p*L1YjC6&eSyr5`A)E$8?QSaZx8KUv+78i!7w-YNvaEn9*nBxK#VFz=PYo6(1L8SD-oD)%EtwfE3}*3>>eS6~P`7^q=m?AN&af{^(B%^p~BV&|Yi1g*CDpLBYoFv5215KvfFTuzSXtqt%mVXX*AEJ|(? zd?P`|HScJ?})E`G53DuQy0Q< zrFlZx%dDkVI@hGbVQp=lxM$j&nGO>stYbVF?v1q1g$O|RAa8mN8Vf&46a9uSUffIU z>5<~T!6k^@NqE;~FCdJ#-E(F_7@QBRaidXXk_UhHP*Qsuc!rJl_1iZXgTlk4mcWWT z?@fo16|LP2X3v`Sj7B&BfaV{q81fr-FIH7zfJMe@#B!%U<(xQ*ssdjBkCbeK(0Ttn zB+f8!EYG(>#lWb6ZW1y%F^^y;feu1>3X6)Gk{H=#LldnQ!8ncN=U?kN77Z)dsH6{_ zD>*K&BrMvkIy$Q;7bJ@$&^I7=3&pk(t!dwIUPtuyee~b~&FA*X%bJFH_5%C< z@xjyY8edR&H&1{6Dg#LscW$xVBMX-%Ax}oR^sfTqp5&R_5@ebWODxB*5=D>2lBas; z4n9s-UM!o;%qAUKP#TSq!c)`U9}5;4G?`_PySY6Db;jaOT6mi8TKKHlU>PL93r z;p{DCFc^JW-2IsN9)SDX(Dtew7+_)-@iGcN#~cn=TB2SF?UpPl8`U_;v|qm;h5ElQ z;}pl&V;>aiRXX%zy-xpkmduj z;XmjO#?Fp&f*GC+-ZiltjWlXHF*)cOkG%yAtun zd&Ix7&@-eMwQJYLom3=1gag|6V3t}aOE~(dPVa0S@s-z~;&J9!B1d{A@=;o4KT38T zJGJ`Dv;#CEdoC$x1A$mL6d*851-Gb~rB>#N=&VT9| zyewu)`yCxFj|N$64r0fR-jXkTuj!7k?ZE!4f7AfW1oGzX}|K!{##?gT4aa!6V~pyO12UJq)0Il_z; zqcGc6z2|qO|4Od*=~LIJUV85y%)l0G=@&!seIoaiRyRjYvi+(Yz5(XdubkHmX=7K^ za4Y0STmf13A#m57JtYB*GOf(LeLDkRI3O!_ym&P)IsdH%FU`5U_&Q2x9@1CaU%~WnqoNet)?f_Ywp8~5RNO}ub@bJ!{Z}LVrVP%>7y3( zCP?_GwDA-HcsRx=88B>e9C3_z`yvjIM5K;8&3&|KdXWBP;xV^7<$ZZ4Dp%Rf449%N zCi9zca9z4LyOC{IY7()-69WyhnbvlkVkr|>fCK?ZaF!4av2m-Jk&%(O+&<7iC2<6Q zg-@mkvZ1b%+_7zPp2WWypX;$G>cK&>A{j8n8b+?z($H`~L08cF_BqCgmH7uzL>mKx z{zu$P%M0+3__vfDukJlVZkWYM;!^hemp&;ON@9Gj>LCH?>Ur7ES(ZuPzD+5mfkm9( z9$S5T=%4jeOnFC<%CwGkwlNt1L6n>+dYeGwor)SN?cD$(1KtFsJ^IWUU1{je3tGL} z?8NGI$2_0i{ch28;`of@&hA3An?D~>L)$Pq<#W0AaB@QNNNm?mg(;XddWRnx8}GcLO0ICG?8?1+N%=ccArt;8 z&$c9y8@hbCnansNm{qN}k7x}cO?-|kI*)w_$%yh@gpS0`6(7xK&?|(^5V?K(I*x_B zyv9h}aDZU>HTZCPwZ%W>JZ;VLy-k!{2XnUZ3spBwS=VUp#g>`4$BF~x7N27S185uB zzO{0{b?Vy7*!VLp@Qe(}V6*(7bw}4q=ks^_j$Og z2FqL62)%pH{KE|>+_dSurmY6IVJCyLZ2P%g+kCKgJGUJj6g_*M@Xfqi=;!A+w;y98 z;^QMGmVyvGd-<|;Q0Kz-X>X<^UDGatYg50T`#fh1 z&;ZphDGO5UK>X{Gr$ecrEe*C%E9s+_Gj1(1`pDnl+>o5R$1mNx_dU)hDl{P>Fr-?S zG-+O*kXA99;SuCKiXW8VDC%{dbP#7dXB?~(^S|C#HSVyBZ7bt|GcyBNqiLVt4Ti=m zW036a=@11V{U&gw&`$a9{%_;yo(0{Q^m}GSWzx@iv6wspC`k$^ZoWKV%V$+G1kJVe zbV@kL8WSh(FzZ-q)_J0HV>m#3Il>~&E%3IW(fyryum6sFb?EhrTcvn0Lb7894Cek3 zR%z(6LJALbvLUwg1Y%%JvNdY?E72MS4&3w*5^TRa<7 z8g@RdGH=}XI9XnaNR@5})d(i4d7u8d)&2YS!Pn~PvQpRM+U9ZCG=2BTgB1pGaMPh| zjm2pZ5R9o@L>>vNLgrbZDBlw>4W>Mlo>!c~Vf`XtLY+-MEB=}Ilu*R=cBSHD)ap_UbPRTA&4eC zJTMK{ZaP9CX0!`R&zYM?(d4DaCEQBFEU6Ro_1p*VxCgi;p2sBMB3A>D`X)|>nc7Q9 zfB#1l1{vzU`1o~FxZszMpD$V!F&}l>Jw|5*<4sLA;)$k!di=yU5sxkgkuL>a6KaB^ zqc(Um^m}rlSB~cPk5>B@-|GyPIEc6{W7be2H}lFtAlw5q;}SXV+V$&S(^`G-*QbU) z5iIXipDlm75U)JGeV&_s7Rf!QC#=v}PP^@OR@kK1OgZR42LO2FU0JU`55tUC=r!dc zPm+4U`&7|8&nU=7+ER(}HQ=fq$DWE_W?;#=YGdE)G!zFBwS~tnj#7aM8g8&gz-kB! zSnS;-p4!w6>b+XUNv0_+93O32+F{F4*aRX68N zn1&M|j<^q8zC4(Z@8$C9uj*-vw$8{F9yd95M$%Z*VTxiyHkEDz?sWK;5Y8Ee|y_3f9M`++MDPdHT%(L)p8Nv;dMV`@24EKs~t z8;~bNJ#0C-dJ^EcL+8&se+;?*_;D!FfvyXR6q!T{XMP~HFzqzD4rJP)EiL8U6U(!5 zax_-*CQ?SmojqH5ba{)cn)^x61XRfUy7j`_Z&}KRlahL|M+QN1LBR)A{Y6}IZ{@?B zvn6p)<>p6^zB9CW0&}@ta1$fH_9`vsR|vRppP6G9#O3)P*bD8&Z29Z^yNI!c8V-em z?w&|GdA!i{WZc~IM66Y@^T?1DOrhB^M39c=*?J$`)q zpak*^x(jrpn9dcz3HTMaC)JcMRj7T1mL*d#;HR@z$MHmG-fYf!*SAycA#3vUn~i$~ zAb!F%Q<(xMW9p6Y*JCmd~w{tEnhJH!kiud^2w5?AO5O> zUSE+KwN>VV>+}PW5U)<=P>EKZvsvu>IlNdqx(ja{Cg3lC*)6j_kxYn_#a?omNgSQx za7hx`^+(4BS=$-yOGwzjXQ(c%>i-l=WJZ=}X}itdMY4+nMF^TTz+|z2O7JEFj7m9J zM71l0(H{pVvmf6mH01yP4VY-bpY8hNP=l;>T-}_sQZA{-B}HZdQ1wS(b`X&Q*mr9? zR{F?!d2Z9E=Y1*^0|MUiKZ5~%%zx2-5s^LBB#>#OMC^%sN4viNXKo(P;jBpgcpa$H zAb*F+;C9-7Dc;LTHBllV*9GiRsb9bNZu}c6(Mji)hRdeZ*MC}UijoOp0k|0{4aueD zoHaw%9Fy9F(RiGFb9&x8O?`4`dSIubqRWu%Q$ zP?tm=%C`K|h{dWC>kqL5orDe-07&N3qLC~3^bKz{drWC?mi z@dr4V!*#>}Mwk+K-8}G2I82r$c`xk3y?blW?w6|r-2feOR;=U5FR3(RhhXhUn=(kQ z`j62QbJx#VfXIk1I@=X)jyN2PxF;p$$I7y0=N#-Q^~nzD4IZ6-O`C{m`mDzurb3a0 zM2~#e%=TXo^LZ&bzLEM*SWS|G+W+y7~Z_3oW)QPy3%14`?uaH}#aN>yTn&GF|26;qUoDIQ@GTPX?c z%f8K^n^tF$UqFUTgURG%LMs%*frFxyf(|S*GV@;K-Wx96f_tb}H+ZU3$JO~;cpOZ9 z!rNS*stsB(uX83s$AB|wq#J))MPEOj{nP*k8I3kco8G*kD~Ul%1X)Rv!-j5)|C!at z>nOmuh+R%CS&Q%hc}u1S?V0io+6;%Z%y(jPF@^^UVcKKF4GRKJlj$yXQhjWe1SuN& zbKUB3|6b*-5y5`;npyIgnWe_LWvJqv(1{a{H^yVGke`Y z#a@1xM}p5V^n(;G0~-=LuEn?W)bR+EYjEeHsbz7bB{zItRB9x9$lstugxVZlwU};Z z$5AUJcg~5NbBUZ;GJuiR$CI;5Fhwst9@H_kM|Db}azW~CDd)I2+n)U`831%~eh-9? z?+dF&yg48@8P{y3ZCk(k{8D<}p4TsvRGHc;-C)=jcsp1PAAY0fr`hmMSzh-{mkJ9o;IddM;QtF(Uq zet5R*Xl#6y-?L9Qs?@zk1)uh5()f~Q&w-u4_@+gyUU#5v)$3zpvduQH+kfzIiA(7$ zk3icdiQ5KsywXTxyZ>INK_f>g84uK~{nAjiTV+|05|#y*B{PK9O&idkGbK#+6bFCUmMcVr=al%$rq{BPsXWiFlY2ky{@Sxtj^{~fjViu z4Aszz+_}|-q{00PFeAl3V0tEx`Z=ZzL{f2DUi$d(AOH|5OMkYlnC}9Z6}R_@sMWBO zp<%Qw<*kU{Ax+~51^-&(CyqAds1PAU=`Wiz*?-2|xncT#KS$YXMK-_wQhjA`aP0o> zXdbz?D}O~(H3Q)fP}2ZZca$RJwK8JLO7`pD8OVd8zGOv+@7sWEdL^w(5Pk;yPN{aJ z{XE!q*ilfU-6Ip7Q-veP21|zt&(Tvo+#Luq#Tt+#gWkrSRcH1u!a*1(J2jX!G9?(X z*5-c35jErq7`BL;I05ox^XPU$Ns?w2c{fVg?z zpw>{utdi@qwB29tm4`Cm#$D7^yH2yd6KZe zO&7lpCc(PWLfbBQwia`R-pQLaUDys4l32(}%Jy;N-~rVSuf#@EspQksDVwH+KkspM z;%fQ?UiH+~;k8FTcHOx8e!%o+^pX}3MN={j)_!i^Iy3A0?ECk9)tWWz)Op#`rQ!iC zgSC0Uxk>B~1Hh{Tm-TMYm;(Ls3bJZ|C(OCWEx8oG^C;1^p-ro((Y;Je8t0gOQw31z zM(j<=yq$vDf)e;j3uQa<&02zB^1H5;CUfSb1%{bBDX&-C8vAN$WgCx_&|Vo8$dE_j zV#(2^P>5#T^7qe%iq9MjWFVt%erDmt*6#Um;%bsN;KPI^6G_woeoLFdCD&@I8nf$w zcppc%yH`2YYkzyv>5!=nPmP?DW>YcqWZlhw1AoiJYmn(owlv51+egV=@m&q#ZP+a? z0J?|yNftin_+PU`>#4&52nVN@l_rHqtJ!8=q@9QI>5fH}Pa*??wC_H4@;S%tp($0) zOxPlQ#l}#R{9W{MTCHpiOiUb-w!X~W`KW86!?&3y-Hz`2iVK_2Ua3QENN?Evdq=ht zYv`XU8UW&-rxnQ{QGBOoY%n;K|cMV*0Xw$NBsgJclWz zy03PbF7kfym&4exE{up(tgKN>dDbG;#7(Ado@o;O5sdrSZD`~IDWqNd_8DZa%r#s` zV)x}+Gt`F?G7-cPhEdua=ifHa280ZtM8@UA65cs3OHFWmTLo#(%Uql1y) z!9y)R_wh{kIh19@{kzMmI@_TEdsqoQzPahb!7-D%oOAr0`Q68FL>f6h^q{z_l=`>h z#pao_@cOauvV`rH1%|nMWyUxA_5ShcLsK_6LfX^zt16!2@Cot7XR-oAKsM@R z(Ka$)k6!uy#XDhw*{*NC7N$$9)~%KBFvIvf8$0H>hvEj$ER+TcmuKm#bSLL8S_Btu z57>oJdHLow6zqB#0}aJNl|~6wmBnrS2J2mCH|MZ{sk!joo!VS**4+bYA{-(?KUD<_ zy!*7vnuIahS-QwiAf+nL_X{09+5aT3DX-M;ac4{CL%&@sQ`44T3-CKyBc0==s-jf5 zF+0W{+#7kQ>gxm(zxO;~=s=lIpX!6t9d@kDVURMOF`4w$zi^l^QoJ@5xt^F;a6HF< z@WD(LUpp;vrlXrG=dcUHUKMq9TT;4PX?}j4oQ^7p65a9Mi7q=vMu^A0 zRi)#|r!mq}u(EmInS2IL{Hsa)mNVc-p@3p7c}n8Bul0Dw2e-F8!zPin9EknBpg z4*~I^5k)^*N2z9KCGWT&*GC(UZG2v%e?*h#l!3g0;ZTeAO z9;~=XF6S`b%4*dtsu@CZar|-0{farx9s(CR{=2xk}loO z&mRX`+IZloMsOPkD)2Ag=@@0-Xy6z2yP<-Kzpp0fyS)`a-Qxax0*Fyf%`_tZsVa3n zvslOTz=&Ea%i%?vIF&{I^l4UkYHH7B!gRRXC)eKwPOuJC zy&Wt|ILEwfXZ&@%C78x&MTZOS-pM0Tx}Km2VuedvnJgjJJ8#kNwnj!Z7350_1^m+f zix!;<)oNyx^t6I`WzSe1tEt0<6=JifY4qz{*<<=fPNrmD3I&cxc^;!llAb-?}y@u?hJ~z;njhY9qe8ZwB5e))hUnN zeUyg^NcA~)jQw-gX_)BJ`9nE= zFDVTTk~4z=DbK;@-`+i#)2giW%a>Ki4!|FBm5;xs=s0~^hodjdA}wjkca3auYzg}c z4iK9Zxe&bTGYHro&!^`nRMmk0GZ5J{k8F(?Ig&MJ@*Ty}#Avc#g?`f0N?P00a5B*7 z{o|B|*ms5<$#lB>L|#d6IravIXk*%?P0P{N*Y|wZcl<`dEYuadncTHhjs z(y3R)Pil9WlmzC0d3jB6Jyl&}74ooopSJ=)6tcN49d*r=5d?ku^>gDGBt6W+pwVUO zo$}^p78ZI49$-)?6wH=$#r;OHa*MO~+SI8UvgqV^1BHAJEKc$q1a+~?;9RkDD_5sXttQN!ruX(+3swcy_A#&DAZ$ z+~)Q{dwuvR&kiM?AN|Mz-KT@$;IBzjoDXUDF9_068#80Z0r8*=As2}z3Nm}MD+^%U zPs|c85+U<^f$v|)d`3Bq*mNadzc%>&WrJVrhgR##^l$5RpSn708Rk_N$+k}&r-}=q z4aP|4xQDHts^zs@7rk}UrZ#A0MltfD0aCY%06Aaq;PI$5e%<{OzogYaHL*g^s<)Ab z2LX}RH@?nX{zn>MCdN)m;82C$e`UArb0RN3$Bv+B)mA9eJFBE5xw zj&|)p{?;8Gou~YhD%)+@>T(5WzaA5E&OdflC<>N;8!kpuBEsQ72!#ze6;MW!D4>+M zq)%M^%g=8)G11XA*=LtnNXOjo8es@-ci`=gw*R?s+n2kC6x^qkMAU)$jaSR)bG}t) z9)9N?93vz54ts~hb^|HVp;5~Hmjk-zUJX)fX5_teX)qmw`0977xCo?^dhyZDFBQ7I zs;@ot%tgIU+n9Nz1aIrci*ciW|Ee+}UOr8;1fvmGF^30)XEB6^?hKF2%0aJjZ#mr6Qus)+;Sm9-~mRCZ}YXSNprh9o+4aD@YxCXz6=jXw$REX=4h3 zzpSYkVX`<(XI!fvl&k>fRPVSCQ0!z_8Rdydg<0Ub{CqAgH+!e{cb6+~6Os!C;F9H- z==|iZn`Qa4TEqeK?|B#_7+unC)~r6r4meuu)gomFzWJ>8pU8npY&)+d12E;GKDUyHux^Apyaj>YmmLeL^9I>~(&RKdOaa-n`#IlN@hoI~0k zB(0bcWL<%iy|A^DnS~jU zyGyk15+-C08KtuunYG6wP=juZ-#g`1qOE=QU}n@nHdl8V20wqii4qM|McJnfvgR*6 zp7ftJZ`!78*uks=^A0?F>RUP7?GZWcK!tZy`}+`dltzBK#=qQtlgG()?8CEQN1sVa zSxW`d?w3QmWK=LzfVrk+esAyW zuTSay94aCaw^h%cV?N&Ez`NXECA!@@uR43}36~ccy|fN#|6Wc!5$lPwJCx##i~^J(hEdPD$9t)c!)tV_n7A5QS%047 z?fpZW;N7Rn+V%?K7PyB|WiC(7Eo<1yHgqNSA`Ba=y8My>VjA>mz$xy!t>&k48#JA( z;YeRwSygAHC|Fn$Zy%?8YgJ}RSAw?aZ6^64^o^U#$q%-*di8B!icv$S8ZA+HfqGwz z9Tme^#I?YbuZ~^G3jmD0ePX74-5C00@?9DnMw2i81=1ad1apfBoMO$FH>~BhuH3 z0Tf`b)C0Kws$>;D=Kse+&m92oh+tn6d6O)aw=Lys#8R>o+~A@N{LdfmIa51|x+&#W zPpwfsFY<+I53#co*J}7{fzbSRnlAdUC$aTRK}Yz?Fj&$dHKY>%Z>Tox6s>L4xw9JI z4{J6-Hej?d8XMxCF%Y3)^zWQu9~Hr|3$U<;!g|vC+S=gQWiI{$b1%TMzHs;Mn2+7K zMXk`U+O9;a&0VLgXNdO&m@57TE*w{0L9%g`FSKiT7#e|$@(=>RnI)gPEa}5vOmpEE z_tIyhfAQ?&$MrP)&Awgl`DeK+Uu@@d^xt@!jd%8|MZv)(ne9kX+%8rBcR*e3@EY-n z2iILI*3^2ZAz!9wR5HG2aWB4_+SpWN$~*RWyLie9bB9UJLBWI5O1?L8#flAD*R7hwEz8uYI+cYw+d5qSV79ldFs7852o zw>35%``X^xX4=x$_Tq~XM6;zK)qYI{$cjpUvf2RJ8Oj=Zp`bEuxCxF9+A9kCw+~Jn z1ltQg)OBqU4&njk4uA&LckA8S-TxG=9Nd`nR#cQ^gmgV03@DS=3)&>l8VS^qfo+^@ zynMQ?rAaoX%_tDZ_%(azcnzA;}--*M0I!ax||4^t#=)8C4xz< zLhr*kNzOf#y|zo2p8mU~X48`_Cyc%q)NO7UJ;U~n-eEeQEsc#E39t#7mrgF^$d#0} zE__kVfm$Nw>7is8;7F?&yI?uqDP73v-sUGpJ$40`G`I6PYP#_4O3*4nokm8=Fc?P;AlSWZ*sO}$K zmkuxam)!~v!+?8-#&wm!h5iP6h@6~tK@WF2slj@g;n_qh{9;Mc*bxkt{d~P=&K`R4 z!;StxwqZobQ7x%rQET?X3-Z zI4xQmZlLnEAoc9SB$O_UyZ@bm;m=WomS?tBXx%XOdV5I%_C2U$DCrDUsc4dB;Y(^uAz0Mxca8^ef|l0G@Sq7j-+mid|FGqa$;dG16)BpDpYY@Oz2OGn0Q zE`$!<6U;7)qDmqj{e)HvaW_=eGt+_GiACGp`}5r0;X`ZC3D*bxvSN#aJO|KE5m@D7 zuog6z{606q3s}g;V!O!e%0H_?gJ=D|x{g>XQ%XL2_iimW63q%zd`ujrgG7=H+@O1R zEw+7l2c=!E{sX;`(^&B$!nbcnMgHKKufGBFnp@bLmo{QIpm1A95C-fkB#jGV09vaY zjMVGlvrOkw=E=>N5s~w9fX%dxt*gG{tkGLwdN%b7CZlvzvQj95qhV}X{>1xhp4OGd z;g8{!hlGZP4l){-UX`?nLt|m_JvFcek4FI^@!CHS(=+x@?v(&(j&!3(*U{VrJbDo87RoBUWAZV|w<+e>TB zbnRZUUvaVGGthzuxn>5s=e4r6nRd7&!Ue+LGYD@i`~fSh&x7)mXeo~h84EAY^X#%l z;K-K0%4>nJ<^4!VWqF~5>_N}UTj|Q1jCG-*k}Bx_tkqJbCUIpDl5)?I4+~KmvuEnS zCZ3glWY>s7{I}H}CVM8{HC-F58n&rWwD^^X2jiSly9A1;d64{lkJ6V*OtIJpdZmV)w|RmxZ?5ik*zp5s{q%84dc9` z)SW|4-vo0B_;@{dY}^+&n!sSPW*RxnoXa^CoizYTNId z2`ESTHHiH~(%E)NpIns)BPUczV3&V?ZDeEX3JN1d0R={K_J}+gS=Z7!FxJuTR??gM zG?f4%!YlesJYMi;9D0fJCzjRO;4+JFx$;Yxw5Y!;k*@x+Sf; zy!rX#+YhJSw;M7zH4_ms|C@kfu^z%~LidvnUb;a+BJiY0nwYXhe$q zff9=SqQ?3m88xJV09PH1Sv&~{iG-Dqr+&X%2>fA;w2N2NFj`lVhXusr; zR#wwpO|2>b-iFjC`L_~+aew>5GttoX*nu0RSCFlJx{ZEYA(K;JN$uH4Tf3<6?+syZ z7K;Ef*-&y& zX04M!@OJjn&xo-NyR-Dm(5S&n^zwSeO^;k2w^PKTls$CHYW#P`CH+_FQ~^IEm4h$A9I#GtrJd0FMAgLqp-Ja)wKpK(@d+S6XnV)~#nBEDF{c z+(|oQ^?_93Tw~8YtZB-RqhyTIf1}UhvG#9Nhw_*(v?w;oFvW)`$@A%Y4a=V+O+H(I zm{3DHF}8?OW^b}n@b>tRn+HG){ro1%Pw4%?i5rIft^3fi_kob$l7sU`R)V&c*UIj1 zx7`J2JY}ej8Kjm0;1RRuXb_!1$vRC}kxA3Cnh05g956Ut!)tN964B=L;t#sNvk%Pp zkTJ0y$}^eoj9y4=#zS>Y;xh`j+Gv?*XsCNw(yJC1+_rzIZQSQ}RMe)NohGNBJa~{& zaB=7mv@-(nv3+u{7V8bQ^!a|+xv-_j;X2vFaEQn0EB;Bn*3qvM&RcyT1OAXf1onQp z=R3_=XemRR`UlcdMglnN@BB?BGpr^X_BHD>qlf_(@%r`OFKgrRtIw*~FQhNJybS@T z;pn-~VRl$HIZvrYdKD9tN`Kj7c)tJPh}@m#{4Reop>v3}&5c@ZHBIzbsIb^N()mjo?7Y;ui{8m5OI{bE74m+bKGmJQrrQMyZGMT~cUJfh5OdZj@pN;uHZ zx-4aDE~ZdGfgQbT#B9Ma2I;R@O(qxjI)i;QfHAY)Wgn~Vue!jIWSf7(?uJZnVA zq)=!qOEGBd+kbO#Y}4>ga5ZauU{RQ*{sITz!|o$QUIM2_q8@-G;BpJS za7Wzp5?v=al2N4gzy3o?s-%z{0Hji6ZI$#w0uhhfd9y`6b zDFsE_cLrq?wAf}C0IStfR$ZBxn3y%jo1&4v!05oe8FciECon1Tgt%LnQb$5EW;Nu?Jt+|s3K4M8`-2@Aj267_)Hb~GKBa9&Yjjb$v47zNqZ9N` z;u|k#p_Ic-5^&h;_s?%0kJMY3uI7|1geE&T*A9X$F4Dm`uwCELTZ5+$b*#2H36b#P z5AxB@vJSvZ$lZ~Km)fqGXc1;LT8u*go8rSK)kr7Sei4LAruv+UpR{+Rut9_>QQ%$N zc{%Pb90d=n8t&LC+SX6C9)m_~52Uru^2D~;M=_JI3T>zyZBuN_Mc3qeCh1xOjSWy_)6jSg(KcH16^F%bZT zD-tf<}I z)37}R0C1s9O6&QMnCbNi9V;EH)srKRD5TMQkuqEO%?{(A{H;m-nngaK)wpr#YW-E0 z%X52o`)jK`>UUj9ex*>B zYG!s~>b;j0YePp_*K)IlNx8@F5g67!%borieR3ZKEP{^u^HodJbR8v46Zk)YAe-Klld6dzk9$-k@`&`MLp`2xPR#vV>UDpg+ zwy3zj3~Jd!9Vyg?<$qqh_oTy5mdT091>vA9Sd7UpDmCc{euVF+>WUR+xqY4kD0mqtOiG| z$Nc{9gSA?HhKm1;<6PWF6)rcnn@|<|1eDhGPk+E3yZn|?iMYOf%t4)YVM>Q6cwm|7 zck?VT3)=-%Mure8e`=UW3z;**7Hb<2CB842yUe0D*6IJ`q#AoI3x>He8>d-RJL8eM zb?;gJ`l2ChKjCg*ds9y#Y>}>MKmGlFeTx!I4Or){cgGW0dhXbnOHn`p(p;eTl8s`w zSk$Q2f$qaIrICvg1vsh}2vto5Eh|Hs9GsRJ02ganYWWi%(3@ZI{(kqoO8OMkzE07% zI65YD=~6W3e$lR3CHuEHUyvW+P?LdD&CWmqPs{D5s;8DH?qSHrs^@xtCjTHN*g_g?;_o1lck{sD&>G)2t5yz=7#X4VN3ScR014? z@i=g1jfPrUr=~5Mt(7!8U!5Sp6fgJrb9$bd#9N`6&Twcm)#iOPc^5q>is5`FEO6nI zOs=wtq|-u%RwupcpbD*&4>L@ZI|A2B?B*PWuSByaP#!bARq0DyPB%ZTjaO7>SP8Ip zSCRCbXmTx`rL1A3t6`z#ba37z2b_o8I_BKG8HjOMB*-bjALLsCA83b`Mh_jzrj=LN_78b^wIJ2+~%?hUWh?%)O4cZ`A zTF?(@y0%Wf;W;cQ1<6u?4R7h$DPkq3Cm4m%xEWKY)`ZoKJ1J0dO^o$6w8(CwQWI!m z`|_Jv-nqsNS;C{^Cx#ql(@IJTL-8~Ic`bYQZo&?g`s#7Zi1oSsG#tl}QmBG%09Su7 zC%dZ3p~()#e~YLR!C&8Wl4&1ZT0=W*C2M0qo>Vb-0#dP!6ndFJ0tc`9@gZrN3FR^7+)V66E# zcHKW1#6t@@i*jZ|QoIeu7*<*@?#Eqs|4qAgC46V_ybfZPAeu#j9V~o%tA=7ew#5w4 zX$#LtvbycdE%24_jx=r08GEnal@9FK!rbA;6?^``6dtWdMYnsA_PeU9jD}}HwlXkS zX+3#@W@JS@zlwKl1s#K`CR-AkLe?R8ITjv?F!TUEpR;>~aKC0a)BSa_#q=IF@*$nrs#*nthg ztL}!@g#DN$yI06a>~a+u?_F zddbxQ<+WiC#D9f0i1U}S2nyi-Ed0_}cVMGS%2U{gHztGl5N5v66g329B$h?=YwaCu ztFakP9i131J&-SaI=g`m4Q4>}McdYiYtx8Rp1~Pnf*Y{~P(tGBZ1weg&dvb)gaYMyYn4cn8&Uf}vqYz6^ z`&HVNs|t$hl|6|47yaSM*(TuI8-^WOSy_0TcRc_5`|-Q7H*Vh^uUlt$g{!iHgtMmz zoo)}(kLx94H5qJeNWB+3;YA=PlkQ9mg-Q#w58FQ(Z3<*-8fMjKAXCSccq(}wqsMrA z87c4_axg1<{Fg_w-98`tLQe)WA77J}vd246frGvB!h0cjbogdpG#d3jb<(~Gv$pS> zUh{Fz*5VnP62_G6Zo*QCb*He{Vcf==a$f27WBUSHF0JjJ>>FXC;RqcQ5oF9m46te{ zga`@y(pWur@t!gcXRRhpf&dJ}>9)|%*h&+=-}3_(VI<@pe(>l~?|1J~gZh~-T-%~; z#oi%DQHRAJv(;BnmDzt-@nj715Ke7K5ULv_3I>z(r3M`NX~mQ-wEt`ZufjEkF^{}G z@LqNwQ_~An*Ae0y1O{%vz1>t*fEcxoGcz($Huo+`r!$~LOV9466`#H{^~dWSoFw-= z_Q=X$>3104Nx)xxF{YK?{k^qDI&r&A+)v7grQnQPC(%Z~t&8yxbyk3+6vw`~paj5z zVQ@qr@{ik;Rdz*2!;MBe7D$4*C`5v}F5bsKi9JhSZ=2~dbLO~D7DCl#Bou}EB8w~S z6l~dNv=ZLT`B>eCT>N3eoCn8i!*|&D)mToD?X<`-WLZzVVD;9Uc5R_=*Q%AZoBrZ)4Yb0$ zgE|fX(^y#<>E}3ZTyaU96%rP3fQIa<_opJl>A8#;vHtHoN#Xhcti-3p5;(xBZV`^! z9?5_FxH)%a%YnGi_fWX5{hewy+^>W45;E%SKX@=RKR@|OsuL!}LL&iMRDm8jd9|JC zo@Av%Cr>tlH&$v9UG(8YLLy!8;AxSYHwVHGJ!O~V`Q*$RVAG7JPt!&%I>nBW6AO&P zF}H z2M!*rg0@pZb9lt;+zWI#`kI=?_m~guQ@ETwnD`HPDA5!=@OR5ueHgSVsszd`{uW3< zU&y$GD(6DF^@R@k4@Q>tK0bnDgVI#SkqOF29$^rgM^t)uL$>SJ)j zNzS-NfbBBW?-+gzsaYH*S+7Pl4C6@(qnf6S4QfG%?!jDtoZ0aX~ z9zyyt2m`2HDdHx5GIxSilbC!R@&%*P@@ID8q`=D@IU6Ll(^-sj^)|OxafnH=9yaR7+Ex~ z!>0JQ-Sx8ZgD)5~DKa8LNbmT5H>Ke97~P!1?BUXGYfZs+g%(D;7~E=Gt5%aEOWI$6 zU@lqz{iCk6B)Z)zbq83dB68(Zhaa(Q-@YzV!3nAIcME?0PsXCBmt1;y9;}iSYlFIj z9|n|?ZN1nu&N&0kdC{(aV_uQPpY9)PMMOCHFrV=)AF3FO$2U;N_*PIUnj!h|yQL>~ z<%(Sb(Vo4dHKBz)$K=R%)xB%%f*>RCRmOX`h?F)6;#;OqrS2 z%_Fy+WE4oK2C#~ypy2w?K-4e7vzM+@>f#L*6&2WWB^S)41i`l_ZpkBnI68o#ltACK zfg()o*qQ~)-n3xI$sW!(I>X{tEqxH@PPJOS8?zdSxDWbnUXL)FgJ+=CP;9{2Qi z&H^ht%h-*Pn<8CrS4z~g$tucNYpXx(=;hCYce}K(^ldJ^3#qZtGKDSLtYnqWsnunX zj)dR90ejPhm5}T?MH~)VsN40Y`v_uOP6uBdoK`A3+Q6fC;~E(|a4_y*WZUE*mV5jmYJlF9<0CHBtHw&+~Qp9${+-*0$=8>gaD*;*Cjt zjhg|b^ZPc{wrhA8Us_j~(ZcwEgV{$L_G0M6fNw70u918}lICtxFRBRS-mQCh$viP= zA9bRo`#s#upR^FEnAPhRe0WsMm=;%b}4+k0P$GHj$|b#;t{**>66 zoHX$b_6J79)@j>z5ew&^ALBtl3TuC;E$eClM7Nr^TpBp^?#n^-FKXKMojAh^HBF7) zI4{v~QEBPeZ98`K-fFYJ>(1u2QkI18HePtvlVnTHXw=S~C#O%XR#&%Gd-9RtY=5|9 z8x{ut`N_|VqrO1+W3{(E_hhEo=|FK|318oIvi~OF4`h~f-0Kswgz^uW<_l-X)fT$^ zOjDJZvjfrD*99pO9GWpg{WzjN!!_IM_xo2hEJ`AsVhvaotvy0>;Hba*siYu}ln@Wa zjE(4$TFL3DOidxpIPdT88Gcmw>u{hIEAiVEF(F~#YV*c? zfio5N3|~gy2s}9OsUhx?kYjU;Noq^)7JIY9WTACKeTrcyycTbEJk2u%4~uh@*WA-FHqQ=LZVnO((_u zRANxjpnylz=iR(ZW}W-}tMc@cPkPAZnmu0f{K6U}VWT_#L*aE?ps5x9#bZ|I3;&`A z=)D^mGU6yaibeN|7k(-*r{W^S4>EG%q3t}dio9_3Y%Sdl+^5MvvJ8RS9UT$%qOeZC zc5SFzGv4u$`JD$8y29xt(fdrA5<_2b){`?P;^Isp09m9K+MJF3%vfYS6fmC$!a66j zFV9c=wdTc(sV6=1>S47f`lLQh>arrLsj5g4Uve-O4|! zIk(h#ypt1yYie-RzrWODWHqI{r1k%v1B(`B`m^)2uq3Yk!;vriL!6LimsC;UF5>Ts z0AAi98k$l8p{^xw zZ;J?5$%=`5*BfSAO>4LPugX-caF92yrn!wL31jMNL0Rwb;ZfA^e^qwwVKwJ@9RHO| z%?jrv5^<_0jq8wc30;(vVP{<;p}CYYW}Jy5}mD3D%6yHeX{e+V|G2yZh!UkJm)#5^Zk84-_Q4b`xJSdJiRnK-qA{) zTrqm#As0r4Kde1_-;kMk3NMzTzzBc;F!gmqHFiXYF(uo}9t)KYXdFnlA!CE_J7zDe z7>g*ToDCLnXO;C%7pKU+i-pE$Y0I&)>FFM|P42y`dRj3FUfrP|t8++> zubo3QaCzLfKT>2I6sgsIWsmvVba!zIb~cF@sx~hC7TFoC?Lhu>FE4aEe^`4iAn?EoHdfkRabb;SJ zLpzwkq*A2Bg&cYOTKnkEtxaIS#^M_g5hQgUkytRa9Zk|b>%PerX=56v^|m4%-?jO9 zMMrGtND{KohbPZxb8Pfs@F+eAYk}K1k&|wCpfRSV&B)Pp&VO;QJ2N}l(`OeUkFqz9 z?djl@F>=xI0G=6w!)ulrpJ|Mlh`P z@h$6VWz||Slv%)8D7!|kj^EpBNn;G*%@7M6z6>b%xUSNEsOFJ;Dq?2kpd!+&BbRJ% zM!$2#T*x>1s5GY?7khE4A0`BaSM@}8ND{vSa3%^})c=8CUyAZ3bEOCb8L|PDt|-Ev zGC5bd4d)lj7?0YQ=Gp<9x7Q5k-X=*n>FzOsXz32+H~fBHBbR5UPxO0HVB!}0Lz1(l z&89V)rw6~ntmo|FGUF&*4jG+=;4W)feoK=7F;Dj1IU;Ng?eF$ek1k!DOf#Qt;U?QDBK$1B;h`@(ZjK=Z$?zK=g~0KkAfnh`=_%qmhV4w3DH0h%H)WKs(rIw zsgH%%g8i{<%2MT6gcOJ&PF;1HF_bc-3zkXFX<0X%I|4le{saNgA}kyr?}1I%?Z`no z6APQctzmAYKbOtMrxRXn!rFNh*6V*=GLU?*1hM9xj%_1c5v;>DUrqAvS&d&fCI3;a zbqLOmez8cs+y#zv+Ds-`36hZ*YZoupPD3t8tE@RK^E<3F;?P9pEKP&aJ-l6RJ_ZHd z{VG&WU2Sc@j7(2Wo$)yK+m6>}`uaMWsyxvA+=vczXmzIk{YkNIGqjO|qUuA8%eJMZ zi3Wh{KbDCpTSko-!O_v-YjCCD>c)!!%^CIi0R?*h9?u5xY_sWZb6Ro3)73uFo?BkC zH7ypmNKcZ7v+|ZKUMw?e@m3DKpn2v^^W26t%Q=Egd}vj>tC&9UO`Q`o45`2_=~c;7 zT0kz;*lXUiGq3CS_mOYhGbU;7@Y)B*o~N2cwL$ny6?N54SU;=~ zD+S$)#g%B+5=DS@qf}3}kTBuSR3o8N(1*!_<4l$CxX&|C< zz>HH}mkt(97CucwJz$R)*+`-&d;UB^61BL~3vdRuXBS+nJ-4pr_}z+@%PvM^YBN7? zYI|B*x7YTiT0&v~dMIaH*0k%+)|a`m?Q~>Y_9rph8sQ{(C)%%84fQpN6plM^X&ZM8 z2eTAA9P>CI*_KM376_Vkgwm&LDel(MC%EgII}}5Rv(4a3l@qU+^BA@gCkbVV%t?E6 zYFs3cxD>%lEjr>+wob00i z*#!C`krnEzxTYnOe5Oxu1`VhAyY_cM7n-D2ujxEXyAsKII$s*xb431|>8GST)Po z4DNf5WYq65XZ*~VQZJ4{6p6^o5b}ZDL=lm^o1r)X-(nCo~QBILd zgJeC4XH}vSrWJ89<5IFhUPH%Z4n>KTWM@qMOqu{m;gN?2^wXK!7aoe~W-t3{2ee{w zF{Zb)RL1vSrjOGmO=Ieqsfwb$$JoqiOc%xH^y{|_x<;#%HqdhYm!NN}Z$fVl3y3Tx$WTX`GXsDNW zwYJ`8yx+;&CpWx0#eDRK`Ozn?7OBp!Aj9R?7Oi_sf46Q?+3`mO5LcFSzWO!31YcB^ z7c|v`>h4OVQ9fJzgc)2mpt)1?mV|{-O?${f9SE)^CvAiMm?7n;`A>&^=eDmeH>_{C ziVNEf7;>QcZ5<0&JsnDx;BGZpJ4l=_cQSgX$*OT*H&G`0`x}hSfaS<8Jc*4kULccO z;%MN@ZZb^$ZBsWn^!_j>+NY8dIt=kRZhCu?`=0_B zLi~!t9)G~q!$X5ogDc(K+7~%ZN0zy)$N8??9Psr5&zv2_U9+2R;;cfxw+dLa0?5jf zV`fjaT@5$Ul9CMXL>iz(i9gqcO((3!6>3QC3s{vIuN)9fmS7OgN8B)Z{0fgWhft!DIJci(@~Jb z?FdRPG=6v2IpoVer<6H|TpuKHMC@Gg;vrKIDkC*@Nb_(%Fh)kTGiL@h=A{q9?JizM33ktKc-SwehLSh6S8Q!%v*r)pe|Oa9-HB898Sgz&d(bN| F_FwlZ&^Z7A diff --git a/nbs/tests/mpl_image_tests/baseline_images/test_09_cummings_shared_control.png b/nbs/tests/mpl_image_tests/baseline_images/test_09_cummings_shared_control.png index 5c8dc16f548a18c8dbb66cb31e06ccaf614aa5b1..d67580970396ee7667cef9ea81925d6827f82f31 100644 GIT binary patch literal 68066 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

XRTAe+1U;7=j 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 Z@SJ}=*Nj+yPl10-jAl$aZ7|>GzX5+z=K%l! diff --git a/nbs/tests/mpl_image_tests/baseline_images/test_04_gardner_altman_paired_meandiff.png b/nbs/tests/mpl_image_tests/baseline_images/test_04_gardner_altman_paired_meandiff.png index e86977a67aff3e00e2d4eda6be86762fabc35cd1..6d3f0f6d6a90e2c3f7222ca3e7e04d325006810a 100644 GIT binary patch literal 41586 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 z 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 bh4V)xE04V0q`p?c|9+V;b^O(_4&MI_R}2NH diff --git a/nbs/tests/mpl_image_tests/baseline_images/test_05_cummings_two_group_unpaired_meandiff.png b/nbs/tests/mpl_image_tests/baseline_images/test_05_cummings_two_group_unpaired_meandiff.png index e80a42b18eca0fd7fa69d3cd280003554a81aa72..599efec37d4ae3d4ffa2d684735f39a052b28516 100644 GIT binary patch literal 29225 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