[Fixed]-Matplotlib: interactive plot on a web server


If you’re looking for flash-like interactivity in a web application, matplotlib probably isn’t what you’re looking for. It’s fine for rendering a static image to serve out in a web app, though. (and is amazingly flexible)

However, there’s been a lot of recent development on making matplotlib more oriented toward web interactivity. Take a look at the new HTML5/Canvas backend. http://code.google.com/p/mplh5canvas/ It’s not quite finished yet, but it’s worth playing around with, anyway.


You can use MPLD3 to export your existing matplotlib stuff to browser.
Matplotlib itself is very powerful, albeit, I agree the documentation is not very extensive.
I’ve learned it just by trying stuff out and finding examples on the net.
‘matplotlib example X’ where X is somewhat about what you are trying to plot find suprising amount of code on the net.


I have never used matplotlib, but how about using Google’s Chart API http://code.google.com/intl/pl-PL/apis/chart/ for charts?


Resurrecting an old question with the current state of affairs. As of Fall 2013, there’s now an example of embedding matplotlib’s WebAgg backend in a Tornado-based webserver: https://github.com/matplotlib/matplotlib/blob/master/examples/user_interfaces/embedding_webagg.py

This makes use of websockets to send the figure updates to the browser, which allows for really nice interactive plots that get rendered client-side. This means that no images are being generated on the server!


This tool is nice, but it would awesome if it worked with matplotlib.


Leave a comment