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


Release history Release notifications

This version
History Node

0.0.1

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
tgext.matplotrender-0.0.1.tar.gz (3.3 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page