Metadata-Version: 2.4
Name: mpl-chart-styles
Version: 1.0.21
Summary: Professional presentation-ready chart styles and color palettes for matplotlib
Author: MPL Contributors
License-Expression: MIT
Project-URL: Homepage, https://cdn.pikepinetech.com/mpl-chart-styles
Project-URL: Repository, https://github.com/mpl-contrib/mpl-chart-styles
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Scientific/Engineering :: Visualization
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Requires-Dist: matplotlib>=3.5

# mpl-presentation-styles

**Presentation-quality matplotlib charts in one line.**

Stop formatting charts for board meetings. Start presenting.

## Install

```bash
pip install mpl-presentation-styles
```

## Three ways to use it

### 1. Quick charts (zero config)

```python
import mpl_presentation_styles as mps

mps.bar({"Q1": 2.5, "Q2": 3.1, "Q3": 2.8, "Q4": 3.6}, title="Revenue ($M)")
```

### 2. With your existing matplotlib code (recommended)

```python
import mpl_presentation_styles as mps
import matplotlib.pyplot as plt

mps.apply_palette("boardroom")

# All your existing code just looks better
plt.bar(["Q1", "Q2", "Q3", "Q4"], [2.5, 3.1, 2.8, 3.6])
plt.title("Revenue ($M)")
plt.show()
```

If you specifically want matplotlib style names, `plt.style.use("mps-boardroom")`
is also supported in many environments, but `apply_palette()` is the most
reliable API across notebook runtimes.

### 3. Scoped theming

```python
from mpl_presentation_styles import theme, bar

with theme("startup"):
    bar(df, x="Region", y="Revenue", title="Q4 Revenue by Region")
# Previous style is automatically restored
```

## Works with DataFrames

```python
import pandas as pd
import mpl_presentation_styles as mps

df = pd.read_csv("sales.csv")
mps.bar(df, x="Region", y="Revenue", title="Revenue by Region")
mps.line(df, x="Month", y="Growth", title="Monthly Growth Trend")
mps.pie(df, x="Category", y="Share", title="Market Share")
```

## Palettes

| Name | Style | Best For |
|------|-------|---------|
| `boardroom` | Navy/red professional | Board decks, executive summaries |
| `startup` | Purple/green modern | Pitch decks, investor updates |
| `classic` | Muted traditional | Academic papers, journal submissions |
| `dashboard` | High-contrast | KPI dashboards, monitoring |
| `print` | Grayscale | Print reports, black & white |
| `warm` | Amber/orange | Marketing, inviting presentations |

## Smart defaults

- **Auto-register themes**: mpl-presentation-styles registers custom themes
  automatically via a `.pth` startup hook, so `plt.style.use("mps-boardroom")`
  is available immediately after install — no explicit import required.
- **Auto-format values**: `$1.2M`, `$450K`, `$3,750`
- **DataFrame-native**: Pass column names directly
- **Auto-detect environment**: Saves to `/mnt/data/` in notebooks, `./` locally
- **Spines removed**: Clean, modern look by default
- **150 DPI**: Presentation-ready resolution

## Chart types

| Function | Type | DataFrame | Dict |
|----------|------|-----------|------|
| `mps.bar()` | Vertical/horizontal bars | ✅ | ✅ |
| `mps.line()` | Trend lines with markers | ✅ | ✅ |
| `mps.pie()` | Pie charts with % labels | ✅ | ✅ |
| `mps.scatter()` | Scatter with annotations | ✅ | ✅ |

## License

MIT
