Eric Firing wrote: > John Hunter wrote: >> On Fri, Jul 18, 2008 at 4:42 PM, Andrew Straw <[EMAIL PROTECTED]> >> wrote: >> >>> If you're happy with that extra cost, I'll modify >>> axes.delete_masked_points() so that hexbin and scatter are automatically >>> filtered in this way. Given the speed complaints we sometimes get, I was >>> hesitant to add another pass through the data. > > masks.extend([~np.isfinite(x) for x in args]) > > may be the quickest and most general way to do it. I believe > ~np.isfinite is both more general and significantly faster than np.isnan.
Clever, but it won't work as-is. np.isfinite('b') returns a NotImplementedType, and a default argument to scatter is c='b', which gets passed to this function. Anyhow, I implemented your idea with a check for NotImplementedType and some unit tests in r5791. > A kwarg could be used to enable or disable this checking. Yes, but since we're grabbing *args, that would mean parsing **kwargs -- so I just implemented it without the option of disabling it. I'm happy to add this if desired. >> Happy is the wrong word -- we certainly should make these things as >> efficient as reasonable so if your optimization worked it would be >> preferable numpy passes are rarely the bottleneck but they are good >> to be aware of. We could provide some helper function in nxutils to >> do more stuff in a single pass for common use cases (eg a minmax >> function to get both the min and the max...) Yes, good idea. (In fact I wonder why numpy doesn't have minmax.) And apologies for suggesting that you might be "happy" with a (minor) slowdown -- not the best choice of words. -Andrew ------------------------------------------------------------------------- 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