Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

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

0.0.1

Download files

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

Files for tgext.matplotrender, version 0.0.1
Filename, size File type Python version Upload date Hashes
Filename, size tgext.matplotrender-0.0.1.tar.gz (3.3 kB) File type Source Python version None Upload date Hashes View hashes

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