Sorry I didn't notice this right away. This is actually a bug. I made a change so the offset (in scientific notation) is written in the same font as the other tick values, which unfortunately broke with the default fonts.

I have attached a patch against 0.91.2. This will make it into the next 0.91.x bugfix release, but that may be a while.

Cheers,
Mike


Matthias Michler wrote:
Hello Mike, Hello list,

thanks for your reply.

On Wednesday 09 January 2008 17:58, Michael Droettboom wrote:
The default mathtext font should have the "times" symbol.  Are you
making any other changes that would affect the selection of mathtext
fonts?
I don't think that I changed anything. I only run the script attached in the last email.
(Can you please attach a copy of your matplotlibrc file?) If that looks ok, perhaps it isn't finding the math fonts correctly.
I attached the file.
There are a multitude of reasons that could be happening. It is sometimes
helpful to set "verbose.level" to "debug-annoying" and then look at the
logs to see what might be going on.  Also, you could try deleting the
fonts cache in ~/.matplotlib/fontManager.cache to force it to regenerate.

I deleted the ~/.matplotlib/fontManager.cache and run again my script. The output with "verbose.level : debug-annoying" is attached, but I don't understand what I'm doing wrong. Maybe my matplotlibrc is to old to be used with the last improvements, although I can't see any substantial differences.

Thanks in advance for any further suggestions.
best regards,
Matthias

Cheers,
Mike

Matthias Michler wrote:
Hello list,

the little example below seems to fail, can anybody help me?
I'm on Debian using the release 0.91.2.

best regards and thanks in advance for any hints,
Matthias

-------------------------------------------------------------------------
------------------ from matplotlib.ticker import ScalarFormatter
from matplotlib.pyplot import *

ax = axes()
axis([0.0, 10**-7, 0, 10**-7])

ax.yaxis.set_major_formatter(ScalarFormatter(useMathText=True))

show()
-------------------------------------------------------------------------
----------------------- error message:
/scratch/michler/SOFT/lib/python2.4/site-packages/matplotlib/mathtext.py:
722: MathTextWarning: Unrecognized symbol '\times'. Substituting with a
dummy symbol.
  % sym.encode('ascii', 'backslashreplace'), MathTextWarning)


the string '\times' is due to line
  sciNotStr = r'{\times}'+self.format_data(10**self.orderOfMagnitude)
in function ScalarFormatter.get_offset

-------------------------------------------------------------------------
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/marketpl
ace _______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
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
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
Index: lib/matplotlib/ticker.py
===================================================================
--- lib/matplotlib/ticker.py    (revision 4824)
+++ lib/matplotlib/ticker.py    (working copy)
@@ -329,12 +329,16 @@
                 if self.offset > 0: offsetStr = '+' + offsetStr
             if self.orderOfMagnitude:
                 if self._usetex or self._useMathText:
-                    sciNotStr = 
r'{\times}'+self.format_data(10**self.orderOfMagnitude)
+                    sciNotStr = self.format_data(10**self.orderOfMagnitude)
                 else:
-                    sciNotStr = u'\xd7'+'1e%d'% self.orderOfMagnitude
+                    sciNotStr = '1e%d'% self.orderOfMagnitude
             if self._useMathText:
-                return ''.join(('$\mathdefault{',sciNotStr,offsetStr,'}$'))
+                if sciNotStr != '':
+                    sciNotStr = r'\times\mathdefault{%s}' % sciNotStr
+                return ''.join(('$',sciNotStr,r'\mathdefault{',offsetStr,'}$'))
             elif self._usetex:
+                if sciNotStr != '':
+                    sciNotStr = u'\xd7%s' % sciNotStr
                 return ''.join(('$',sciNotStr,offsetStr,'$'))
             else:
                 return ''.join((sciNotStr,offsetStr))
-------------------------------------------------------------------------
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
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to