[Matplotlib-users] Problem with importing LaTeX package amsmath and $\text{}$

2013-03-30 Thread Pawel Chojnacki
Hello,

I've been having some troubles with LaTeX in matplotlib. My example script:

#!/usr/bin/env python2
#-*- coding: utf-8 -*-

__author__ = 'Pawel Chojnacki'
__copyright__ ='Copyleft 2013 Pawel Chojnacki'
__version__ = '1.0'
__date__ = '29-03-2013'
__license__ = 'GPLv3'

import numpy as np
import matplotlib as mpl # Zmiana ustawien LaTeXa
mpl.rcParams['text.latex.preamble'].append(r'\usepackage{amsmath}')
#~ mpl.rcParams['text.latex.preamble'] = r'\usepackage{amsmath}'
#~ mpl.rcParams['text.latex.preamble']=[r"\usepackage{amsmath}"]
#~ mpl.rcParams['math.usetex'] = True
print mpl.rcParams['text.latex.preamble']
import pylab as py

py.axhspan(8400,8730,alpha=0.15)
py.title(u'Wyniki eksperymentu pomiaru gęstości ciała
stałego\n',size='large',family='serif')
py.ylabel((u'Gęstość ciała stałego ' +
r'$\frac{kg}{m^3}$'),size='large',family='serif')
#~ py.ylabel((r'$\text{lol}$'),size='large',family='serif')
py.ylabel((r'$\text{lol}$'),size='large',family='serif')
py.xlabel(u'Metoda pomiaru',size='large',family='serif')
py.grid(True)
py.show()

Gives me the following output:

['', '\\usepackage{amsmath}']
Exception in Tkinter callback
Traceback (most recent call last):
  File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1437, in __call__
return self.func(*args)
  File "/usr/lib/pymodules/python2.7/matplotlib/backends/backend_tkagg.py",
line 236, in resize
self.show()
  File "/usr/lib/pymodules/python2.7/matplotlib/backends/backend_tkagg.py",
line 239, in draw
FigureCanvasAgg.draw(self)
  File "/usr/lib/pymodules/python2.7/matplotlib/backends/backend_agg.py",
line 421, in draw
self.figure.draw(self.renderer)
  File "/usr/lib/pymodules/python2.7/matplotlib/artist.py", line 55, in
draw_wrapper
draw(artist, renderer, *args, **kwargs)
  File "/usr/lib/pymodules/python2.7/matplotlib/figure.py", line 898, in
draw
func(*args)
  File "/usr/lib/pymodules/python2.7/matplotlib/artist.py", line 55, in
draw_wrapper
draw(artist, renderer, *args, **kwargs)
  File "/usr/lib/pymodules/python2.7/matplotlib/axes.py", line 1997, in draw
a.draw(renderer)
  File "/usr/lib/pymodules/python2.7/matplotlib/artist.py", line 55, in
draw_wrapper
draw(artist, renderer, *args, **kwargs)
  File "/usr/lib/pymodules/python2.7/matplotlib/axis.py", line 1054, in draw
self.label.draw(renderer)
  File "/usr/lib/pymodules/python2.7/matplotlib/artist.py", line 55, in
draw_wrapper
draw(artist, renderer, *args, **kwargs)
  File "/usr/lib/pymodules/python2.7/matplotlib/text.py", line 526, in draw
bbox, info = self._get_layout(renderer)
  File "/usr/lib/pymodules/python2.7/matplotlib/text.py", line 309, in
_get_layout
ismath=ismath)
  File "/usr/lib/pymodules/python2.7/matplotlib/backends/backend_agg.py",
line 193, in get_text_width_height_descent
self.mathtext_parser.parse(s, self.dpi, prop)
  File "/usr/lib/pymodules/python2.7/matplotlib/mathtext.py", line 2999, in
parse
box = self._parser.parse(s, font_output, fontsize, dpi)
  File "/usr/lib/pymodules/python2.7/matplotlib/mathtext.py", line 2357, in
parse
self._expression.parseString(s)
  File "/usr/lib/pymodules/python2.7/matplotlib/pyparsing.py", line 1048,
in parseString
loc, tokens = self._parse( instring, 0 )
  File "/usr/lib/pymodules/python2.7/matplotlib/pyparsing.py", line 981, in
_parseCache
value = self._parseNoCache( instring, loc, doActions, callPreParse )
  File "/usr/lib/pymodules/python2.7/matplotlib/pyparsing.py", line 924, in
_parseNoCache
loc,tokens = self.parseImpl( instring, preloc, doActions )
  File "/usr/lib/pymodules/python2.7/matplotlib/pyparsing.py", line 2559,
in parseImpl
return self.expr._parse( instring, loc, doActions, callPreParse=False )
  File "/usr/lib/pymodules/python2.7/matplotlib/pyparsing.py", line 981, in
_parseCache
value = self._parseNoCache( instring, loc, doActions, callPreParse )
  File "/usr/lib/pymodules/python2.7/matplotlib/pyparsing.py", line 924, in
_parseNoCache
loc,tokens = self.parseImpl( instring, preloc, doActions )
  File "/usr/lib/pymodules/python2.7/matplotlib/pyparsing.py", line 2307,
in parseImpl
loc, exprtokens = e._parse( instring, loc, doActions )
  File "/usr/lib/pymodules/python2.7/matplotlib/pyparsing.py", line 981, in
_parseCache
value = self._parseNoCache( instring, loc, doActions, callPreParse )
  File "/usr/lib/pymodules/python2.7/matplotlib/pyparsing.py", line 924, in
_parseNoCach

Re: [Matplotlib-users] Problem with importing LaTeX package amsmath and $\text{}$

2013-03-30 Thread Pawel Chojnacki
Please pardon me, but what object is math.usetex attribute of? I can't find
it in the documentation.

http://matplotlib.org/users/usetex.html Mentions only text.usetex.


2013/3/30 Phil Elson 

> Doesn't look like you're using math.usetex & therefore are not actually
> using latex, but mpl's stripped down tex implementation.
>
> Try setting usetex to True, or alternatively I think you could use \mathrm
> instead of \text to get non mathematical text.
>
> HTH
>
>
> On 30 March 2013 11:43, Pawel Chojnacki  wrote:
>
>> Hello,
>>
>> I've been having some troubles with LaTeX in matplotlib. My example
>> script:
>>
>> #!/usr/bin/env python2
>> #-*- coding: utf-8 -*-
>>
>> __author__ = 'Pawel Chojnacki'
>> __copyright__ ='Copyleft 2013 Pawel Chojnacki'
>> __version__ = '1.0'
>> __date__ = '29-03-2013'
>> __license__ = 'GPLv3'
>>
>> import numpy as np
>> import matplotlib as mpl # Zmiana ustawien LaTeXa
>> mpl.rcParams['text.latex.preamble'].append(r'\usepackage{amsmath}')
>> #~ mpl.rcParams['text.latex.preamble'] = r'\usepackage{amsmath}'
>> #~ mpl.rcParams['text.latex.preamble']=[r"\usepackage{amsmath}"]
>> #~ mpl.rcParams['math.usetex'] = True
>> print mpl.rcParams['text.latex.preamble']
>> import pylab as py
>>
>> py.axhspan(8400,8730,alpha=0.15)
>> py.title(u'Wyniki eksperymentu pomiaru gęstości ciała
>> stałego\n',size='large',family='serif')
>> py.ylabel((u'Gęstość ciała stałego ' +
>> r'$\frac{kg}{m^3}$'),size='large',family='serif')
>> #~ py.ylabel((r'$\text{lol}$'),size='large',family='serif')
>> py.ylabel((r'$\text{lol}$'),size='large',family='serif')
>> py.xlabel(u'Metoda pomiaru',size='large',family='serif')
>> py.grid(True)
>> py.show()
>>
>> Gives me the following output:
>>
>> ['', '\\usepackage{amsmath}']
>> Exception in Tkinter callback
>> Traceback (most recent call last):
>>   File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1437, in __call__
>> return self.func(*args)
>>   File
>> "/usr/lib/pymodules/python2.7/matplotlib/backends/backend_tkagg.py", line
>> 236, in resize
>> self.show()
>>   File
>> "/usr/lib/pymodules/python2.7/matplotlib/backends/backend_tkagg.py", line
>> 239, in draw
>> FigureCanvasAgg.draw(self)
>>   File "/usr/lib/pymodules/python2.7/matplotlib/backends/backend_agg.py",
>> line 421, in draw
>> self.figure.draw(self.renderer)
>>   File "/usr/lib/pymodules/python2.7/matplotlib/artist.py", line 55, in
>> draw_wrapper
>> draw(artist, renderer, *args, **kwargs)
>>   File "/usr/lib/pymodules/python2.7/matplotlib/figure.py", line 898, in
>> draw
>> func(*args)
>>   File "/usr/lib/pymodules/python2.7/matplotlib/artist.py", line 55, in
>> draw_wrapper
>> draw(artist, renderer, *args, **kwargs)
>>   File "/usr/lib/pymodules/python2.7/matplotlib/axes.py", line 1997, in
>> draw
>> a.draw(renderer)
>>   File "/usr/lib/pymodules/python2.7/matplotlib/artist.py", line 55, in
>> draw_wrapper
>> draw(artist, renderer, *args, **kwargs)
>>   File "/usr/lib/pymodules/python2.7/matplotlib/axis.py", line 1054, in
>> draw
>> self.label.draw(renderer)
>>   File "/usr/lib/pymodules/python2.7/matplotlib/artist.py", line 55, in
>> draw_wrapper
>> draw(artist, renderer, *args, **kwargs)
>>   File "/usr/lib/pymodules/python2.7/matplotlib/text.py", line 526, in
>> draw
>> bbox, info = self._get_layout(renderer)
>>   File "/usr/lib/pymodules/python2.7/matplotlib/text.py", line 309, in
>> _get_layout
>> ismath=ismath)
>>   File "/usr/lib/pymodules/python2.7/matplotlib/backends/backend_agg.py",
>> line 193, in get_text_width_height_descent
>> self.mathtext_parser.parse(s, self.dpi, prop)
>>   File "/usr/lib/pymodules/python2.7/matplotlib/mathtext.py", line 2999,
>> in parse
>> box = self._parser.parse(s, font_output, fontsize, dpi)
>>   File "/usr/lib/pymodules/python2.7/matplotlib/mathtext.py", line 2357,
>> in parse
>> self._expression.parseString(s)
>>   File "/usr/lib/pymodules/python2

Re: [Matplotlib-users] Problem with importing LaTeX package amsmath and $\text{}$

2013-03-30 Thread Pawel Chojnacki
2013/3/30 Juergen Hasch 

> Am 30.03.2013 16:29, schrieb Pawel Chojnacki:
> > Please pardon me, but what object is math.usetex attribute of? I can't
> find it in the documentation.
> >
> > http://matplotlib.org/users/usetex.html Mentions only text.usetex.
> >
> >
>
> You need to set
> mpl.rcParams['text.usetex'] = True
>
> For text you need unicode, for latex raw encoding.
> To have text and latex in one line, use
> xlabel(u'Häallo '+r'$\varphi$'+ 'r')
>
> Works for me, at least.
>

I've already tried that, and I got the response:

['', '\\usepackage{amsmath}']
Exception in Tkinter callback
Traceback (most recent call last):
  File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1437, in __call__
return self.func(*args)
  File "/usr/lib/pymodules/python2.7/matplotlib/backends/backend_tkagg.py",
line 236, in resize
self.show()
  File "/usr/lib/pymodules/python2.7/matplotlib/backends/backend_tkagg.py",
line 239, in draw
FigureCanvasAgg.draw(self)
  File "/usr/lib/pymodules/python2.7/matplotlib/backends/backend_agg.py",
line 421, in draw
self.figure.draw(self.renderer)
  File "/usr/lib/pymodules/python2.7/matplotlib/artist.py", line 55, in
draw_wrapper
draw(artist, renderer, *args, **kwargs)
  File "/usr/lib/pymodules/python2.7/matplotlib/figure.py", line 898, in
draw
func(*args)
  File "/usr/lib/pymodules/python2.7/matplotlib/artist.py", line 55, in
draw_wrapper
draw(artist, renderer, *args, **kwargs)
  File "/usr/lib/pymodules/python2.7/matplotlib/axes.py", line 1997, in draw
a.draw(renderer)
  File "/usr/lib/pymodules/python2.7/matplotlib/artist.py", line 55, in
draw_wrapper
draw(artist, renderer, *args, **kwargs)
  File "/usr/lib/pymodules/python2.7/matplotlib/text.py", line 526, in draw
bbox, info = self._get_layout(renderer)
  File "/usr/lib/pymodules/python2.7/matplotlib/text.py", line 309, in
_get_layout
ismath=ismath)
  File "/usr/lib/pymodules/python2.7/matplotlib/backends/backend_agg.py",
line 188, in get_text_width_height_descent
renderer=self)
  File "/usr/lib/pymodules/python2.7/matplotlib/texmanager.py", line 606,
in get_text_width_height_descent
dvifile = self.make_dvi(tex, fontsize)
  File "/usr/lib/pymodules/python2.7/matplotlib/texmanager.py", line 351,
in make_dvi
texfile = self.make_tex(tex, fontsize)
  File "/usr/lib/pymodules/python2.7/matplotlib/texmanager.py", line 259,
in make_tex
fh.write(s)
UnicodeEncodeError: 'ascii' codec can't encode character u'\u0119' in
position 349: ordinal not in range(128)

And after adding:
mpl.rcParams['text.latex.preamble'].append(r'\usepackage{amsmath},\usepackage[utf8]{inputenc}')
I got:

['', '\\usepackage{amsmath},\\usepackage[utf8]{inputenc}']
Exception in Tkinter callback
Traceback (most recent call last):
  File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1437, in __call__
return self.func(*args)
  File "/usr/lib/pymodules/python2.7/matplotlib/backends/backend_tkagg.py",
line 236, in resize
self.show()
  File "/usr/lib/pymodules/python2.7/matplotlib/backends/backend_tkagg.py",
line 239, in draw
FigureCanvasAgg.draw(self)
  File "/usr/lib/pymodules/python2.7/matplotlib/backends/backend_agg.py",
line 421, in draw
self.figure.draw(self.renderer)
  File "/usr/lib/pymodules/python2.7/matplotlib/artist.py", line 55, in
draw_wrapper
draw(artist, renderer, *args, **kwargs)
  File "/usr/lib/pymodules/python2.7/matplotlib/figure.py", line 898, in
draw
func(*args)
  File "/usr/lib/pymodules/python2.7/matplotlib/artist.py", line 55, in
draw_wrapper
draw(artist, renderer, *args, **kwargs)
  File "/usr/lib/pymodules/python2.7/matplotlib/axes.py", line 1997, in draw
a.draw(renderer)
  File "/usr/lib/pymodules/python2.7/matplotlib/artist.py", line 55, in
draw_wrapper
draw(artist, renderer, *args, **kwargs)
  File "/usr/lib/pymodules/python2.7/matplotlib/axis.py", line 1042, in draw
ticklabelBoxes, ticklabelBoxes2 = self._get_tick_bboxes(ticks_to_draw,
renderer)
  File "/usr/lib/pymodules/python2.7/matplotlib/axis.py", line 993, in
_get_tick_bboxes
extent = tick.label1.get_window_extent(renderer)
  File "/usr/lib/pymodules/python2.7/matplotlib/text.py", line 747, in
get_window_extent
bbox, info = self._get_layout(self._renderer)
  File "/usr/lib/pymodules/python2.7/matplotlib/text.py", line 309, in
_get_layout
ismath=ismath)
  File "/usr/lib/pymodules/python2.7/matplotlib/backends/backend_agg.py",
line 188, in get_text_width_height_descent
renderer=self

Re: [Matplotlib-users] Problem with importing LaTeX package amsmath and $\text{}$

2013-03-30 Thread Pawel Chojnacki
.tex files
> under ~./matplotlib/tex.cache
>
> It looks like you have a problem with the font encoding when using unicode
> characters.
> This works for me under Linux and Windows:
>
>
> import numpy as np
> import matplotlib as mpl
> mpl.rcParams['text.latex.**preamble'] = [r'\usepackage{amsmath}' ,
> r'\usepackage[T1]{fontenc}']
> mpl.rcParams['text.latex.**unicode'] = True
> mpl.rcParams['text.usetex'] = True
>
>
> import pylab as py
>
> py.axhspan(8400,8730,alpha=0.**15)
> py.title(u'Wyniki eksperymentu pomiaru gęstości ciała
> stałego',size='large',family='**serif')
> py.ylabel(r'$\text{lol}$',**size='large',family='serif')
> py.grid(True)
> py.show()
>
> Am 30.03.2013 22:15, schrieb Pawel Chojnacki:
>
>> 2013/3/30 Juergen Hasch mailto:pyt...@elbonia.de>>
>>
>>
>> Am 30.03.2013 16:29, schrieb Pawel Chojnacki:
>>  > Please pardon me, but what object is math.usetex attribute of? I
>> can't find it in the documentation.
>>  >
>>  > 
>> http://matplotlib.org/users/**usetex.html<http://matplotlib.org/users/usetex.html>Mentions
>>  only text.usetex.
>>  >
>>  >
>>
>> You need to set
>>  mpl.rcParams['text.usetex'] = True
>>
>> For text you need unicode, for latex raw encoding.
>> To have text and latex in one line, use
>>  xlabel(u'Häallo '+r'$\varphi$'+ 'r')
>>
>> Works for me, at least.
>>
>>
>> I've already tried that, and I got the response:
>>
>> ['', '\\usepackage{amsmath}']
>> Exception in Tkinter callback
>> Traceback (most recent call last):
>>File "/usr/lib/python2.7/lib-tk/**Tkinter.py", line 1437, in __call__
>>  return self.func(*args)
>>File 
>> "/usr/lib/pymodules/python2.7/**matplotlib/backends/backend_**tkagg.py",
>> line 236, in resize
>>  self.show()
>>File 
>> "/usr/lib/pymodules/python2.7/**matplotlib/backends/backend_**tkagg.py",
>> line 239, in draw
>>  FigureCanvasAgg.draw(self)
>>File 
>> "/usr/lib/pymodules/python2.7/**matplotlib/backends/backend_**agg.py",
>> line 421, in draw
>>  self.figure.draw(self.**renderer)
>>File "/usr/lib/pymodules/python2.7/**matplotlib/artist.py", line 55,
>> in draw_wrapper
>>  draw(artist, renderer, *args, **kwargs)
>>File "/usr/lib/pymodules/python2.7/**matplotlib/figure.py", line 898,
>> in draw
>>  func(*args)
>>File "/usr/lib/pymodules/python2.7/**matplotlib/artist.py", line 55,
>> in draw_wrapper
>>  draw(artist, renderer, *args, **kwargs)
>>File "/usr/lib/pymodules/python2.7/**matplotlib/axes.py", line 1997,
>> in draw
>>  a.draw(renderer)
>>File "/usr/lib/pymodules/python2.7/**matplotlib/artist.py", line 55,
>> in draw_wrapper
>>  draw(artist, renderer, *args, **kwargs)
>>File "/usr/lib/pymodules/python2.7/**matplotlib/text.py", line 526,
>> in draw
>>  bbox, info = self._get_layout(renderer)
>>File "/usr/lib/pymodules/python2.7/**matplotlib/text.py", line 309,
>> in _get_layout
>>  ismath=ismath)
>>File 
>> "/usr/lib/pymodules/python2.7/**matplotlib/backends/backend_**agg.py",
>> line 188, in get_text_width_height_descent
>>  renderer=self)
>>File "/usr/lib/pymodules/python2.7/**matplotlib/texmanager.py", line
>> 606, in get_text_width_height_descent
>>  dvifile = self.make_dvi(tex, fontsize)
>>File "/usr/lib/pymodules/python2.7/**matplotlib/texmanager.py", line
>> 351, in make_dvi
>>  texfile = self.make_tex(tex, fontsize)
>>File "/usr/lib/pymodules/python2.7/**matplotlib/texmanager.py", line
>> 259, in make_tex
>>  fh.write(s)
>> UnicodeEncodeError: 'ascii' codec can't encode character u'\u0119' in
>> position 349: ordinal not in range(128)
>>
>> And after adding:
>> mpl.rcParams['text.latex.**preamble'].append(r'\**usepackage{amsmath},\**
>> usepackage[utf8]{inputenc}')
>> I got:
>>
>> ['', '\\usepackage{amsmath},\\**usepackage[utf8]{inputenc}']
>> Exception in Tkinter callback
>> Traceback (most recent call last):
>>File "/usr/li

Re: [Matplotlib-users] Problem with importing LaTeX package amsmath and $\text{}$

2013-04-05 Thread Pawel Chojnacki
Thank you, it works flawlessly now :)


2013/3/31 Juergen Hasch 

> Am 31.03.2013 08:50, schrieb Pawel Chojnacki:
>
>  Thank you very much - hovewer, your solution isn't enough. Adding your
>> lines generate:
>>
>>
> The problem is this:
>
>
>  RuntimeError: LaTeX was not able to process the following string:
>> u''
>> Here is the full report generated by LaTeX:
>>
>>
> Latex doesn't like the empty string. This is caused by the '\n' in your
> title.
> Can you replace your original line:
> py.title(u'Wyniki eksperymentu pomiaru gęstości ciała
> stałego\n',size='large',**family='serif')
> with the new one, as in the example I sent you:
>
> py.title(u'Wyniki eksperymentu pomiaru gęstości ciała
> stałego',size='large',family='**serif')
>
>
--
Minimize network downtime and maximize team effectiveness.
Reduce network management and security costs.Learn how to hire 
the most talented Cisco Certified professionals. Visit the 
Employer Resources Portal
http://www.cisco.com/web/learning/employer_resources/index.html___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users