From: Michael D. <md...@st...> - 2008-05-13 12:02:08
|
Forgot to attach example. Sorry. Michael Droettboom wrote: > Presently, there's no direct way to do this. matplotlib uses the > standard Python (derived from C) number formatting which uses a > hyphen. There are a couple of workarounds, however. > > You can set a custom tick formatter by providing a function and > wrapping it in a FuncFormatter object. (See attached). You can have > your function replace all of the hyphens with minus signs, or force it > to use the mathtext formatting (which uses minus signs by default) by > wrapping the text in '$'. Alternatively, if your plot is designed for > inclusion in t a (La)TeX document, you can turn usetex on in your > matplotlibrc. > > All that said, it might be nice to make this the default behavior in > future versions of matplotlib. We're about to make a release, so I > don't want to put this in right now. Could you possibly file a > "Feature Request" in the tracker so we don't lose track of this? > > Cheers, > Mike > > Markus Kuhn wrote: >> Matplotlib currently uses the "hyphen" character instead of a "minus >> sign" when printing negative numbers in plots. >> >> While these two characters are traditionally not distinguished in >> monospaced fonts, there is a big difference in proportional fonts. A >> hyphen (Unicode character 0x002d) is very short and used between words, >> whereas a minus sign (Unicode: 0x2212) is much longer and looks exactly >> like the horizontal part of a plus sign. >> >> Practically all modern fonts do contain a minus sign. In those fonts >> that still lack a minus sign, the (often slightly lower/thinner/longer) >> "en dash" is usually a much less painful substitute than the hyphen. >> [The PostScript standard encoding lacks a minus sign, but the PostScript >> symbol font has one at 0x2d, as documented in >> http://www.unicode.org/Public/MAPPINGS/VENDORS/ADOBE/symbol.txt ] >> >> Example: >> >> from pylab import * >> plot([-3, -2, -1], [1,-3,-2]) >> title(u"wrong: -2..+2 correct: \u22122..+2") >> show() >> >> Is there a way to cause matplotlib to use the correct minus-sign glyph? >> That would help to keep typographically very picky editors of scientific >> journals happy ... >> >> Markus >> >> > -- Michael Droettboom Science Software Branch Operations and Engineering Division Space Telescope Science Institute Operated by AURA for NASA |