Unicode in Python is tricky. It is explained in gory detail here:
http://www.amk.ca/python/howto/unicode
But to save you the trouble of reading the whole thing, unless you're an
i18n geek like me, here's my list of recommendations to (somewhat)
reliably get non-ASCII characters to work in Python. There are other
ways, (and people tend to have their own opinions about this, mostly
based on the capabilities of their editors).
1. "Non-ASCII" means any codepoint that is greater than 127. Your
local encoding may have characters with accents in the range 128-255,
but that is *not* ASCII.
2. Always use Unicode literals for anything that contains non-ASCII
characters (by prefixing the literal with a 'u'). It is never a good
idea to put non-ASCII characters in a regular 8-bit Python string --
they do not "remember" their encoding, and the application has no way to
know how to interpret it.
3. Always declare an encoding at the top of the file, e.g.:
# -*- coding: utf-8 -*-
(I like utf-8 for generality, but you could use any of the
encodings that Python understands, see here:
http://docs.python.org/lib/standard-encodings.html)
4. Make sure your editor is correctly saving the file in that
specified encoding. This is perhaps the hardest step because editors
all handle it a little differently. Some editors have an option
somewhere to set the encoding that files are saved in. Others may
automatically understand the "coding" comment line in the file. (Same
goes for any terminal emulator you may be using for interactive plotting.)
If you can't get step 4 to work successfully, you can write Unicode
strings in Python using only ASCII characters using the "\u0000" escape
sequence.
u"Flamb\u00e9e"
(Here, the Unicode code point for e with accent-aigu is 00E9).
So, following all of the above, the attached works fine for me with .eps
output on 0.91.2. (There were various Unicode issues in 0.90.x that
were fixed.) If it still doesn't work for you, please let us know.
Cheers,
Mike
Matthieu Brucher wrote:
No problem with the png backend.
I tried with Latex for the accent, but it didn't work :
Traceback (most recent call last):
File "<input>", line 1, in <module>
File
"/home/brucher/local//lib/python2.5/site-packages/matplotlib/pyplot.py",
line 265, in draw
get_current_fig_manager().canvas.draw()
File
"/home/brucher/local//lib/python2.5/site-packages/matplotlib/backends/backend_wx.py",
line 953, in draw
self.figure.draw(self.renderer)
File
"/home/brucher/local//lib/python2.5/site-packages/matplotlib/figure.py",
line 612, in draw
for a in self.axes: a.draw(renderer)
File
"/home/brucher/local//lib/python2.5/site-packages/matplotlib/axes.py",
line 1342, in draw
a.draw(renderer)
File
"/home/brucher/local//lib/python2.5/site-packages/matplotlib/axis.py",
line 593, in draw
tick.draw(renderer)
File
"/home/brucher/local//lib/python2.5/site-packages/matplotlib/axis.py",
line 170, in draw
if self.label1On: self.label1.draw(renderer)
File
"/home/brucher/local//lib/python2.5/site-packages/matplotlib/text.py",
line 775, in draw
Text.draw(self, renderer)
File
"/home/brucher/local//lib/python2.5/site-packages/matplotlib/text.py",
line 327, in draw
self._fontproperties, angle)
File
"/home/brucher/local//lib/python2.5/site-packages/matplotlib/backend_bases.py",
line 383, in draw_tex
raise NotImplementedError
I just did :
import pylab as pl
pl.plot([1, 2, 3], [1, 2, 3])
pl.xlabel('éè')
pl.show()
and the ps file is corrupted :(
Matthieu
2008/2/1, Michael Droettboom <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>:
Can you provide an example of your code? Often, it is a matter of
configuring/using Python correctly to indicate accents. Is the problem
only with EPS or other backends as well?
Cheers,
Mike
Matthieu Brucher wrote:
> Hi,
>
> I'm trying to export a MAtplotlib figure which has some axes labels,
> such as 'coût'.
> The problème is that the generated eps is corrupted because of these
> accents. Is there a way to generate an acceptable eps file ?
>
> Matthieu
> --
> French PhD student
> Website : http://matthieu-brucher.developpez.com/
> Blogs : http://matt.eifelle.com and
http://blog.developpez.com/?blog=92
> LinkedIn : http://www.linkedin.com/in/matthieubrucher
>
>
>
------------------------------------------------------------------------
>
>
-------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio 2008.
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
>
>
>
------------------------------------------------------------------------
>
> _______________________________________________
> Matplotlib-users mailing list
> Matplotlib-users@lists.sourceforge.net
<mailto:Matplotlib-users@lists.sourceforge.net>
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
--
Michael Droettboom
Science Software Branch
Operations and Engineering Division
Space Telescope Science Institute
Operated by AURA for NASA
--
French PhD student
Website : http://matthieu-brucher.developpez.com/
Blogs : http://matt.eifelle.com and http://blog.developpez.com/?blog=92
LinkedIn : http://www.linkedin.com/in/matthieubrucher
------------------------------------------------------------------------
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
------------------------------------------------------------------------
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users
--
Michael Droettboom
Science Software Branch
Operations and Engineering Division
Space Telescope Science Institute
Operated by AURA for NASA
# -*- coding: utf-8 -*-
from pylab import *
plot([1,2,3])
title(u"Flambée")
savefig("test.ps")
savefig("test.eps")
savefig("test.png")
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users