Hi,
If I change the locale using cairo backend, the result is fine.
But with SVG backend, every objects collapse on top-left corner.
As you can see here :
http://mathieu-leplatre.info/media/matplotlib-svg/localechange-svg.svg
I exported it to png with inkscape to reveal objects outside of frame :
http://mathieu-leplatre.info/media/matplotlib-svg/localechange-svg.png
Cairo output is fine :
http://mathieu-leplatre.info/media/matplotlib-svg/localechange-cairo.svg
I guess it's not a unicode problem, since the strings have no
non-ascii characters.
The code is quite straightforward, it allows me to choose the date
language for the formatters.
Let me know if I should fill a bug report.
Thank you all !
···
----
import locale, matplotlib
from datetime import datetime
matplotlib.use('svg')
import pylab, numpy
locale.setlocale(locale.LC_ALL, 'fr_FR.UTF-8')
today = datetime.today().strftime("%A")
pylab.title( today )
pylab.plot( range(10), numpy.random.randn( 10 ))
pylab.savefig('localechange-%s' % matplotlib.get_backend())
----
Thanks for spotting this. I don't think a lot of us ever use non-English locales, so that's fallen through the cracks.
backend_svg.py was using '%s' to convert floats, to limit the number of digits written to the file. This works fine with regular floats (since they do not follow the locale unless explicitly asked to do so), but numpy arrays seem to always follow the locale. (Not certain whether that inconsistency could be considered a bug in Numpy).
In any case, I've committed a workaround to matplotlib, which unfortunately results in slightly larger SVG files. This is now fixed in SVN r6049. Look there for a patch if you just want to fix your local backend_svg.py.
Cheers,
Mike
Mathieu Leplatre wrote:
···
Hi,
If I change the locale using cairo backend, the result is fine.
But with SVG backend, every objects collapse on top-left corner.
As you can see here :
http://mathieu-leplatre.info/media/matplotlib-svg/localechange-svg.svg
I exported it to png with inkscape to reveal objects outside of frame :
http://mathieu-leplatre.info/media/matplotlib-svg/localechange-svg.png
Cairo output is fine :
http://mathieu-leplatre.info/media/matplotlib-svg/localechange-cairo.svg
I guess it's not a unicode problem, since the strings have no
non-ascii characters.
The code is quite straightforward, it allows me to choose the date
language for the formatters.
Let me know if I should fill a bug report.
Thank you all !
----
import locale, matplotlib
from datetime import datetime
matplotlib.use('svg')
import pylab, numpy
locale.setlocale(locale.LC_ALL, 'fr_FR.UTF-8')
today = datetime.today().strftime("%A")
pylab.title( today )
pylab.plot( range(10), numpy.random.randn( 10 ))
pylab.savefig('localechange-%s' % matplotlib.get_backend())
----
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
matplotlib-users List Signup and Options
--
Michael Droettboom
Science Software Branch
Operations and Engineering Division
Space Telescope Science Institute
Operated by AURA for NASA
Thanks for spotting this. I don't think a lot of us ever use non-English
locales, so that's fallen through the cracks.
backend_svg.py was using '%s' to convert floats, to limit the number of
digits written to the file. This works fine with regular floats (since they
do not follow the locale unless explicitly asked to do so), but numpy arrays
seem to always follow the locale. (Not certain whether that inconsistency
could be considered a bug in Numpy).
In any case, I've committed a workaround to matplotlib, which unfortunately
results in slightly larger SVG files. This is now fixed in SVN r6049. Look
there for a patch if you just want to fix your local backend_svg.py.
Thanks for your lightspeed fix submit ! I patched it and it works fine.
Mathieu.
···
On Mon, Aug 25, 2008 at 7:17 PM, Michael Droettboom <mdroe@...86...> wrote:
Cheers,
Mike
Mathieu Leplatre wrote:
Hi,
If I change the locale using cairo backend, the result is fine.
But with SVG backend, every objects collapse on top-left corner.
As you can see here :
http://mathieu-leplatre.info/media/matplotlib-svg/localechange-svg.svg
I exported it to png with inkscape to reveal objects outside of frame :
http://mathieu-leplatre.info/media/matplotlib-svg/localechange-svg.png
Cairo output is fine :
http://mathieu-leplatre.info/media/matplotlib-svg/localechange-cairo.svg
I guess it's not a unicode problem, since the strings have no
non-ascii characters.
The code is quite straightforward, it allows me to choose the date
language for the formatters.
Let me know if I should fill a bug report.
Thank you all !
----
import locale, matplotlib
from datetime import datetime
matplotlib.use('svg')
import pylab, numpy
locale.setlocale(locale.LC_ALL, 'fr_FR.UTF-8')
today = datetime.today().strftime("%A")
pylab.title( today )
pylab.plot( range(10), numpy.random.randn( 10 ))
pylab.savefig('localechange-%s' % matplotlib.get_backend())
----
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's
challenge
Build the coolest Linux based applications with Moblin SDK & win great
prizes
Grand prize is a trip for two to an Open Source event anywhere in the
world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
matplotlib-users List Signup and Options
--
Michael Droettboom
Science Software Branch
Operations and Engineering Division
Space Telescope Science Institute
Operated by AURA for NASA