backend_payload_svg.py
30 lines
| 976 B
| text/x-python
|
PythonLexer
epatters
|
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 | ||||
def show(): | ||||
""" Deliver a SVG payload. | ||||
""" | ||||
epatters
|
r2758 | figure_manager = Gcf.get_active() | ||
epatters
|
r2756 | if figure_manager is not None: | ||
Brian Granger
|
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
|
r2756 | data = svg_from_canvas(figure_manager.canvas) | ||
add_plot_payload('svg', data) | ||||
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() | ||||