contingency_plot Module#
2x2 contingency table visualizations.
This module provides functions for visualizing 2x2 contingency tables with annotated heatmaps and summary metrics.
Functions#
- episia.viz.contingency_plot.plot_contingency(result, *, title='2×2 Contingency Table', backend='plotly', theme='scientific', config=None)[source]#
Annotated 2×2 table heatmap with RR, OR, χ² summary.
- Parameters:
result (Any) – Table2x2 instance, or AssociationResult with table metadata.
title (str) – Figure title.
backend (str) – ‘plotly’ or ‘matplotlib’.
theme (str) – Theme name.
config (PlotConfig | None) – Full PlotConfig override.
- Returns:
Figure object.
- Return type:
Example:
from episia.stats.contingency import Table2x2 from episia.viz.contingency_plot import plot_contingency tbl = Table2x2(40, 10, 20, 30) plot_contingency(tbl, title="Exposure A vs Disease B").show()
- episia.viz.contingency_plot.plot_measures(result, *, measures=None, title='Association Measures', backend='plotly', theme='scientific', config=None)[source]#
Horizontal CI chart for all association measures from a Table2x2.
Displays RR, OR, and RD side by side with their confidence intervals.
- Parameters:
- Returns:
Figure object.
- Return type:
Examples#
Contingency table heatmap:
from episia.stats.contingency import Table2x2
from episia.viz.contingency_plot import plot_contingency
table = Table2x2(a=40, b=10, c=20, d=30)
fig = plot_contingency(
table,
title="Exposure X Disease Association"
)
fig.show()
Comparison of all measures:
from episia.viz.contingency_plot import plot_measures
fig = plot_measures(
table,
title="Association Measures with 95% CI",
backend="matplotlib" # Publication quality
)
# Subset of measures
fig = plot_measures(
table,
measures=["Risk Ratio", "Odds Ratio"],
title="Key Effect Measures"
)