In [3]:
%matplotlib inline

import matplotlib.pyplot as plt
import numpy as np
from IPython import display


x = np.linspace(0, 6*np.pi, 100)
y = np.sin(x)

fig = plt.figure()
ax = fig.add_subplot(111)
line1, = ax.plot(x, y, 'r-') # Returns a tuple of line objects, thus the comma

for phase in np.linspace(0, 10*np.pi, 500):
    line1.set_ydata(np.sin(x + phase))
    display.clear_output(wait=True)
    display.display(plt.gcf())


---------------------------------------------------------------------------
KeyboardInterrupt                         Traceback (most recent call last)
<ipython-input-3-4521f5809cd7> in <module>()
     16     line1.set_ydata(np.sin(x + phase))
     17     display.clear_output(wait=True)
---> 18     display.display(plt.gcf())

/usr/local/lib/python2.7/site-packages/IPython/core/display.pyc in display(*objs, **kwargs)
    129             publish_display_data('display', obj, metadata)
    130         else:
--> 131             format_dict, md_dict = format(obj, include=include, exclude=exclude)
    132             if metadata:
    133                 # kwarg-specified metadata gets precedence

/usr/local/lib/python2.7/site-packages/IPython/core/formatters.pyc in format(self, obj, include, exclude)
    198             md = None
    199             try:
--> 200                 data = formatter(obj)
    201             except:
    202                 # FIXME: log the exception

/usr/local/lib/python2.7/site-packages/IPython/core/formatters.pyc in __call__(self, obj)

/usr/local/lib/python2.7/site-packages/IPython/core/formatters.pyc in warn_format_error(method, self, *args, **kwargs)
    231     """decorator for warning on failed format call"""
    232     try:
--> 233         r = method(self, *args, **kwargs)
    234     except NotImplementedError as e:
    235         # don't warn on NotImplementedErrors

/usr/local/lib/python2.7/site-packages/IPython/core/formatters.pyc in __call__(self, obj)
    348                 pass
    349             else:
--> 350                 return printer(obj)
    351             # Finally look for special method names
    352             method = _safe_get_formatter_method(obj, self.print_method)

/usr/local/lib/python2.7/site-packages/IPython/core/pylabtools.pyc in <lambda>(fig)
    218 
    219     if 'png' in formats:
--> 220         png_formatter.for_type(Figure, lambda fig: print_figure(fig, 'png', **kwargs))
    221     if 'retina' in formats or 'png2x' in formats:
    222         png_formatter.for_type(Figure, lambda fig: retina_figure(fig, **kwargs))

/usr/local/lib/python2.7/site-packages/IPython/core/pylabtools.pyc in print_figure(fig, fmt, bbox_inches, **kwargs)
    128 
    129     bytes_io = BytesIO()
--> 130     fig.canvas.print_figure(bytes_io, **kw)
    131     data = bytes_io.getvalue()
    132     if fmt == 'svg':

/usr/local/lib/python2.7/site-packages/matplotlib/backend_bases.pyc in print_figure(self, filename, dpi, facecolor, edgecolor, orientation, format, **kwargs)
   2218                 orientation=orientation,
   2219                 bbox_inches_restore=_bbox_inches_restore,
-> 2220                 **kwargs)
   2221         finally:
   2222             if bbox_inches and restore_bbox:

/usr/local/lib/python2.7/site-packages/matplotlib/backends/backend_agg.pyc in print_png(self, filename_or_obj, *args, **kwargs)
    503 
    504     def print_png(self, filename_or_obj, *args, **kwargs):
--> 505         FigureCanvasAgg.draw(self)
    506         renderer = self.get_renderer()
    507         original_dpi = renderer.dpi

/usr/local/lib/python2.7/site-packages/matplotlib/backends/backend_agg.pyc in draw(self)
    449 
    450         try:
--> 451             self.figure.draw(self.renderer)
    452         finally:
    453             RendererAgg.lock.release()

/usr/local/lib/python2.7/site-packages/matplotlib/artist.pyc in draw_wrapper(artist, renderer, *args, **kwargs)
     53     def draw_wrapper(artist, renderer, *args, **kwargs):
     54         before(artist, renderer)
---> 55         draw(artist, renderer, *args, **kwargs)
     56         after(artist, renderer)
     57 

/usr/local/lib/python2.7/site-packages/matplotlib/figure.pyc in draw(self, renderer)
   1032         dsu.sort(key=itemgetter(0))
   1033         for zorder, a, func, args in dsu:
-> 1034             func(*args)
   1035 
   1036         renderer.close_group('figure')

/usr/local/lib/python2.7/site-packages/matplotlib/artist.pyc in draw_wrapper(artist, renderer, *args, **kwargs)
     53     def draw_wrapper(artist, renderer, *args, **kwargs):
     54         before(artist, renderer)
---> 55         draw(artist, renderer, *args, **kwargs)
     56         after(artist, renderer)
     57 

/usr/local/lib/python2.7/site-packages/matplotlib/axes.pyc in draw(self, renderer, inframe)
   2084 
   2085         for zorder, a in dsu:
-> 2086             a.draw(renderer)
   2087 
   2088         renderer.close_group('axes')

/usr/local/lib/python2.7/site-packages/matplotlib/artist.pyc in draw_wrapper(artist, renderer, *args, **kwargs)
     53     def draw_wrapper(artist, renderer, *args, **kwargs):
     54         before(artist, renderer)
---> 55         draw(artist, renderer, *args, **kwargs)
     56         after(artist, renderer)
     57 

/usr/local/lib/python2.7/site-packages/matplotlib/axis.pyc in draw(self, renderer, *args, **kwargs)
   1094 
   1095         for tick in ticks_to_draw:
-> 1096             tick.draw(renderer)
   1097 
   1098         # scale up the axis label box to also find the neighbors, not

/usr/local/lib/python2.7/site-packages/matplotlib/artist.pyc in draw_wrapper(artist, renderer, *args, **kwargs)
     53     def draw_wrapper(artist, renderer, *args, **kwargs):
     54         before(artist, renderer)
---> 55         draw(artist, renderer, *args, **kwargs)
     56         after(artist, renderer)
     57 

/usr/local/lib/python2.7/site-packages/matplotlib/axis.pyc in draw(self, renderer)
    234                 self.gridline.draw(renderer)
    235             if self.tick1On:
--> 236                 self.tick1line.draw(renderer)
    237             if self.tick2On:
    238                 self.tick2line.draw(renderer)

/usr/local/lib/python2.7/site-packages/matplotlib/artist.pyc in draw_wrapper(artist, renderer, *args, **kwargs)
     53     def draw_wrapper(artist, renderer, *args, **kwargs):
     54         before(artist, renderer)
---> 55         draw(artist, renderer, *args, **kwargs)
     56         after(artist, renderer)
     57 

/usr/local/lib/python2.7/site-packages/matplotlib/lines.pyc in draw(self, renderer)
    528 
    529         ln_color_rgba = self._get_rgba_ln_color()
--> 530         gc.set_foreground(ln_color_rgba)
    531         gc.set_alpha(ln_color_rgba[3])
    532 

/usr/local/lib/python2.7/site-packages/matplotlib/backend_bases.pyc in set_foreground(self, fg, isRGBA)
    919             self._rgb = fg
    920         else:
--> 921             self._rgb = colors.colorConverter.to_rgba(fg)
    922 
    923     def set_graylevel(self, frac):

/usr/local/lib/python2.7/site-packages/matplotlib/colors.pyc in to_rgba(self, arg, alpha)
    341 
    342         try:
--> 343             if not cbook.is_string_like(arg) and cbook.iterable(arg):
    344                 if len(arg) == 4:
    345                     if [x for x in arg if (float(x) < 0) or (x > 1)]:

KeyboardInterrupt: