Skip to content

Commit 8cb5fc3

Browse files
committed
Merge branch 'feat-contrast-bars' into feat-forestplot-apiTut-changes
# Conflicts: # dabest/_modidx.py # 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
2 parents 0bc084c + 144179b commit 8cb5fc3

103 files changed

Lines changed: 4275 additions & 2894 deletions

File tree

Some content is hidden

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

.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
*~

dabest/_effsize_objects.py

Lines changed: 44 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -996,10 +996,6 @@ def plot(
996996
fig_size=None,
997997
dpi=100,
998998
ax=None,
999-
contrast_show_es=False,
1000-
es_sf=2,
1001-
es_fontsize=10,
1002-
contrast_show_deltas=True,
1003999
gridkey_rows=None,
10041000
gridkey_merge_pairs=False,
10051001
gridkey_show_Ns=True,
@@ -1019,6 +1015,17 @@ def plot(
10191015
fontsize_contrastxlabel=12,
10201016
fontsize_contrastylabel=12,
10211017
fontsize_delta2label=12,
1018+
#### Contrast bars and delta text and delta dots WIP ####
1019+
contrast_bars=True,
1020+
swarm_bars=True,
1021+
contrast_bars_kwargs=None,
1022+
swarm_bars_kwargs=None,
1023+
summary_bars=None,
1024+
summary_bars_kwargs=None,
1025+
delta_text=True,
1026+
delta_text_kwargs=None,
1027+
delta_dot=True,
1028+
delta_dot_kwargs=None,
10221029
):
10231030
"""
10241031
Creates an estimation plot for the effect size of interest.
@@ -1161,7 +1168,39 @@ def plot(
11611168
Font size for the contrast axes ylabel.
11621169
fontsize_delta2label : float, default 12
11631170
Font size for the delta-delta axes ylabel.
1164-
1171+
1172+
1173+
contrast_bars : boolean, default True
1174+
Whether or not to display the contrast bars.
1175+
swarm_bars : boolean, default True
1176+
Whether or not to display the swarm bars.
1177+
contrast_bars_kwargs : dict, default None
1178+
Pass relevant keyword arguments to the contrast bars. Pass any keyword arguments accepted by
1179+
matplotlib.patches.Rectangle here, as a string. If None, the following keywords are passed:
1180+
{"color": None, "alpha": 0.3}
1181+
swarm_bars_kwargs : dict, default None
1182+
Pass relevant keyword arguments to the swarm bars. Pass any keyword arguments accepted by
1183+
matplotlib.patches.Rectangle here, as a string. If None, the following keywords are passed:
1184+
{"color": None, "alpha": 0.3}
1185+
1186+
summary_bars : list, default None
1187+
Pass a list of indices of the contrast objects to have summary bars displayed on the plot.
1188+
For example, [0,1] will show summary bars for the first two contrast objects.
1189+
summary_bars_kwargs: dict, default None
1190+
If None, the following keywords are passed: {"color": None, "alpha": 0.15}
1191+
delta_text : boolean, default True
1192+
Whether or not to display the text deltas.
1193+
delta_text_kwargs : dict, default None
1194+
Pass relevant keyword arguments to the delta text. Pass any keyword arguments accepted by
1195+
matplotlib.text.Text here, as a string. If None, the following keywords are passed:
1196+
{"color": None, "alpha": 1, "fontsize": 10, "ha": 'center', "va": 'center', "rotation": 0,
1197+
"x_location": 'right', "x_coordinates": None, "y_coordinates": None}
1198+
Use "x_coordinates" and "y_coordinates" if you would like to specify the text locations manually.
1199+
delta_dot : boolean, default True
1200+
Whether or not to display the delta dots on paired or repeated measure plots.
1201+
delta_dot_kwargs : dict, default None
1202+
Pass relevant keyword arguments. If None, the following keywords are passed:
1203+
{"marker": "^", "alpha": 0.5, "zorder": 2, "size": 3, "side": "right"}
11651204
11661205
Returns
11671206
-------

dabest/_modidx.py

Lines changed: 37 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,11 +67,30 @@
6767
'dabest.forest_plot.load_plot_data': ('API/forest_plot.html#load_plot_data', 'dabest/forest_plot.py'),
6868
'dabest.forest_plot.map_effect_attribute': ( 'API/forest_plot.html#map_effect_attribute',
6969
'dabest/forest_plot.py')},
70-
'dabest.misc_tools': { 'dabest.misc_tools.get_varname': ('API/misc_tools.html#get_varname', 'dabest/misc_tools.py'),
70+
'dabest.misc_tools': { 'dabest.misc_tools.Cumming_Plot_Aesthetic_Adjustments': ( 'API/misc_tools.html#cumming_plot_aesthetic_adjustments',
71+
'dabest/misc_tools.py'),
72+
'dabest.misc_tools.Gardner_Altman_Plot_Aesthetic_Adjustments': ( 'API/misc_tools.html#gardner_altman_plot_aesthetic_adjustments',
73+
'dabest/misc_tools.py'),
74+
'dabest.misc_tools.General_Plot_Aesthetic_Adjustments': ( 'API/misc_tools.html#general_plot_aesthetic_adjustments',
75+
'dabest/misc_tools.py'),
76+
'dabest.misc_tools.add_counts_to_ticks': ( 'API/misc_tools.html#add_counts_to_ticks',
77+
'dabest/misc_tools.py'),
78+
'dabest.misc_tools.extract_contrast_plotting_ticks': ( 'API/misc_tools.html#extract_contrast_plotting_ticks',
79+
'dabest/misc_tools.py'),
80+
'dabest.misc_tools.get_color_palette': ('API/misc_tools.html#get_color_palette', 'dabest/misc_tools.py'),
81+
'dabest.misc_tools.get_kwargs': ('API/misc_tools.html#get_kwargs', 'dabest/misc_tools.py'),
82+
'dabest.misc_tools.get_params': ('API/misc_tools.html#get_params', 'dabest/misc_tools.py'),
83+
'dabest.misc_tools.get_plot_groups': ('API/misc_tools.html#get_plot_groups', 'dabest/misc_tools.py'),
84+
'dabest.misc_tools.get_varname': ('API/misc_tools.html#get_varname', 'dabest/misc_tools.py'),
85+
'dabest.misc_tools.initialize_fig': ('API/misc_tools.html#initialize_fig', 'dabest/misc_tools.py'),
7186
'dabest.misc_tools.merge_two_dicts': ('API/misc_tools.html#merge_two_dicts', 'dabest/misc_tools.py'),
7287
'dabest.misc_tools.print_greeting': ('API/misc_tools.html#print_greeting', 'dabest/misc_tools.py'),
88+
'dabest.misc_tools.set_xaxis_ticks_and_lims': ( 'API/misc_tools.html#set_xaxis_ticks_and_lims',
89+
'dabest/misc_tools.py'),
90+
'dabest.misc_tools.show_legend': ('API/misc_tools.html#show_legend', 'dabest/misc_tools.py'),
7391
'dabest.misc_tools.unpack_and_add': ('API/misc_tools.html#unpack_and_add', 'dabest/misc_tools.py')},
74-
'dabest.plot_tools': { 'dabest.plot_tools.SwarmPlot': ('API/plot_tools.html#swarmplot', 'dabest/plot_tools.py'),
92+
'dabest.plot_tools': { 'dabest.plot_tools.DeltaDotsPlotter': ('API/plot_tools.html#deltadotsplotter', 'dabest/plot_tools.py'),
93+
'dabest.plot_tools.SwarmPlot': ('API/plot_tools.html#swarmplot', 'dabest/plot_tools.py'),
7594
'dabest.plot_tools.SwarmPlot.__init__': ( 'API/plot_tools.html#swarmplot.__init__',
7695
'dabest/plot_tools.py'),
7796
'dabest.plot_tools.SwarmPlot._adjust_gutter_points': ( 'API/plot_tools.html#swarmplot._adjust_gutter_points',
@@ -84,14 +103,30 @@
84103
'dabest/plot_tools.py'),
85104
'dabest.plot_tools.SwarmPlot._swarm': ('API/plot_tools.html#swarmplot._swarm', 'dabest/plot_tools.py'),
86105
'dabest.plot_tools.SwarmPlot.plot': ('API/plot_tools.html#swarmplot.plot', 'dabest/plot_tools.py'),
106+
'dabest.plot_tools.barplotter': ('API/plot_tools.html#barplotter', 'dabest/plot_tools.py'),
87107
'dabest.plot_tools.check_data_matches_labels': ( 'API/plot_tools.html#check_data_matches_labels',
88108
'dabest/plot_tools.py'),
109+
'dabest.plot_tools.contrast_bars_plotter': ( 'API/plot_tools.html#contrast_bars_plotter',
110+
'dabest/plot_tools.py'),
111+
'dabest.plot_tools.delta_text_plotter': ( 'API/plot_tools.html#delta_text_plotter',
112+
'dabest/plot_tools.py'),
113+
'dabest.plot_tools.effect_size_curve_plotter': ( 'API/plot_tools.html#effect_size_curve_plotter',
114+
'dabest/plot_tools.py'),
89115
'dabest.plot_tools.error_bar': ('API/plot_tools.html#error_bar', 'dabest/plot_tools.py'),
90116
'dabest.plot_tools.get_swarm_spans': ('API/plot_tools.html#get_swarm_spans', 'dabest/plot_tools.py'),
117+
'dabest.plot_tools.grid_key_WIP': ('API/plot_tools.html#grid_key_wip', 'dabest/plot_tools.py'),
91118
'dabest.plot_tools.halfviolin': ('API/plot_tools.html#halfviolin', 'dabest/plot_tools.py'),
92119
'dabest.plot_tools.normalize_dict': ('API/plot_tools.html#normalize_dict', 'dabest/plot_tools.py'),
120+
'dabest.plot_tools.plot_minimeta_or_deltadelta_violins': ( 'API/plot_tools.html#plot_minimeta_or_deltadelta_violins',
121+
'dabest/plot_tools.py'),
93122
'dabest.plot_tools.sankeydiag': ('API/plot_tools.html#sankeydiag', 'dabest/plot_tools.py'),
94123
'dabest.plot_tools.single_sankey': ('API/plot_tools.html#single_sankey', 'dabest/plot_tools.py'),
124+
'dabest.plot_tools.slopegraph_plotter': ( 'API/plot_tools.html#slopegraph_plotter',
125+
'dabest/plot_tools.py'),
126+
'dabest.plot_tools.summary_bars_plotter': ( 'API/plot_tools.html#summary_bars_plotter',
127+
'dabest/plot_tools.py'),
128+
'dabest.plot_tools.swarm_bars_plotter': ( 'API/plot_tools.html#swarm_bars_plotter',
129+
'dabest/plot_tools.py'),
95130
'dabest.plot_tools.swarmplot': ('API/plot_tools.html#swarmplot', 'dabest/plot_tools.py'),
96131
'dabest.plot_tools.width_determine': ('API/plot_tools.html#width_determine', 'dabest/plot_tools.py')},
97132
'dabest.plotter': {'dabest.plotter.effectsize_df_plotter': ('API/plotter.html#effectsize_df_plotter', 'dabest/plotter.py')}}}

0 commit comments

Comments
 (0)