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