Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 26 additions & 21 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,42 +6,47 @@

### New Features

- **Horizontal Plots**: Users can now create horizontal layout plots, providing compact data visualization. This can be achieved by setting `horizontal=True` in the `plot()` method.
1. **Python 3.13 Support**: DABEST now supports Python 3.10—3.13.

- **Forest Plots**: Forest plots provide a simple and intuitive way to visualize many delta-delta (or Deltas’ g), mini-meta, or regular delta effect sizes at once from multiple different dabest objects without presenting the raw data.
2. **Horizontal Plots**: Users can now create horizontal layout plots, providing compact data visualization. This can be achieved by setting `horizontal=True` in the `.plot()` method.

- **Gridkey**: Users can now represent their experimental labels in a gridkey format. This can be accessed with the `gridkey` argument in the `plot()` method.
3. **Forest Plots**: Forest plots provide a simple and intuitive way to visualize many delta-delta (or delta *g*), mini-meta, or regular delta effect sizes at once from multiple different dabest objects without presenting the raw data.

- **Aesthetic Updates**: We have made several aesthetic improvements to the plots, including:
- **Raw, Contrast, and Summary bars**: We added bars highlighting the various groups' differences. These bars can be customized to suit the user’s needs. Raw and contrast bars are provided by default, summary bars can be added by the user.

- **Delta-Delta and Mini-Meta Plots**: We have adjusted the spacing of delta-delta and mini-meta plots to reduce whitespace. The new format brings the added effect size closer to the regular effect sizes. In addition, delta-delta plots now have a gap in the zeroline to separate the delta-delta and regular effect sizes.
4. **Gridkey**: Users can now represent experimental labels in a ‘gridkey’ table. This can be accessed with the `gridkey` parameter in the `.plot()` method.

- **Delta-delta Effect Sizes for Proportion Plots**: Delta-delta experimental plotting now supports binary data.
5. **Other Visualization Improvements**:
- **Comparing means and effect sizes**: The estimation plots now include three types of customizable visual features to enhance contextualization and comparison of means and effect sizes:
- **Bars for the mean of the observed values (`raw_bars`)**: Colored rectangles that extend from the zero line to the mean of each group's raw data. These bars visually highlight the central tendency of the raw data.
- **Bars for effect size/s (`contrast_bars`)**: Similar to raw bars, these highlight the effect-size difference between two groups (typically test and control) in the contrast axis. They provide a visual representation of the differences between groups.
- **Summary bands (`reference_band`)**: An optional band or ribbon that can be added to emphasize a specific effect size’s confidence interval that is used as a reference range across the entire contrast axis. Unlike raw and contrast bars, these span horizontally (or vertically if `horizontal=True`) and are not displayed by default.

- **Proportion Plots Sample Sizes**: The sample size of each binary option for each group can now be displayed. These can be toggled on or off via the `prop_sample_counts` parameter.
Raw and contrast bars are shown by default. Users can customize these bars and add summary bands as needed.

- **Effect Size Lines for Paired Plots**: Paired plots now display lines linking the effect sizes within a group together in the contrast axes. These can be toggled on or off via the `contrast_paired_lines` parameter.
- **Tighter spacing in delta-delta and mini-meta plots**: We have adjusted the spacing of delta-delta and mini-meta plots to reduce whitespace. The new format brings the overall effect size closer to the two-groups effect sizes. In addition, delta-delta plots now have a gap in the zero line to separate the delta-delta from the ∆ effect sizes.

- **Baseline Error Curves**: Baseline error dot and curve are now available to represent the baseline/control group in the contrast axes. The dot is shown by default, while the curve can be toggled on/off by the user (via the `show_baseline_ec` parameter).
- **Delta-delta effect sizes for proportion plots**: In addition to continuous data, delta-delta plots now support binary data (proportions). This means that 2-way designs for binary outcomes can be analyzed with DABEST.

- **Delta Text**: Effect size deltas are now displayed as text next to their respective effect size. This can be toggled on or off via the `delta_text` parameter.
- **Proportion plots sample sizes**: The sample size of each binary option for each group can now be displayed. These can be toggled on/off via the `prop_sample_counts` parameter.

- **Empty Circle Color Palette**: A new swarmplot color palette modification is available for unpaired plots via the `empty_circle` parameter in the `plot()` method. This option modifies the two-group swarmplots to have empty circles for the control group and filled circles for the experimental group.
- **Effect size lines for paired plots**: Along with lines connecting paired observed values, the paired plots now also display lines linking the effect sizes within a group in the contrast axes. These lines can be toggled on/off via the `contrast_paired_lines` parameter.

### Enhancement
- **Baseline error curves**: To represent the baseline/control group in the contrast axes, it is now possible to plot the baseline dot and the baseline error curve. The dot is shown by default, while the curve can be toggled on/off via the `show_baseline_ec` parameter. This dot helps make it clear where the baseline comes from i.e. the control minus itself. The baseline error curve can be used to show that the baseline itself is an estimate inferred from the observed values of the control data.

- **Python 3.13 Support**: DABEST now supports Python 3.10-3.13.
- **Delta text**: Effect-size deltas (e.g. mean differences) are now displayed as numerals next to their respective effect size. This can be toggled on/off via the `delta_text` parameter.

- **Numba for Speed Improvements**: We have included Numba to speed up the various calculations in DABEST. This should make the calculations faster and more efficient. Importing DABEST may take a little longer than before, and a progress bar will appear during the import process to show the calculations being performed. Once imported, loading and plotting data should now be faster.
- **Empty circle color palette**: A new swarmplot color palette modification is available for unpaired plots via the `empty_circle` parameter in the `.plot()` method. This option modifies the two-group swarmplots to have empty circles for the control group and filled circles for the experimental group.

- **Terminology Updates**: We have made several updates to the documentation and terminology to improve clarity and consistency. For example:
- Plot arguments have been adjusted to bring more clarity and consistency in naming. Arguments relating to the rawdata plot axis will now be typically referred to with ‘raw’ while arguments relating to the contrast axis will be referred to with ‘contrast’. For example, ‘raw_label’ replaces ‘swarm_label’ and ‘bar_label’. The various kwargs relating to each different type of plot (e.g., swarmplot_kwargs) remain unchanged.
- The method to utilise the Deltas’ g effect size is now via the .hedges_g.plot() method rather than creating a whole new Delta_g object as before. The functionality remains the same, it plots hedges_g effect sizes and then the Deltas’ g effect size alongside these (if a delta-delta experiment was loaded correctly).
6. **Miscellaneous Improvements & Adjustments**
- **Numba for speed improvements**: We have added [Numba](https://numba.pydata.org/) to speed up the various calculations in DABEST. Precalculations will be performed during import, which will help speed up the subsequent loading and plotting of data.

- **Terminology/naming updates**: During the refactoring of the code, we have made several updates to the documentation and terminology to improve clarity and consistency. For example:
- Plot arguments have been adjusted to bring more clarity and consistency in naming. Arguments relating to the rawdata plot axis will now be typically referred to with `raw` while arguments relating to the contrast axis will be referred to with `contrast`. For example, `raw_label` replaces `swarm_label` and `bar_label`. The various kwargs relating to each different type of plot (e.g., `swarmplot_kwargs`) remain unchanged.

- The method to utilise the Delta *g* effect size is now via the .hedges_g.plot() method rather than creating a whole new Delta_g object as before. The functionality remains the same, it plots hedges_g effect sizes and then the Delta *g* effect size alongside these (if a delta-delta experiment was loaded correctly).

- **Updated Tutorial Pages**: We have updated the tutorial pages to reflect the new features and changes. The tutorial pages are now more comprehensive and (hopefully!) more intuitive!
- **Updated tutorial pages**: We have updated the tutorial pages to reflect the new features and changes. The tutorial pages are now more comprehensive and (hopefully!) more intuitive!

- **Results Dataframe for Delta-delta and Mini-meta Plots**: A results dataframe can now be extracted for both the delta-delta and mini-meta effect size data (similar to the results dataframe for the regular effect sizes). These can be found via the `.results` attribute of the `.delta_delta` or `.mini_meta` object.
- **Results dataframe for delta-delta and mini-meta plots**: A results dataframe can now be extracted for both the delta-delta and mini-meta effect size data (similar to the results dataframe for the regular effect sizes). These can be found via the `.results` attribute of the `.delta_delta` or `.mini_meta` object.



Expand Down
2 changes: 1 addition & 1 deletion nbs/02-about.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
"\n",
"DABEST is written in Python by [Joses W. Ho](https://twitter.com/jacuzzijo), with design and input from [Adam Claridge-Chang](https://twitter.com/adamcchang) and other [lab members](https://www.claridgechang.net/people.html).\n",
"\n",
"Features in v2025.03.27 were added by [Jonathan Anns](https://github.com/JAnns98), [Zinan Lu](https://github.com/Jacobluke-), [Kah Seng Lian](https://github.com/sunroofgod), and [Lucas Wang Zhuoyu](https://github.com/Lucas1213WZY).\n",
"Features in v2025.03.27 were added by [Jonathan Anns](https://github.com/JAnns98), [Zinan Lu](https://github.com/Jacobluke-), [Kah Seng Lian](https://github.com/sunroofgod), [Yishan Mai](https://github.com/maiyishan), [Sangyu Xu](https://github.com/sangyu), and [Lucas Wang Zhuoyu](https://github.com/Lucas1213WZY).\n",
"\n",
"Features in v2024.03.29 were added by [Zinan Lu](https://github.com/Jacobluke-), [Kah Seng Lian](https://github.com/sunroofgod), [Ana Rosa Castillo](https://github.com/cyberosa).\n",
"\n",
Expand Down