Hi,
I am not expert in matplotlib, I use it to generate plots for a management
performance tool.
I have just upgraded this application from 0.98.3 to 0.98.5 and the upgrade
broke the application in 3 places:
1). In units.py, Registry.get_converter(): this method has been made
recursive in 0.98.5. The problem is that if x is a string then you get a
recursion error.
The cause is the 'iterable() function called in the line "if converter is
None and interable(x):" The interable() function is in cbook.py and it
actually tests to see if the object 'x' has a __len__() method. Call
iterable() on a string and it returns true.
Do " for thisx in x:" and you will always get the first character in the
string, which is.... a string!
My solution was to change iterable():
Def iterable(obj):
"""
Return true if *obj* is iterable
"""
try: obj.__iter__()
except AtributeError: return False
return True
this seems to have solved the problem.
2). Backend_svg.py._get_style(): in 0.98.3, stroke_width is a string and in
0.98.5 it is a float. I set the styles by reading attributes in an xml file
and so the strings worked. When I upgraded, I got 'float' type errors. My
opinion is that we might expect parametric polymorphism here. A stroke width
could be '1', 1 or 1.0 all of which are legitimate parameters. Hence, when
we set the kwarg 'lw' on 'plot', a string, int or float should be legal.
Just my opinion.
3). Font_manager.createFontDict() in 0.98.3 become createFontList() in
0.98.5. I didn't find this change in Changes, but maybe I'm blind. What I
am saying here is that if I upgrade to 0.98.5 from 0.98.3, I would expect
0.98.5 to be less 'broke' than 0.98.3, not different.
I hope this is somehow helpful.
Best regards, Richard Jennings
------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users