Metadata-Version: 2.2
Name: plotting_utils
Version: 0.1.4
Summary: Elegant wrappers around matplotlib and seaborn for scientific plotting
Home-page: https://github.com/andrecossa5/plotting_utils
Author: andrecossa5
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: seaborn
Requires-Dist: matplotlib
Requires-Dist: statannotations
Requires-Dist: textalloc
Requires-Dist: joblib
Requires-Dist: scikit-learn
Dynamic: author
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# plotting_utils

A Python package providing elegant wrappers around matplotlib and seaborn functions to make scientific plotting easier and more consistent.

## Features

### 🎨 Color Palettes
- **Custom color schemes**: `ten_godisnot`, `darjeeling`, `fantastic_fox`
- **Palette creation utilities**: `create_palette()` for generating custom color schemes

### 📊 Plotting Functions
High-level plotting functions with sensible defaults:
- **Basic plots**: `scatter()`, `bar()`, `box()`, `strip()`, `violin()`
- **Distribution plots**: `dist()`, `counts_plot()`
- **Specialized plots**: `heatmap()`, `dotplot()`, `volcano()`, `stem_plot()`, `rank_plot()`
- **Statistical plots**: Built-in support for statistical annotations with `add_wilcox()`

### 🛠 Utility Functions
- **Styling**: `set_rcParams()` for Nature journal-style settings
- **Plot enhancement**: `format_ax()`, `add_legend()`, `add_cbar()`
- **File operations**: `save_best_pdf_quality()`, `make_folder()`
- **Performance**: `Timer` class for benchmarking

## Installation

```bash
pip install plotting_utils
```

## Quick Start

```python
import plotting_utils as plu
import matplotlib.pyplot as plt
import pandas as pd

# Set journal-style parameters
plu.set_rcParams()

# Create a scatter plot with custom styling
fig, ax = plt.subplots(figsize=(6, 4))
plu.scatter(x, y, c=plu.darjeeling[0], ax=ax)
plu.format_ax(ax, xlabel='X values', ylabel='Y values')

# Save with best quality
plu.save_best_pdf_quality(fig, 'my_plot.pdf')
```

## Dependencies

- matplotlib
- seaborn  
- statannotations
- textalloc
- joblib
- scikit-learn

## License

See LICENSE file for details.

## Version

Current version: 0.1.4
