Skip to main content

Renderer to expose matplotlib figures

Project description

About tgext.matplotrender

https://travis-ci.org/amol-/tgext.matplotrender.png https://coveralls.io/repos/amol-/tgext.matplotrender/badge.png https://img.shields.io/:license-mit-blue.svg?style=flat-square

tgext.matplotrender is a TurboGears2 extension that provides a Rendering Engine for MatplotLib Figures.

Installing

tgext.matplotrender can be installed from pypi:

pip install tgext.matplotrender

should just work for most of the users.

Enabling

To enable tgext.matplotrender add the matplotfig renderer to your configuration:

base_config.renderers.append('matplotfig')

and plug the rendering engine inside your config/app_cfg.py:

import tgext.matplotrender
tgext.matplotrender.plugme(base_config)

Usage

Using tgext.matplotrender is as simple as exposing an action with the matplotfig template and returning the figure itself inside the fig key of action returned dictionary.

Given the following figure:

def _make_fig():
    fig = matplotlib.figure.Figure(figsize=(9, 6))
    fig.Name = "Sinewave"
    ax = fig.add_subplot(111)
    ax.set_xlabel("angle")
    ax.set_ylabel("amplitude")
    t = numpy.arange(0.0, 2.0, 0.01)
    s1 = numpy.sin(2 * numpy.pi * t)
    ax.plot(t, s1, color="k")
    return fig

It can be exposed through TurboGears actions as:

class RootController(TGController):
    @expose('matplotfig')
    def figure(self, *args, **kwargs):
        return dict(fig=_make_fig())

    @expose('matplotfig', render_params=dict(dpi=36))
    def lowres(self, *args, **kwargs):
        return dict(fig=_make_fig())

    @expose('matplotfig')
    def customres(self, *args, **kwargs):
        options = {}
        try:
            options['dpi'] = int(kwargs['dpi'])
        except:
            pass
        return dict(fig=_make_fig(), **options)

Any other value provided in the dictionary will be used as a print_figure argument in matplotlib

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

tgext.matplotrender-0.0.1.tar.gz (3.3 kB view details)

Uploaded Source

File details

Details for the file tgext.matplotrender-0.0.1.tar.gz.

File metadata

File hashes

Hashes for tgext.matplotrender-0.0.1.tar.gz
Algorithm Hash digest
SHA256 6defa801397021524e25f9b59ed028b61e051f238a8dd5d343569254a97ec67f
MD5 ab21cade25152d7c7c53cd32846959dd
BLAKE2b-256 a25983b6a484ee7fa8e75a1213184e8d44b1892813e6ef27643736ececf7e737

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