##// END OF EJS Templates
Continue restructuring info system, move some standalone code to utils.
Continue restructuring info system, move some standalone code to utils.

File last commit:

r2890:8ecc9ec4
r2929:82a945d8
Show More
backend_payload_svg.py
39 lines | 1.3 KiB | text/x-python | PythonLexer
/ IPython / zmq / pylab / backend_payload_svg.py
Fernando Perez
Fix svg rich backend to correctly show multiple figures.
r2890 """Produce SVG versions of active plots for display by the rich Qt frontend.
"""
#-----------------------------------------------------------------------------
# Imports
#-----------------------------------------------------------------------------
epatters
Initial checkin of (not yet working) matplotlib payload backend and associated machinery.
r2756 # Standard library imports
from cStringIO import StringIO
# System library imports.
from matplotlib.backends.backend_svg import new_figure_manager
from matplotlib._pylab_helpers import Gcf
# Local imports.
from backend_payload import add_plot_payload
Fernando Perez
Fix svg rich backend to correctly show multiple figures.
r2890 #-----------------------------------------------------------------------------
# Functions
#-----------------------------------------------------------------------------
epatters
Initial checkin of (not yet working) matplotlib payload backend and associated machinery.
r2756
def show():
""" Deliver a SVG payload.
"""
Fernando Perez
Fix svg rich backend to correctly show multiple figures.
r2890 for figure_manager in Gcf.get_all_fig_managers():
Brian Granger
Improved matplotlib backend and plotting....
r2819 # Make the background transparent.
# figure_manager.canvas.figure.patch.set_alpha(0.0)
# Set the background to white instead so it looks good on black.
figure_manager.canvas.figure.set_facecolor('white')
figure_manager.canvas.figure.set_edgecolor('white')
epatters
Initial checkin of (not yet working) matplotlib payload backend and associated machinery.
r2756 data = svg_from_canvas(figure_manager.canvas)
add_plot_payload('svg', data)
Fernando Perez
Fix svg rich backend to correctly show multiple figures.
r2890
epatters
Initial checkin of (not yet working) matplotlib payload backend and associated machinery.
r2756 def svg_from_canvas(canvas):
""" Return a string containing the SVG representation of a FigureCanvasSvg.
"""
string_io = StringIO()
canvas.print_svg(string_io)
return string_io.getvalue()