Joao Quinta da Fonseca
2015-07-28 14:59:37 UTC
I am trying to use LaTeX on the ylabel of a plot using:
plt.ylabel("$\alpha$”)
and I am seeing very inconsistent behaviour. If I use $\alpha$ I get an error (see below), but \gamma is fine. $\tau does not give an error but plots a strange character.
Can you help? thanks
Joao
Using $\alpha$ like above gives a long error message:
---------------------------------------------------------------------------
ValueError
Traceback (most recent call last)
/Users/joao/anaconda/lib/python2.7/site-packages/IPython/core/formatters.pyc in __call__(self, obj)
328 pass
329 else:
--> 330 return printer(obj)
331 # Finally look for special method names
332 method = _safe_get_formatter_method(obj, self.print_method)
/Users/joao/anaconda/lib/python2.7/site-packages/IPython/core/pylabtools.pyc in <lambda>(fig)
205
206 if 'png' in formats:
--> 207 png_formatter.for_type(Figure, lambda fig: print_figure(fig, 'png', **kwargs))
208 if 'retina' in formats or 'png2x' in formats:
209 png_formatter.for_type(Figure, lambda fig: retina_figure(fig, **kwargs))
/Users/joao/anaconda/lib/python2.7/site-packages/IPython/core/pylabtools.pyc in print_figure(fig, fmt, bbox_inches, **kwargs)
115
116 bytes_io = BytesIO()
--> 117 fig.canvas.print_figure(bytes_io, **kw)
118 data = bytes_io.getvalue()
119 if fmt == 'svg':
/Users/joao/anaconda/lib/python2.7/site-packages/matplotlib/backend_bases.pyc in print_figure(self, filename, dpi, facecolor, edgecolor, orientation, format, **kwargs)
2156 orientation=orientation,
2157 dryrun=True,
-> 2158
**kwargs)
2159 renderer = self.figure._cachedRenderer
2160 bbox_inches = self.figure.get_tightbbox(renderer)
/Users/joao/anaconda/lib/python2.7/site-packages/matplotlib/backends/backend_agg.pyc in print_png(self, filename_or_obj, *args, **kwargs)
519
520 def print_png(self, filename_or_obj, *args, **kwargs):
--> 521 FigureCanvasAgg.draw(self)
522 renderer = self.get_renderer()
523 original_dpi = renderer.dpi
/Users/joao/anaconda/lib/python2.7/site-packages/matplotlib/backends/backend_agg.pyc in draw(self)
467
468 try:
--> 469 self.figure.draw(self.renderer)
470 finally:
471 RendererAgg.lock.release()
/Users/joao/anaconda/lib/python2.7/site-packages/matplotlib/artist.pyc 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/joao/anaconda/lib/python2.7/site-packages/matplotlib/figure.pyc 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/joao/anaconda/lib/python2.7/site-packages/matplotlib/artist.pyc 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/joao/anaconda/lib/python2.7/site-packages/matplotlib/axes/_base.pyc in draw(self, renderer, inframe)
2108
2109 for zorder, a in dsu:
-> 2110 a.draw(renderer)
2111
2112 renderer.close_group('axes')
/Users/joao/anaconda/lib/python2.7/site-packages/matplotlib/artist.pyc 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/joao/anaconda/lib/python2.7/site-packages/matplotlib/axis.pyc in draw(self, renderer, *args, **kwargs)
1126 self._update_label_position(ticklabelBoxes, ticklabelBoxes2)
1127
-> 1128 self.label.draw(renderer)
1129
1130 self._update_offset_text_position(ticklabelBoxes, ticklabelBoxes2)
/Users/joao/anaconda/lib/python2.7/site-packages/matplotlib/artist.pyc 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/joao/anaconda/lib/python2.7/site-packages/matplotlib/text.pyc in draw(self, renderer)
593 renderer.open_group('text', self.get_gid())
594
--> 595 bbox, info, descent = self._get_layout(renderer)
596 trans = self.get_transform()
597
/Users/joao/anaconda/lib/python2.7/site-packages/matplotlib/text.pyc in _get_layout(self, renderer)
318
w, h, d = renderer.get_text_width_height_descent(clean_line,
319 self._fontproperties,
--> 320
ismath=ismath)
321 else:
322 w, h, d = 0, 0, 0
/Users/joao/anaconda/lib/python2.7/site-packages/matplotlib/backends/backend_agg.pyc in get_text_width_height_descent(self, s, prop, ismath)
226 if ismath:
227 ox, oy, width, height, descent, fonts, used_characters = \
--> 228 self.mathtext_parser.parse(s, self.dpi, prop)
229 return width, height, descent
230
/Users/joao/anaconda/lib/python2.7/site-packages/matplotlib/mathtext.pyc in parse(self, s, dpi, prop)
3003 self.__class__._parser = Parser()
3004
-> 3005 box = self._parser.parse(s, font_output, fontsize, dpi)
3006 font_output.set_canvas_size(box.width, box.height, box.depth)
3007 result = font_output.get_results(box)
/Users/joao/anaconda/lib/python2.7/site-packages/matplotlib/mathtext.pyc in parse(self, s, fonts_object, fontsize, dpi)
2337 err.line,
2338 " " * (err.column - 1) + "^",
-> 2339
six.text_type(err)]))
2340 self._state_stack = None
2341 self._em_width_cache = {}
ValueError
:
$lpha$
^
Expected end of text (at char 0), (line:1, col:1)
------------------------------------------------------------------------------
plt.ylabel("$\alpha$”)
and I am seeing very inconsistent behaviour. If I use $\alpha$ I get an error (see below), but \gamma is fine. $\tau does not give an error but plots a strange character.
Can you help? thanks
Joao
Using $\alpha$ like above gives a long error message:
---------------------------------------------------------------------------
ValueError
Traceback (most recent call last)
/Users/joao/anaconda/lib/python2.7/site-packages/IPython/core/formatters.pyc in __call__(self, obj)
328 pass
329 else:
--> 330 return printer(obj)
331 # Finally look for special method names
332 method = _safe_get_formatter_method(obj, self.print_method)
/Users/joao/anaconda/lib/python2.7/site-packages/IPython/core/pylabtools.pyc in <lambda>(fig)
205
206 if 'png' in formats:
--> 207 png_formatter.for_type(Figure, lambda fig: print_figure(fig, 'png', **kwargs))
208 if 'retina' in formats or 'png2x' in formats:
209 png_formatter.for_type(Figure, lambda fig: retina_figure(fig, **kwargs))
/Users/joao/anaconda/lib/python2.7/site-packages/IPython/core/pylabtools.pyc in print_figure(fig, fmt, bbox_inches, **kwargs)
115
116 bytes_io = BytesIO()
--> 117 fig.canvas.print_figure(bytes_io, **kw)
118 data = bytes_io.getvalue()
119 if fmt == 'svg':
/Users/joao/anaconda/lib/python2.7/site-packages/matplotlib/backend_bases.pyc in print_figure(self, filename, dpi, facecolor, edgecolor, orientation, format, **kwargs)
2156 orientation=orientation,
2157 dryrun=True,
-> 2158
**kwargs)
2159 renderer = self.figure._cachedRenderer
2160 bbox_inches = self.figure.get_tightbbox(renderer)
/Users/joao/anaconda/lib/python2.7/site-packages/matplotlib/backends/backend_agg.pyc in print_png(self, filename_or_obj, *args, **kwargs)
519
520 def print_png(self, filename_or_obj, *args, **kwargs):
--> 521 FigureCanvasAgg.draw(self)
522 renderer = self.get_renderer()
523 original_dpi = renderer.dpi
/Users/joao/anaconda/lib/python2.7/site-packages/matplotlib/backends/backend_agg.pyc in draw(self)
467
468 try:
--> 469 self.figure.draw(self.renderer)
470 finally:
471 RendererAgg.lock.release()
/Users/joao/anaconda/lib/python2.7/site-packages/matplotlib/artist.pyc 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/joao/anaconda/lib/python2.7/site-packages/matplotlib/figure.pyc 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/joao/anaconda/lib/python2.7/site-packages/matplotlib/artist.pyc 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/joao/anaconda/lib/python2.7/site-packages/matplotlib/axes/_base.pyc in draw(self, renderer, inframe)
2108
2109 for zorder, a in dsu:
-> 2110 a.draw(renderer)
2111
2112 renderer.close_group('axes')
/Users/joao/anaconda/lib/python2.7/site-packages/matplotlib/artist.pyc 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/joao/anaconda/lib/python2.7/site-packages/matplotlib/axis.pyc in draw(self, renderer, *args, **kwargs)
1126 self._update_label_position(ticklabelBoxes, ticklabelBoxes2)
1127
-> 1128 self.label.draw(renderer)
1129
1130 self._update_offset_text_position(ticklabelBoxes, ticklabelBoxes2)
/Users/joao/anaconda/lib/python2.7/site-packages/matplotlib/artist.pyc 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/joao/anaconda/lib/python2.7/site-packages/matplotlib/text.pyc in draw(self, renderer)
593 renderer.open_group('text', self.get_gid())
594
--> 595 bbox, info, descent = self._get_layout(renderer)
596 trans = self.get_transform()
597
/Users/joao/anaconda/lib/python2.7/site-packages/matplotlib/text.pyc in _get_layout(self, renderer)
318
w, h, d = renderer.get_text_width_height_descent(clean_line,
319 self._fontproperties,
--> 320
ismath=ismath)
321 else:
322 w, h, d = 0, 0, 0
/Users/joao/anaconda/lib/python2.7/site-packages/matplotlib/backends/backend_agg.pyc in get_text_width_height_descent(self, s, prop, ismath)
226 if ismath:
227 ox, oy, width, height, descent, fonts, used_characters = \
--> 228 self.mathtext_parser.parse(s, self.dpi, prop)
229 return width, height, descent
230
/Users/joao/anaconda/lib/python2.7/site-packages/matplotlib/mathtext.pyc in parse(self, s, dpi, prop)
3003 self.__class__._parser = Parser()
3004
-> 3005 box = self._parser.parse(s, font_output, fontsize, dpi)
3006 font_output.set_canvas_size(box.width, box.height, box.depth)
3007 result = font_output.get_results(box)
/Users/joao/anaconda/lib/python2.7/site-packages/matplotlib/mathtext.pyc in parse(self, s, fonts_object, fontsize, dpi)
2337 err.line,
2338 " " * (err.column - 1) + "^",
-> 2339
six.text_type(err)]))
2340 self._state_stack = None
2341 self._em_width_cache = {}
ValueError
:
$lpha$
^
Expected end of text (at char 0), (line:1, col:1)
------------------------------------------------------------------------------