Skip to content

Commit 940d783

Browse files
committed
Merge branch 'vnbdev' into feat-numba
# Conflicts: # dabest/_dabest_object.py # dabest/_modidx.py # dabest/misc_tools.py # dabest/plotter.py # nbs/API/dabest_object.ipynb # nbs/API/misc_tools.ipynb # nbs/API/plotter.ipynb # nbs/tests/mpl_image_tests/baseline_images/test_01_gardner_altman_unpaired_meandiff.png # nbs/tests/mpl_image_tests/baseline_images/test_02_gardner_altman_unpaired_mediandiff.png # nbs/tests/mpl_image_tests/baseline_images/test_03_gardner_altman_unpaired_hedges_g.png # nbs/tests/mpl_image_tests/baseline_images/test_04_gardner_altman_paired_hedges_g.png # nbs/tests/mpl_image_tests/baseline_images/test_04_gardner_altman_paired_meandiff.png # nbs/tests/mpl_image_tests/baseline_images/test_05_cummings_two_group_unpaired_meandiff.png # nbs/tests/mpl_image_tests/baseline_images/test_06_cummings_two_group_paired_meandiff.png # nbs/tests/mpl_image_tests/baseline_images/test_07_cummings_multi_group_unpaired.png # nbs/tests/mpl_image_tests/baseline_images/test_08_cummings_multi_group_paired.png # nbs/tests/mpl_image_tests/baseline_images/test_09_cummings_shared_control.png # nbs/tests/mpl_image_tests/baseline_images/test_101_gardner_altman_unpaired_propdiff.png # nbs/tests/mpl_image_tests/baseline_images/test_103_cummings_two_group_unpaired_propdiff.png # nbs/tests/mpl_image_tests/baseline_images/test_105_cummings_multi_group_unpaired_propdiff.png # nbs/tests/mpl_image_tests/baseline_images/test_106_cummings_shared_control_propdiff.png # nbs/tests/mpl_image_tests/baseline_images/test_107_cummings_multi_groups_propdiff.png # nbs/tests/mpl_image_tests/baseline_images/test_109_gardner_altman_ylabel.png # nbs/tests/mpl_image_tests/baseline_images/test_10_cummings_multi_groups.png # nbs/tests/mpl_image_tests/baseline_images/test_110_change_fig_size.png # nbs/tests/mpl_image_tests/baseline_images/test_111_change_palette_b.png # nbs/tests/mpl_image_tests/baseline_images/test_112_change_palette_c.png # nbs/tests/mpl_image_tests/baseline_images/test_113_desat.png # nbs/tests/mpl_image_tests/baseline_images/test_114_change_ylims.png # nbs/tests/mpl_image_tests/baseline_images/test_115_invert_ylim.png # nbs/tests/mpl_image_tests/baseline_images/test_116_ticker_gardner_altman.png # nbs/tests/mpl_image_tests/baseline_images/test_117_err_color.png # nbs/tests/mpl_image_tests/baseline_images/test_118_cummings_two_group_unpaired_meandiff_bar_width.png # nbs/tests/mpl_image_tests/baseline_images/test_119_wide_df_nan.png # nbs/tests/mpl_image_tests/baseline_images/test_11_inset_plots.png # nbs/tests/mpl_image_tests/baseline_images/test_120_long_df_nan.png # nbs/tests/mpl_image_tests/baseline_images/test_121_cohens_h_gardner_altman.png # nbs/tests/mpl_image_tests/baseline_images/test_122_cohens_h_cummings.png # nbs/tests/mpl_image_tests/baseline_images/test_123_sankey_gardner_altman.png # nbs/tests/mpl_image_tests/baseline_images/test_124_sankey_cummings.png # nbs/tests/mpl_image_tests/baseline_images/test_125_sankey_2paired_groups.png # nbs/tests/mpl_image_tests/baseline_images/test_126_sankey_2sequential_groups.png # nbs/tests/mpl_image_tests/baseline_images/test_127_sankey_multi_group_paired.png # nbs/tests/mpl_image_tests/baseline_images/test_128_sankey_transparency.png # nbs/tests/mpl_image_tests/baseline_images/test_129_zero_to_zero.png # nbs/tests/mpl_image_tests/baseline_images/test_12_gardner_altman_ylabel.png # nbs/tests/mpl_image_tests/baseline_images/test_130_zero_to_one.png # nbs/tests/mpl_image_tests/baseline_images/test_131_one_to_zero.png # nbs/tests/mpl_image_tests/baseline_images/test_132_shared_control_sankey_off.png # nbs/tests/mpl_image_tests/baseline_images/test_133_shared_control_flow_off.png # nbs/tests/mpl_image_tests/baseline_images/test_134_separate_control_sankey_off.png # nbs/tests/mpl_image_tests/baseline_images/test_135_separate_control_flow_off.png # nbs/tests/mpl_image_tests/baseline_images/test_136_style_sheets.png # nbs/tests/mpl_image_tests/baseline_images/test_13_multi_2group_color.png # nbs/tests/mpl_image_tests/baseline_images/test_14_gardner_altman_paired_color.png # nbs/tests/mpl_image_tests/baseline_images/test_15_change_palette_a.png # nbs/tests/mpl_image_tests/baseline_images/test_16_change_palette_b.png # nbs/tests/mpl_image_tests/baseline_images/test_17_change_palette_c.png # nbs/tests/mpl_image_tests/baseline_images/test_18_desat.png # nbs/tests/mpl_image_tests/baseline_images/test_19_dot_sizes.png # nbs/tests/mpl_image_tests/baseline_images/test_201_forest_plot_no_colorpalette.png # nbs/tests/mpl_image_tests/baseline_images/test_202_forest_plot_with_colorpalette.png # nbs/tests/mpl_image_tests/baseline_images/test_203_horizontal_forest_plot_no_colorpalette.png # nbs/tests/mpl_image_tests/baseline_images/test_204_horizontal_forest_plot_with_colorpalette.png # nbs/tests/mpl_image_tests/baseline_images/test_205_forest_mini_meta_horizontal.png # nbs/tests/mpl_image_tests/baseline_images/test_206_forest_mini_meta.png # nbs/tests/mpl_image_tests/baseline_images/test_20_change_ylims.png # nbs/tests/mpl_image_tests/baseline_images/test_21_invert_ylim.png # nbs/tests/mpl_image_tests/baseline_images/test_22_ticker_gardner_altman.png # nbs/tests/mpl_image_tests/baseline_images/test_23_ticker_cumming.png # nbs/tests/mpl_image_tests/baseline_images/test_24_wide_df_nan.png # nbs/tests/mpl_image_tests/baseline_images/test_25_long_df_nan.png # nbs/tests/mpl_image_tests/baseline_images/test_26_slopegraph_kwargs.png # nbs/tests/mpl_image_tests/baseline_images/test_27_gardner_altman_reflines_kwargs.png # nbs/tests/mpl_image_tests/baseline_images/test_28_unpaired_cumming_reflines_kwargs.png # nbs/tests/mpl_image_tests/baseline_images/test_29_paired_cumming_slopegraph_reflines_kwargs.png # nbs/tests/mpl_image_tests/baseline_images/test_30_sequential_cumming_slopegraph.png # nbs/tests/mpl_image_tests/baseline_images/test_31_baseline_cumming_slopegraph.png # nbs/tests/mpl_image_tests/baseline_images/test_47_cummings_unpaired_delta_delta_meandiff.png # nbs/tests/mpl_image_tests/baseline_images/test_48_cummings_sequential_delta_delta_meandiff.png # nbs/tests/mpl_image_tests/baseline_images/test_49_cummings_baseline_delta_delta_meandiff.png # nbs/tests/mpl_image_tests/baseline_images/test_50_delta_plot_ylabel.png # nbs/tests/mpl_image_tests/baseline_images/test_51_delta_plot_change_palette_a.png # nbs/tests/mpl_image_tests/baseline_images/test_52_delta_specified.png # nbs/tests/mpl_image_tests/baseline_images/test_53_delta_change_ylims.png # nbs/tests/mpl_image_tests/baseline_images/test_54_delta_invert_ylim.png # nbs/tests/mpl_image_tests/baseline_images/test_55_delta_median_diff.png # nbs/tests/mpl_image_tests/baseline_images/test_56_delta_cohens_d.png # nbs/tests/mpl_image_tests/baseline_images/test_57_delta_show_delta2.png # nbs/tests/mpl_image_tests/baseline_images/test_58_delta_axes_invert_ylim.png # nbs/tests/mpl_image_tests/baseline_images/test_59_delta_axes_invert_ylim_not_showing_delta2.png # nbs/tests/mpl_image_tests/baseline_images/test_60_cummings_unpaired_mini_meta_meandiff.png # nbs/tests/mpl_image_tests/baseline_images/test_61_cummings_sequential_mini_meta_meandiff.png # nbs/tests/mpl_image_tests/baseline_images/test_62_cummings_baseline_mini_meta_meandiff.png # nbs/tests/mpl_image_tests/baseline_images/test_63_mini_meta_plot_ylabel.png # nbs/tests/mpl_image_tests/baseline_images/test_64_mini_meta_plot_change_palette_a.png # nbs/tests/mpl_image_tests/baseline_images/test_65_mini_meta_dot_sizes.png # nbs/tests/mpl_image_tests/baseline_images/test_66_mini_meta_change_ylims.png # nbs/tests/mpl_image_tests/baseline_images/test_67_mini_meta_invert_ylim.png # nbs/tests/mpl_image_tests/baseline_images/test_68_mini_meta_median_diff.png # nbs/tests/mpl_image_tests/baseline_images/test_69_mini_meta_cohens_d.png # nbs/tests/mpl_image_tests/baseline_images/test_70_mini_meta_not_show.png # nbs/tests/mpl_image_tests/baseline_images/test_71_unpaired_delta_g.png # nbs/tests/mpl_image_tests/baseline_images/test_72_sequential_delta_g.png # nbs/tests/mpl_image_tests/baseline_images/test_73_baseline_delta_g.png # nbs/tests/mpl_image_tests/baseline_images/test_99_style_sheets.png # settings.ini
2 parents a060b49 + d3d531f commit 940d783

File tree

136 files changed

+5811
-3898
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

136 files changed

+5811
-3898
lines changed

.github/workflows/test-pytest.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ jobs:
88
- uses: actions/checkout@v3
99
- uses: actions/setup-python@v4
1010
with:
11-
python-version: 3.8
11+
python-version: 3.9
1212
cache: "pip"
1313
cache-dependency-path: settings.ini
1414
- name: Run pytest

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ _proc/
55
.gitattributes
66
.last_checked
77
.gitconfig
8+
.cursorignore
89
*.bak
910
*.log
1011
*~

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<!-- WARNING: THIS FILE WAS AUTOGENERATED! DO NOT EDIT! -->
44

55
[![minimal Python
6-
version](https://img.shields.io/badge/Python%3E%3D-3.8-6666ff.svg)](https://www.anaconda.com/distribution/)
6+
version](https://img.shields.io/badge/Python%3E%3D-3.9-6666ff.svg)](https://www.anaconda.com/distribution/)
77
[![PyPI
88
version](https://badge.fury.io/py/dabest.svg)](https://badge.fury.io/py/dabest)
99
[![Downloads](https://img.shields.io/pepy/dt/dabest.svg)](https://pepy.tech/project/dabest)

dabest/_dabest_object.py

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,11 @@
88
# %% ../nbs/API/dabest_object.ipynb 4
99
# Import standard data science libraries
1010
from numpy import array, repeat, random, issubdtype, number
11+
import numpy as np
1112
import pandas as pd
1213
from scipy.stats import norm
1314
from scipy.stats import randint
1415

15-
from .misc_tools import unique_with_types
16-
1716
# %% ../nbs/API/dabest_object.ipynb 6
1817
class Dabest(object):
1918

@@ -113,8 +112,7 @@ def __init__(
113112
# Determine the kind of estimation plot we need to produce.
114113
if all([isinstance(i, (str, int, float)) for i in idx]):
115114
# flatten out idx.
116-
# all_plot_groups = pd.unique([t for t in idx]).tolist()
117-
all_plot_groups = unique_with_types([t for t in idx])
115+
all_plot_groups = pd.unique([t for t in idx]).tolist()
118116
if len(idx) > len(all_plot_groups):
119117
err0 = "`idx` contains duplicated groups. Please remove any duplicates and try again."
120118
raise ValueError(err0)
@@ -124,8 +122,7 @@ def __init__(
124122
self.__idx = (idx,)
125123

126124
elif all([isinstance(i, (tuple, list)) for i in idx]):
127-
# all_plot_groups = pd.unique([t for t in idx]).tolist()
128-
all_plot_groups = unique_with_types([tt for t in idx for tt in t])
125+
all_plot_groups = pd.unique([tt for t in idx for tt in t]).tolist()
129126

130127
actual_groups_given = sum([len(i) for i in idx])
131128

@@ -483,8 +480,7 @@ def _check_errors(self, x, y, idx, experiment, experiment_label, x1_level):
483480

484481
# Handling str type condition
485482
if is_str_condition_met:
486-
# if len(pd.unique(idx).tolist()) != 2:
487-
if len(unique_with_types(idx)) != 2:
483+
if len(np.unique(idx).tolist()) != 2:
488484
err0 = "`mini_meta` is True, but `idx` ({})".format(idx)
489485
err1 = "does not contain exactly 2 unique columns."
490486
raise ValueError(err0 + err1)
@@ -672,7 +668,7 @@ def _get_plot_data(self, x, y, all_plot_groups):
672668
all_plot_groups, ordered=True, inplace=True
673669
)
674670
else:
675-
plot_data.loc[:, self.__xvar] = pd.Categorical(
671+
plot_data[self.__xvar] = pd.Categorical(
676672
plot_data[self.__xvar], categories=all_plot_groups, ordered=True
677673
)
678674

dabest/_effsize_objects.py

Lines changed: 52 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -982,6 +982,7 @@ def plot(
982982
contrast_ylim=None,
983983
delta2_ylim=None,
984984
swarm_side=None,
985+
empty_circle=False,
985986
custom_palette=None,
986987
swarm_desat=0.5,
987988
halfviolin_desat=1,
@@ -1005,10 +1006,6 @@ def plot(
10051006
fig_size=None,
10061007
dpi=100,
10071008
ax=None,
1008-
contrast_show_es=False,
1009-
es_sf=2,
1010-
es_fontsize=10,
1011-
contrast_show_deltas=True,
10121009
gridkey_rows=None,
10131010
gridkey_merge_pairs=False,
10141011
gridkey_show_Ns=True,
@@ -1028,6 +1025,17 @@ def plot(
10281025
fontsize_contrastxlabel=12,
10291026
fontsize_contrastylabel=12,
10301027
fontsize_delta2label=12,
1028+
#### Contrast bars and delta text and delta dots WIP ####
1029+
contrast_bars=True,
1030+
swarm_bars=True,
1031+
contrast_bars_kwargs=None,
1032+
swarm_bars_kwargs=None,
1033+
summary_bars=None,
1034+
summary_bars_kwargs=None,
1035+
delta_text=True,
1036+
delta_text_kwargs=None,
1037+
delta_dot=True,
1038+
delta_dot_kwargs=None,
10311039
):
10321040
"""
10331041
Creates an estimation plot for the effect size of interest.
@@ -1075,6 +1083,12 @@ def plot(
10751083
https://seaborn.pydata.org/generated/seaborn.cubehelix_palette.html
10761084
The named colors of matplotlib can be found here:
10771085
https://matplotlib.org/examples/color/named_colors.html
1086+
swarm_side: string, default None
1087+
The side on which points are swarmed for swarmplots ("center", "left", or "right").
1088+
empty_circle: boolean, default False
1089+
Boolean value determining if empty circles will be used for plotting of
1090+
swarmplot for control groups. Color of each individual swarm is also now
1091+
dependent on the comparison group.
10781092
swarm_desat : float, default 1
10791093
Decreases the saturation of the colors in the swarmplot by the
10801094
desired proportion. Uses `seaborn.desaturate()` to acheive this.
@@ -1170,7 +1184,39 @@ def plot(
11701184
Font size for the contrast axes ylabel.
11711185
fontsize_delta2label : float, default 12
11721186
Font size for the delta-delta axes ylabel.
1173-
1187+
1188+
1189+
contrast_bars : boolean, default True
1190+
Whether or not to display the contrast bars.
1191+
swarm_bars : boolean, default True
1192+
Whether or not to display the swarm bars.
1193+
contrast_bars_kwargs : dict, default None
1194+
Pass relevant keyword arguments to the contrast bars. Pass any keyword arguments accepted by
1195+
matplotlib.patches.Rectangle here, as a string. If None, the following keywords are passed:
1196+
{"color": None, "alpha": 0.3}
1197+
swarm_bars_kwargs : dict, default None
1198+
Pass relevant keyword arguments to the swarm bars. Pass any keyword arguments accepted by
1199+
matplotlib.patches.Rectangle here, as a string. If None, the following keywords are passed:
1200+
{"color": None, "alpha": 0.3}
1201+
1202+
summary_bars : list, default None
1203+
Pass a list of indices of the contrast objects to have summary bars displayed on the plot.
1204+
For example, [0,1] will show summary bars for the first two contrast objects.
1205+
summary_bars_kwargs: dict, default None
1206+
If None, the following keywords are passed: {"color": None, "alpha": 0.15}
1207+
delta_text : boolean, default True
1208+
Whether or not to display the text deltas.
1209+
delta_text_kwargs : dict, default None
1210+
Pass relevant keyword arguments to the delta text. Pass any keyword arguments accepted by
1211+
matplotlib.text.Text here, as a string. If None, the following keywords are passed:
1212+
{"color": None, "alpha": 1, "fontsize": 10, "ha": 'center', "va": 'center', "rotation": 0,
1213+
"x_location": 'right', "x_coordinates": None, "y_coordinates": None}
1214+
Use "x_coordinates" and "y_coordinates" if you would like to specify the text locations manually.
1215+
delta_dot : boolean, default True
1216+
Whether or not to display the delta dots on paired or repeated measure plots.
1217+
delta_dot_kwargs : dict, default None
1218+
Pass relevant keyword arguments. If None, the following keywords are passed:
1219+
{"marker": "^", "alpha": 0.5, "zorder": 2, "size": 3, "side": "right"}
11741220
11751221
Returns
11761222
-------
@@ -1191,7 +1237,7 @@ def plot(
11911237
if hasattr(self, "results") is False:
11921238
self.__pre_calc()
11931239

1194-
if self.__delta2:
1240+
if self.__delta2 and not empty_circle:
11951241
color_col = self.__x2
11961242

11971243
# if self.__proportional:

dabest/_modidx.py

Lines changed: 42 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -74,13 +74,35 @@
7474
'dabest.forest_plot': { 'dabest.forest_plot.extract_plot_data': ( 'API/forest_plot.html#extract_plot_data',
7575
'dabest/forest_plot.py'),
7676
'dabest.forest_plot.forest_plot': ('API/forest_plot.html#forest_plot', 'dabest/forest_plot.py'),
77-
'dabest.forest_plot.load_plot_data': ('API/forest_plot.html#load_plot_data', 'dabest/forest_plot.py')},
78-
'dabest.misc_tools': { 'dabest.misc_tools.get_varname': ('API/misc_tools.html#get_varname', 'dabest/misc_tools.py'),
77+
'dabest.forest_plot.load_plot_data': ('API/forest_plot.html#load_plot_data', 'dabest/forest_plot.py'),
78+
'dabest.forest_plot.map_effect_attribute': ( 'API/forest_plot.html#map_effect_attribute',
79+
'dabest/forest_plot.py')},
80+
'dabest.misc_tools': { 'dabest.misc_tools.Cumming_Plot_Aesthetic_Adjustments': ( 'API/misc_tools.html#cumming_plot_aesthetic_adjustments',
81+
'dabest/misc_tools.py'),
82+
'dabest.misc_tools.Gardner_Altman_Plot_Aesthetic_Adjustments': ( 'API/misc_tools.html#gardner_altman_plot_aesthetic_adjustments',
83+
'dabest/misc_tools.py'),
84+
'dabest.misc_tools.General_Plot_Aesthetic_Adjustments': ( 'API/misc_tools.html#general_plot_aesthetic_adjustments',
85+
'dabest/misc_tools.py'),
86+
'dabest.misc_tools.add_counts_to_ticks': ( 'API/misc_tools.html#add_counts_to_ticks',
87+
'dabest/misc_tools.py'),
88+
'dabest.misc_tools.extract_contrast_plotting_ticks': ( 'API/misc_tools.html#extract_contrast_plotting_ticks',
89+
'dabest/misc_tools.py'),
90+
'dabest.misc_tools.get_color_palette': ('API/misc_tools.html#get_color_palette', 'dabest/misc_tools.py'),
91+
'dabest.misc_tools.get_kwargs': ('API/misc_tools.html#get_kwargs', 'dabest/misc_tools.py'),
92+
'dabest.misc_tools.get_params': ('API/misc_tools.html#get_params', 'dabest/misc_tools.py'),
93+
'dabest.misc_tools.get_plot_groups': ('API/misc_tools.html#get_plot_groups', 'dabest/misc_tools.py'),
94+
'dabest.misc_tools.get_unique_categories': ( 'API/misc_tools.html#get_unique_categories',
95+
'dabest/misc_tools.py'),
96+
'dabest.misc_tools.get_varname': ('API/misc_tools.html#get_varname', 'dabest/misc_tools.py'),
97+
'dabest.misc_tools.initialize_fig': ('API/misc_tools.html#initialize_fig', 'dabest/misc_tools.py'),
7998
'dabest.misc_tools.merge_two_dicts': ('API/misc_tools.html#merge_two_dicts', 'dabest/misc_tools.py'),
8099
'dabest.misc_tools.print_greeting': ('API/misc_tools.html#print_greeting', 'dabest/misc_tools.py'),
81-
'dabest.misc_tools.unique_with_types': ('API/misc_tools.html#unique_with_types', 'dabest/misc_tools.py'),
100+
'dabest.misc_tools.set_xaxis_ticks_and_lims': ( 'API/misc_tools.html#set_xaxis_ticks_and_lims',
101+
'dabest/misc_tools.py'),
102+
'dabest.misc_tools.show_legend': ('API/misc_tools.html#show_legend', 'dabest/misc_tools.py'),
82103
'dabest.misc_tools.unpack_and_add': ('API/misc_tools.html#unpack_and_add', 'dabest/misc_tools.py')},
83-
'dabest.plot_tools': { 'dabest.plot_tools.SwarmPlot': ('API/plot_tools.html#swarmplot', 'dabest/plot_tools.py'),
104+
'dabest.plot_tools': { 'dabest.plot_tools.DeltaDotsPlotter': ('API/plot_tools.html#deltadotsplotter', 'dabest/plot_tools.py'),
105+
'dabest.plot_tools.SwarmPlot': ('API/plot_tools.html#swarmplot', 'dabest/plot_tools.py'),
84106
'dabest.plot_tools.SwarmPlot.__init__': ( 'API/plot_tools.html#swarmplot.__init__',
85107
'dabest/plot_tools.py'),
86108
'dabest.plot_tools.SwarmPlot._adjust_gutter_points': ( 'API/plot_tools.html#swarmplot._adjust_gutter_points',
@@ -93,14 +115,30 @@
93115
'dabest/plot_tools.py'),
94116
'dabest.plot_tools.SwarmPlot._swarm': ('API/plot_tools.html#swarmplot._swarm', 'dabest/plot_tools.py'),
95117
'dabest.plot_tools.SwarmPlot.plot': ('API/plot_tools.html#swarmplot.plot', 'dabest/plot_tools.py'),
118+
'dabest.plot_tools.barplotter': ('API/plot_tools.html#barplotter', 'dabest/plot_tools.py'),
96119
'dabest.plot_tools.check_data_matches_labels': ( 'API/plot_tools.html#check_data_matches_labels',
97120
'dabest/plot_tools.py'),
121+
'dabest.plot_tools.contrast_bars_plotter': ( 'API/plot_tools.html#contrast_bars_plotter',
122+
'dabest/plot_tools.py'),
123+
'dabest.plot_tools.delta_text_plotter': ( 'API/plot_tools.html#delta_text_plotter',
124+
'dabest/plot_tools.py'),
125+
'dabest.plot_tools.effect_size_curve_plotter': ( 'API/plot_tools.html#effect_size_curve_plotter',
126+
'dabest/plot_tools.py'),
98127
'dabest.plot_tools.error_bar': ('API/plot_tools.html#error_bar', 'dabest/plot_tools.py'),
99128
'dabest.plot_tools.get_swarm_spans': ('API/plot_tools.html#get_swarm_spans', 'dabest/plot_tools.py'),
129+
'dabest.plot_tools.grid_key_WIP': ('API/plot_tools.html#grid_key_wip', 'dabest/plot_tools.py'),
100130
'dabest.plot_tools.halfviolin': ('API/plot_tools.html#halfviolin', 'dabest/plot_tools.py'),
101131
'dabest.plot_tools.normalize_dict': ('API/plot_tools.html#normalize_dict', 'dabest/plot_tools.py'),
132+
'dabest.plot_tools.plot_minimeta_or_deltadelta_violins': ( 'API/plot_tools.html#plot_minimeta_or_deltadelta_violins',
133+
'dabest/plot_tools.py'),
102134
'dabest.plot_tools.sankeydiag': ('API/plot_tools.html#sankeydiag', 'dabest/plot_tools.py'),
103135
'dabest.plot_tools.single_sankey': ('API/plot_tools.html#single_sankey', 'dabest/plot_tools.py'),
136+
'dabest.plot_tools.slopegraph_plotter': ( 'API/plot_tools.html#slopegraph_plotter',
137+
'dabest/plot_tools.py'),
138+
'dabest.plot_tools.summary_bars_plotter': ( 'API/plot_tools.html#summary_bars_plotter',
139+
'dabest/plot_tools.py'),
140+
'dabest.plot_tools.swarm_bars_plotter': ( 'API/plot_tools.html#swarm_bars_plotter',
141+
'dabest/plot_tools.py'),
104142
'dabest.plot_tools.swarmplot': ('API/plot_tools.html#swarmplot', 'dabest/plot_tools.py'),
105143
'dabest.plot_tools.width_determine': ('API/plot_tools.html#width_determine', 'dabest/plot_tools.py')},
106144
'dabest.plotter': {'dabest.plotter.effectsize_df_plotter': ('API/plotter.html#effectsize_df_plotter', 'dabest/plotter.py')}}}

dabest/_stats_tools/effsize.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -217,7 +217,7 @@ def cohens_h(control:list|tuple|np.ndarray,
217217
)->float:
218218
'''
219219
Computes Cohen's h for test v.s. control.
220-
See [here](https://en.wikipedia.org/wiki/Cohen%27s_h for reference.)
220+
See [here](https://en.wikipedia.org/wiki/Cohen%27s_h) for reference.
221221
222222
`Notes`:
223223

0 commit comments

Comments
 (0)