Professional presentation-ready chart styles and color palettes for matplotlib
Project description
mpl-presentation-styles
Presentation-quality matplotlib charts in one line.
Stop formatting charts for board meetings. Start presenting.
Install
pip install mpl-presentation-styles
Three ways to use it
1. Quick charts (zero config)
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)
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
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
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
.pthstartup hook, soplt.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
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mpl_chart_styles-1.0.4-py3-none-any.whl.
File metadata
- Download URL: mpl_chart_styles-1.0.4-py3-none-any.whl
- Upload date:
- Size: 25.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
403355b8fd9c675cf41bba5264efd9d56ac8c9588d4fb3ed7bf3b5c0203420fc
|
|
| MD5 |
84b7817f26e31c23d02d06884b18b5f5
|
|
| BLAKE2b-256 |
1c08874ec279446b10fd2842fd43dc3e3c404d3c5af6130168b08ead6f762f60
|