Ryan May wrote: > Eric Firing wrote: >> [EMAIL PROTECTED] wrote: >>> Revision: 6385 >>> >>> http://matplotlib.svn.sourceforge.net/matplotlib/?rev=6385&view=rev >>> Author: ryanmay >>> Date: 2008-11-10 18:59:18 +0000 (Mon, 10 Nov 2008) >>> >>> Log Message: >>> ----------- >>> Make iterable() and is_string_like() return True/False instead of 1/0. >> Agreed--good cleanup. >> >> A larger problem is that if you index out an element from a numpy array >> of strings, it is a numpy string array scalar, and it is not recognized >> by is_string_like. I have a fix for that (not committed), but it >> causes breakage elsewhere. All this is an example of the perils of >> duck-typing; it has its advantages, but also its pitfalls. > > What's your fix, and, more importantly, what breakage does it cause? > I've added a fix locally to just check to see if the string is an > instance of np.string_. It works, along with a few other things, to fix > the scatter() problem. I was just getting ready to start running this > stuff by the list...
The fix is: def is_string_like(obj): """ Return True if *obj* looks like a string Such objects should include Python strings, unicode strings, and numpy string array scalars. """ #if hasattr(obj, 'shape'): return 0 # I think the above is a legacy of Numeric... try: if str(obj) + '' == obj: return True except (TypeError, ValueError): return False return True I am not even sure if the above is the fix we want, but having numpy string array elements fail "is_string_like" seems like a fundamentally bad thing. Breakage is in font dictionary handling. I don't have the whole problem solved, and I need to move on to other things right now. Eric > > Ryan > ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ Matplotlib-devel mailing list Matplotlib-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-devel