This Python tool helps visualizing statistical significance on existing Matplotlib
plots by adding significance bars and p-value labels between chosen pairs of columns.
- Converts p-values to asterisk notations for easy interpretation.
- Draws statistical significance bars on Matplotlib plots.
- Customizable bar margins, tip lengths, font sizes, and top margins.
You can install the package via pip:
pip install starbars
import starbars
import matplotlib.pyplot as plt
# Example data
categories = ['A', 'B', 'C']
values = [10, 20, 15]
annotations = [('A', 'B', 0.01), ('B', 'C', 0.05)]
plt.bar(categories, values)
# Annotate significance
starbars.draw_annotation(annotations)
plt.show()
This example creates a simple bar plot and uses the draw_annotation
function to add statistical significance annotations between the specified pairs.
For more detailed examples, please check the example.
annotations
: List of tuples(x1, x2, p)
containing the x-axis labels and the p-value of the pair.ns_show
: Whether to show bars for non-statistical p-values. (Default: True)ax
: The axis of subplots to draw annotations on. Ifax
is not provided, it implies that you are working with a single plot rather than a set of subplots. In such cases, the annotations apply to the only existing plot in the figure. (Default: None)bar_gap
: Gap in between the bars of data. Default is 3% of the y-axis.tip_length
: Length of the tip of the statistical bar. Default is 3% of the y-axis.top_margin
: Margin of the last annotation from the top of the graph. Default is 5% of the y-axis.text_distance
: Distance between the bar and the text. Default is 2% of the y-axis.fontsize
: Font size of the annotations. Default is 10.h_gap
: gap between two neighbouring annotations. Default is 3% of the cross data axis.
We welcome contributions! If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".
To contribute:
- Fork the repository.
- Create a new branch (
git checkout -b feature-branch
). - Commit your changes (
git commit -m 'Add some amazing feature'
). - Push to the branch (
git push origin feature-branch
) - Open a pull request
This project is licensed under the MIT License. See the LICENSE file for more details.