##// END OF EJS Templates
Let the auto pylab backend detection work....
Let the auto pylab backend detection work. The kernel knows how to find the user's backend choice, so if no backend is explicitly given, read it from the matplotlibrc file.

File last commit:

r2890:8ecc9ec4
r2978:f52feb29
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()