|
From: Michael D. <md...@st...> - 2008-01-09 17:21:19
|
Thanks for the patch. However, perhaps a more general solution would be
to use the Python locale module to format numbers according to different
locales. And expose a kwarg select between the user's preferred locale,
the current U.S. English-centric defaults as they are now, or an
arbitrary locale using an ISO language code. That seems like it could
be a better long-term solution, since there are different number formats
all over, not just in Germany.
All that said, internationalization is hard -- especially for us
sheltered people in the U.S. where the defaults are most often correct.
I may be missing an important detail here.
Cheers,
Mike
Thorsten Kranz wrote:
> Hi list, Hi Matthias,
>
> I found another way to deal with this problem. when defining the
> colorbar, one can give an additional kwarg "format", so by defining the
> kwarg "format=formatter", we solved the problem.
>
> Anyway, I think an option as Matthias implemented would be very handy
> for all those users like us here in Germany who might want to have the
> numbers formatted with commata.
>
> Greetings,
> Thorsten
>
> 2008/1/9, Matthias Michler <Mat...@gm...
> <mailto:Mat...@gm...>>:
>
> Hello list,
> Hello Thorsten,
>
> On Wednesday 09 January 2008 11:38, Thorsten Kranz wrote:
> > I have a question concerning reformatting of axis-ticks via the
> > FuncFormatter-class. In german, it's common to use a comma as
> separator for
> > decimal numbers instead of a dot. To realize it in matplotlib, I do
> > something like
> >
> > >from matplotlib.ticker import FuncFormatter
> >
> > import pylab
> > pylab.figure()
> > formatter = FuncFormatter(lambda x,pos: ("%.2f"%x).replace(".",","))
> > ax = pylab.axes()
> > ax.xaxis.set_major_formatter(formatter)
> > ax.yaxis.set_major_formatter(formatter)
> > ax.plot(pylab.arange(0,1,0.1),pylab.arange(0,1,0.1))
> > This works fine for me,
>
> I had the same idea ;-). The problem is that you have a fixed number
> of digits
> behind the comma, which is not the desirable behaviour during zoom.
> I changed the ticker.py/ axes.py files to circumwait this
> disadvantage. I
> attached a patch showing my changes and maybe somebody can test it.
> You can activate it using:
> ax.ticklabel_format(style='comma')
> for an ScalarFormatter
>
> > but I encounter a problem when I do an
> > imshow-command with a colorbar. In the imshow-axes, it's o.k.,
> but for the
> > colorbar it doesn't really work. I do
> >
> > cb = pylab.colorbar()
> > cb.ax.yaxis.set_major_formatter(formatter)
> >
> > and, actually, all dots are replaced by com9mata, but the values
> are also
> > changed! E.g. instead of the old values (without formatter) from
> 0-0.54,
> > the
> >
> > values are increased to 0-0.95.
> [...]
> > Can anyone explain why it doesn't work out as I expect it to work?
> I don't know were the problem comes from. I attached your example in
> a slitly
> modified version and this shows that the problem is not due to your
> special
> formatting. It occurs with matplotlib.ticker.ScalarFormatter, too.
>
> best regards,
> Matthias
>
> > Or is there a better, more standard way to substitute the dots by
> commata?
> >
> > Thanks,
> > Thorsten
>
> -------------------------------------------------------------------------
> Check out the new SourceForge.net Marketplace.
> It's the best place to buy or sell services for
> just about anything Open Source.
> http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> <mailto:Mat...@li...>
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
> <https://lists.sourceforge.net/lists/listinfo/matplotlib-users>
>
>
>
>
> ------------------------------------------------------------------------
>
> -------------------------------------------------------------------------
> Check out the new SourceForge.net Marketplace.
> It's the best place to buy or sell services for
> just about anything Open Source.
> http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> 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
|