Display SVG in IPython notebook from a function Display SVG in IPython notebook from a function python python

Display SVG in IPython notebook from a function


You need to display the SVG like

from IPython.display import SVG, displaydef show_svg():    display(SVG(url='http://upload.wikimedia.org/wikipedia/en/a/a4/Flag_of_the_United_States.svg'))

You first example works as the SVG object returns itself an is subsequently displayed by the IPython display machinery. As you want to create your SVG object in a custom method, you need to take care of the displaying.
The display call is similar to the ordinary print statement, but can handle different representations like images, html, latex, etc. For details have a look at the rich display documentation.


Add return to your function :

from IPython.display import SVGdef show_svg():    return SVG(url='http://upload.wikimedia.org/wikipedia/en/a/a4/Flag_of_the_United_States.svg')

Then call your functions as the last line in cell:

show_svg()