Skip to main content

context managers for matplotlib subplots

Project description

https://travis-ci.org/camillescott/ficus.svg?branch=master

About

Ficus provides a context manager for matplotlib figures. It finds particular utility in jupyter notebooks, where the user might prefer that figures are not automatically displayed but still wants the option to embed them inline – such behavior can be accomplished with:

%config InlineBackend.close_figures = False

However, the user is now responsible for making new Figure objects and closing them, which is a pain. The ficus context manager takes care of this boilerplate of opening, showing, saving, and closing figures for you.

Example

Some very basic usage:

from ficus import FigureManager
import numpy as np

X = np.arange(0, 10, .1)
Y = np.exp(X)

with FigureManager(filename='myplot.png', show=True) as (fig, ax):
    ax.plot(X, Y)
    ax.set_title('The Exponential Function')

FigureManager uses the pyplot.subplots(..) to generate its axes. Thus, you can specify rows and columns and get an array of Axes objects:

with FigureManager(show=True, nrows=3, ncols=4) as (fig, ax_mat):
    for i, row in enumerate(ax_mat):
        for j, ax in enumerate(row):
            ax.plot(X, X**(i+j))
            ax.set_title(r'$y = x^{0}$'.format(i+j), fontsize=14)

In fact, you can pass any keyword arguments you’d like to subplots:

with FigureManager(filename='myplot.png', show=True, figsize=(12,8)) as (fig, ax):
    ax.plot(X, Y)

Take a look at the examples to see it being used in a jupyter notebook.

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

ficus-0.7.1.tar.gz (4.3 kB view details)

Uploaded Source

Built Distribution

ficus-0.7.1-py2.py3-none-any.whl (4.3 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file ficus-0.7.1.tar.gz.

File metadata

  • Download URL: ficus-0.7.1.tar.gz
  • Upload date:
  • Size: 4.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.3

File hashes

Hashes for ficus-0.7.1.tar.gz
Algorithm Hash digest
SHA256 12ef1e86b471ca54736e60963b8311f9b74bfb6c3f9233251ee850f2db4d51c3
MD5 d6115420a0b9b40271c9ac286e62eace
BLAKE2b-256 64ef0185851e5f4514284e8f1192cf137fb3125cb241d60ba25640b652787fbf

See more details on using hashes here.

File details

Details for the file ficus-0.7.1-py2.py3-none-any.whl.

File metadata

  • Download URL: ficus-0.7.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 4.3 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.3

File hashes

Hashes for ficus-0.7.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 57c37d70b08f14cdcca7d719683348d07be9b601a8fddbd06f2adc23a00bd10f
MD5 2ecbac74b4d2da02a668daa78a2ad476
BLAKE2b-256 169b2e072b659f6bec6251efdbce324014dbf4f8b15df882a44732de732309c8

See more details on using hashes here.

Supported by

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