Skip to main content

A succinct matplotlib wrapper for making beautiful, publication-quality graphics.

Project description

UltraPlot Logo

Downloads Build Status Coverage Docs PyPI Code style: black pre-commit.ci status PRs Welcome License DOI

A succinct matplotlib wrapper for making beautiful, publication-quality graphics. It builds upon ProPlot and transports it into the modern age (supporting mpl 3.9.0+).

Why UltraPlot? | Write Less, Create More

Comparison of ProPlot and UltraPlot

Checkout our examples

Below is a gallery showing random examples of what UltraPlot can do, for more examples checkout our extensive docs. View the full gallery here: Gallery.

Subplots & Layouts

Subplots & Layouts

Create complex multi-panel layouts effortlessly.

Cartesian Plots

Cartesian Plots

Easily generate clean, well-formatted plots.

Projections & Maps

Projections & Maps

Built-in support for projections and geographic plots.

Colorbars & Legends

Colorbars & Legends

Customize legends and colorbars with ease.

Insets & Panels

Insets & Panels

Add inset plots and panel-based layouts.

Colormaps & Cycles

Colormaps & Cycles

Visually appealing, perceptually uniform colormaps.

Documentation

The documentation is published on readthedocs.

Installation

UltraPlot is published on PyPi and conda-forge. It can be installed with pip or conda as follows:

pip install ultraplot
conda install -c conda-forge ultraplot

The default install includes optional features (for example, pyCirclize-based plots). For a minimal install, use --no-deps and install the core requirements:

pip install ultraplot --no-deps
pip install -r requirements-minimal.txt

Likewise, an existing installation of UltraPlot can be upgraded to the latest version with:

pip install --upgrade ultraplot
conda upgrade ultraplot

To install a development version of UltraPlot, you can use pip install git+https://github.com/ultraplot/ultraplot.git or clone the repository and run pip install -e . inside the ultraplot folder.

If you use UltraPlot in your research, please cite it using the following BibTeX entry:

@software{vanElteren2025,
  author       = {Casper van Elteren and Matthew R. Becker},
  title        = {UltraPlot: A succinct wrapper for Matplotlib},
  year         = {2025},
  version      = {1.57.1},
  publisher    = {GitHub},
  url          = {https://github.com/Ultraplot/UltraPlot}
}

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

ultraplot-2.0.1.tar.gz (15.0 MB view details)

Uploaded Source

Built Distribution

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

ultraplot-2.0.1-py3-none-any.whl (14.3 MB view details)

Uploaded Python 3

File details

Details for the file ultraplot-2.0.1.tar.gz.

File metadata

  • Download URL: ultraplot-2.0.1.tar.gz
  • Upload date:
  • Size: 15.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for ultraplot-2.0.1.tar.gz
Algorithm Hash digest
SHA256 343eb8c4d2e004df4ba77d7807a0f518b08844793e6f54ad4faa95929c48035e
MD5 0e72b0123a5c66ec32cb2700b4dce13c
BLAKE2b-256 1e8b97e1ea909acec42d5526a1f0ba3cc98a6f602ad52e75a2b8b249ed79c10a

See more details on using hashes here.

File details

Details for the file ultraplot-2.0.1-py3-none-any.whl.

File metadata

  • Download URL: ultraplot-2.0.1-py3-none-any.whl
  • Upload date:
  • Size: 14.3 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for ultraplot-2.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ba2f1ab04d3fea82165facf9434e43054f4b22cae101c36a8e4f0176017d4e09
MD5 7b669f1c2776fa5e479c0c2b83fe6192
BLAKE2b-256 364833f00ffd1c62ca4e66f91024049107b7b372fda7bbe4d20e6a492a39ff02

See more details on using hashes here.

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