Improvements
* Use `matplotlib.rc_context` to customize plots while avoiding modifying global matplotlib state.
* Avoid storing copies of data in `Variable` instances to save on memory.
* Dynamically allocate image widths in documents to ensure plots maintain aspect ratio and are of appropriate size.
* Strip trailing zeros from float values in tables.
* Make `Dataset` repr more concise. Remove the "overview" title. Indent content. Rename summary statistics: "mean" to "avg", "std" to "stddev". Convert "count" values to integers.
* Consider data consisting of {Yes, No} or {Y, N} as boolean.
* Consider numeric variables with <11 unique values as categorical.
* Update the `summarize` function. Return a `Variable` for 1D data; a `Dataset` otherwise.
* Return `Axes` instances instead of `Figures` in all plotting functions.
* Dynamically handle repr logic in `Variable.__repr__`. Drop the redundant` _NumericStats`, `_DatetimeStats` and `_CategoricalStats` classes.
Additions
* Add the `ax` argument. Accept axes input in plotting functions. Very handy in cases where axes instances already exist e.g. subplots.
* Add `marker_color` and `line_color` args to `regression_plot` function.
* Add "(Normal)" to `prob_plot` x-axis label to indicate distribution
* Add xlabel and legend title to kde-plots.
* Add ylabel in grouped box-plots.
* Add "Count" ylabel to bar-plots.
* Add `Variable._get_most_common_categories` method to provide additional details for categorical variable repr.
* Add separate analysis and content-creation modules. The analysis module will focus on the actual analysis. The content module will focus on processing results for display.
Renamings
* Mark the analysis, cli, content, read_file and validate modules as private.
* Rename `groupby_data` argument in `get_word_report`, `ReportDocument`,
`_ReportContent` and `_AnalysisResult` to `groupby_variable`.
* Rename `ReportDocument._format_heading_spacing` method to `ReportDocument._format_paragraph_spacing`. Modify the method to work with any paragraph.
* Rename "numeric (<10 levels)" to "numeric (<=10 levels)", which is actually correct.
* Rename the multivariate module to bivariate. Correlation & scatterplots are bivariate analysis methods. Likewise, Rename `MultiVariable` to
`Dataset`.
**Full Changelog**: https://github.com/Tim-Abwao/eda-report/compare/v2.7.3...v2.8.0