Closed
Description
OS X El Capitan + Anaconda 2.4 (Python 3.5) + matplotlib 1.4.3
At ipython
terminal:
In [1]: import matplotlib.pyplot as plt
In [2]: plt.plot(range(5))
Out[2]: [<matplotlib.lines.Line2D at 0x1085feef0>]
In [3]: plt.show()
This works. However, if I call plt.xkcd()
, things fall apart.
In [4]: plt.xkcd()
Out[4]: <matplotlib.rc_context at 0x1097b3d68>
In [5]: plt.plot(range(5))
Out[5]: [<matplotlib.lines.Line2D at 0x10a2eb240>]
In [6]: plt.show()
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
/Users/xiaoweiz/anaconda/lib/python3.5/site-packages/matplotlib/artist.py in draw_wrapper(artist, renderer, *args, **kwargs)
57 def draw_wrapper(artist, renderer, *args, **kwargs):
58 before(artist, renderer)
---> 59 draw(artist, renderer, *args, **kwargs)
60 after(artist, renderer)
61
/Users/xiaoweiz/anaconda/lib/python3.5/site-packages/matplotlib/figure.py in draw(self, renderer)
1083 dsu.sort(key=itemgetter(0))
1084 for zorder, a, func, args in dsu:
-> 1085 func(*args)
1086
1087 renderer.close_group('figure')
/Users/xiaoweiz/anaconda/lib/python3.5/site-packages/matplotlib/artist.py in draw_wrapper(artist, renderer, *args, **kwargs)
57 def draw_wrapper(artist, renderer, *args, **kwargs):
58 before(artist, renderer)
---> 59 draw(artist, renderer, *args, **kwargs)
60 after(artist, renderer)
61
/Users/xiaoweiz/anaconda/lib/python3.5/site-packages/matplotlib/axes/_base.py in draw(self, renderer, inframe)
2108
2109 for zorder, a in dsu:
-> 2110 a.draw(renderer)
2111
2112 renderer.close_group('axes')
/Users/xiaoweiz/anaconda/lib/python3.5/site-packages/matplotlib/artist.py in draw_wrapper(artist, renderer, *args, **kwargs)
57 def draw_wrapper(artist, renderer, *args, **kwargs):
58 before(artist, renderer)
---> 59 draw(artist, renderer, *args, **kwargs)
60 after(artist, renderer)
61
/Users/xiaoweiz/anaconda/lib/python3.5/site-packages/matplotlib/lines.py in draw(self, renderer)
713 funcname = self.drawStyles.get(self._drawstyle, '_draw_lines')
714 drawFunc = getattr(self, funcname)
--> 715 drawFunc(renderer, gc, tpath, affine.frozen())
716
717 if self._marker:
/Users/xiaoweiz/anaconda/lib/python3.5/site-packages/matplotlib/lines.py in _draw_lines(self, renderer, gc, path, trans)
1070
1071 def _draw_lines(self, renderer, gc, path, trans):
-> 1072 self._lineFunc(renderer, gc, path, trans)
1073
1074 def _draw_steps_pre(self, renderer, gc, path, trans):
/Users/xiaoweiz/anaconda/lib/python3.5/site-packages/matplotlib/lines.py in _draw_solid(self, renderer, gc, path, trans)
1110 def _draw_solid(self, renderer, gc, path, trans):
1111 gc.set_linestyle('solid')
-> 1112 renderer.draw_path(gc, path, trans)
1113
1114 def _draw_dashed(self, renderer, gc, path, trans):
/Users/xiaoweiz/anaconda/lib/python3.5/site-packages/matplotlib/patheffects.py in draw_path(self, gc, tpath, affine, rgbFace)
113 for path_effect in self._path_effects:
114 path_effect.draw_path(self._renderer, gc, tpath, affine,
--> 115 rgbFace)
116
117 def draw_markers(self, gc, marker_path, marker_trans, path, *args,
/Users/xiaoweiz/anaconda/lib/python3.5/site-packages/matplotlib/patheffects.py in draw_path(self, renderer, gc, tpath, affine, rgbFace)
215 def draw_path(self, renderer, gc, tpath, affine, rgbFace):
216 Stroke.draw_path(self, renderer, gc, tpath, affine, rgbFace)
--> 217 renderer.draw_path(gc, tpath, affine, rgbFace)
218
219
/Users/xiaoweiz/anaconda/lib/python3.5/site-packages/matplotlib/backends/backend_macosx.py in draw_path(self, gc, path, transform, rgbFace)
56 rgbFace = tuple(rgbFace)
57 linewidth = gc.get_linewidth()
---> 58 gc.draw_path(path, transform, linewidth, rgbFace)
59
60 def draw_markers(self, gc, marker_path, marker_trans, path, trans, rgbFace=None):
AttributeError: 'GraphicsContextBase' object has no attribute 'draw_path'
But in jupyter notebook
or jupyter qtconsole
where %matplotlib inline
works, the above issue goes away. Namely, the following works.
import matplotlib.pyplot as plt
%matplotlib inline
plt.xkcd()
plt.plot(range(5))