Skip to main content

GUI tool for matplotlib styling in Jupyter notebooks

Project description

mplstudio

PyPI version Python License: MIT CI

An interactive GUI for styling matplotlib figures directly in Jupyter.

Adjust colors, fonts, axes, legends, and more in real time without touching your plot code.

mplstudio control panel

Installation

pip install mplstudio

Requires Python 3.9+, Jupyter Notebook or JupyterLab, and matplotlib ≥ 3.5.

Quick Start

import matplotlib.pyplot as plt
import mplstudio

fig, ax = plt.subplots()
ax.plot([1, 2, 3], [1, 4, 9], label="y = x²")
ax.plot([1, 2, 3], [1, 2, 3], label="y = x")
ax.legend()

mplstudio.studio(fig)

For detailed usage examples, see examples/demo.ipynb.

API Reference

mplstudio.studio(fig, *, show=None, dark=False)

Display the styling control panel for a matplotlib figure.

Parameter Type Default Description
fig Figure | None plt.gcf() Target figure. Uses the current figure if omitted.
show list[str] | None None Section names to display. None shows all sections.
dark bool False Use Catppuccin Mocha dark theme.
# Show only specific sections
mplstudio.studio(fig, show=["colors", "axes", "legend"])

# Dark theme
mplstudio.studio(fig, dark=True)

mplstudio.available_sections()

Return a sorted list of all valid section names.

mplstudio.available_sections()
# ['alpha', 'axes', 'colors', 'figure_size', 'grid_spines',
#  'legend', 'palette_suggestions', 'save', 'typography']

Available Sections

Section Controls
figure_size Width and height sliders
typography Font size for all elements or individually (title, labels, ticks, legend)
colors Palette picker (with color count), manual per-series color pickers, smart CIELAB palette, colormap selector, background color
alpha Global opacity slider + per-series opacity
axes Title, x/y axis labels, x/y limits — supports multi-axis figures
legend Legend title, collapsible series label editor, location dropdown, bbox position
grid_spines Grid toggle, spine style (Box / 2-Side / None)
palette_suggestions Colorblind-safe palette recommendations filtered by use case and background
save Save figure with custom filename, path, DPI, and format (png, jpg, pdf, svg, eps)

Palette Utilities

mplstudio ships a curated palette library and color science tools you can use independently of the GUI: get_palette, smart_palette, recommend, palette_names, and delta_e. See examples/demo.ipynb for usage examples.

Available Palettes

Palettes for categorical, and continuous variables (sequential and diverging color maps).

Following table shows palettes for categorical values. For continuous variables, mplstudio uses matplotlib's built-in colormaps. See the matplotlib colormap reference for the full list.

Palette Colors Tags
Okabe-Ito 8 colorblind-safe
Paul Tol Bright 7 colorblind-safe
Paul Tol Vibrant 7 colorblind-safe
Paul Tol Muted 10 colorblind-safe
IBM Colorblind Safe 6 colorblind-safe
ColorBrewer Set1 9 categorical
ColorBrewer Set2 8 categorical
ColorBrewer Dark2 8 categorical
ColorBrewer Paired 12 categorical
Tableau 10 10 categorical
Matplotlib tab10 10 categorical
Nord 6 dark background
Catppuccin Latte 6 light background
Dracula 6 dark background
Tokyo Night 6 dark background
Pastel 6 light background
High Contrast 5 light background

Requirements

  • Python ≥ 3.9
  • matplotlib ≥ 3.5
  • ipywidgets ≥ 8.0
  • ipykernel ≥ 6.0
  • Jupyter Notebook or JupyterLab

License

MIT © 2026 Seo-Yoon Moon

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mplstudio-0.1.0.tar.gz (726.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mplstudio-0.1.0-py3-none-any.whl (33.4 kB view details)

Uploaded Python 3

File details

Details for the file mplstudio-0.1.0.tar.gz.

File metadata

  • Download URL: mplstudio-0.1.0.tar.gz
  • Upload date:
  • Size: 726.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for mplstudio-0.1.0.tar.gz
Algorithm Hash digest
SHA256 ea1eb588ce4ce9be5de1c8a587aa78a936ea224e79c91f185915f563ffa053dc
MD5 8f43f7ed30f576a591ba74527341eae9
BLAKE2b-256 78f6e34d723008afe86d4528f4b59b6badaea17a62580543e8b720c24b8011ef

See more details on using hashes here.

Provenance

The following attestation bundles were made for mplstudio-0.1.0.tar.gz:

Publisher: publish.yml on symoon9/mplstudio

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mplstudio-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: mplstudio-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 33.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for mplstudio-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f247b7ce0ae0e4b652505167a63dd4298ace8f6b61d454444b324cb46a1ac8f9
MD5 d8d448f3a77d016eb9ea60db6a2b7187
BLAKE2b-256 41d018a1ceb3ff994f500f4064589e8ad837519f698fecf3b56ff78332bb8885

See more details on using hashes here.

Provenance

The following attestation bundles were made for mplstudio-0.1.0-py3-none-any.whl:

Publisher: publish.yml on symoon9/mplstudio

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page