Opened 12 years ago

Last modified 7 years ago

#9471 new enhancement

include matplotlib html5 canvas rendering to sage

Reported by: was Owned by: jason, was
Priority: major Milestone: sage-6.4
Component: graphics Keywords:
Cc: jason Merged in:
Authors: Reviewers:
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Status badges

Description

See http://code.google.com/p/mplh5canvas/

Let's include this in Sage soon. I just tried it out for fun on my laptop:

(1) Grab and extract the tarball from here:

http://code.google.com/p/mplh5canvas/downloads/list

then install it with "sage -python setup.py install"

(2) Install netifaces:

sage -sh easy_install netifaces exit

(3) In the Sage notebook, or command line, paste something like this:

import matplotlib
matplotlib.use('module://mplh5canvas.backend_h5canvas')
from pylab import *
import time

"""Simple static plot, mostly for testing zooming...
"""
clf()

theta = arange(0,8*pi,0.1)
a=1
b=.2

for dt in arange(0,2*pi,pi/2.0):

     x = a*cos( theta+dt )*exp(b*theta)
     y = a*sin( theta+dt )*exp(b*theta)

     dt = dt+pi/4.0

     x2 = a*cos( theta+dt )*exp(b*theta)
     y2 = a*sin( theta+dt )*exp(b*theta)

     xf = concatenate( (x,x2[::-1]) )
     yf = concatenate( (y,y2[::-1]) )

     p1=fill(xf,yf)

show()

Basically, you can put nearly any example from the matplotlib website before show (and after clf()) and it will "just work".

What happens above is that a new server is started and the plot displayed in it. Figuring out how to use our existing twisted server for interaction could be a nontrivial but very import challenge.

Change History (5)

comment:1 Changed 12 years ago by jason

  • Cc jason added

comment:2 Changed 8 years ago by jdemeyer

  • Milestone changed from sage-5.11 to sage-5.12

comment:3 Changed 8 years ago by vbraun_spam

  • Milestone changed from sage-6.1 to sage-6.2

comment:4 Changed 8 years ago by vbraun_spam

  • Milestone changed from sage-6.2 to sage-6.3

comment:5 Changed 7 years ago by vbraun_spam

  • Milestone changed from sage-6.3 to sage-6.4
Note: See TracTickets for help on using tickets.