Hi! I'm trying to loop through all the built-in colormaps, applying each to an image before printing it to a file, then moving on to the next one.
>>> from matplotlib import cm >>> for cmap in dir(cm): # cmap in cm doesn't work 'cause cm is a module >>> ax.imshow(image, cmap) >>> canvas.print_figure('image_'+cmap) works until cmap == 'LUTSIZE', which evaluates to an integer and thus raises an exception. I tried putting it in a try/except: >>> for cmap in dir(cm): >>> try: >>> ax.imshow(image, cmap) >>> canvas.print_figure('image_'+cmap) >>> except: >>> pass but despite this, after 'LUTSIZE', every cmap - even valid ones - also raises the exception, and thus doesn't get used. So I tried just by-passing cmap == 'LUTSIZE' (in the obvious way), but then encountered cmap == 'ScalarMapable', which resulted in the same subsequent behavior as 'LUTSIZE'. At that point I decided I should try a "positive filter," so I figured out that cmaps are instances of matplotlib.colors.LinearSegmentedColormap (which I imported as LSC) and tried adding an "if isinstance(cmap, LSC)", but of course that didn't work, 'cause the elements of dir(cm) are strings, not LSC's. At this point I've decided I've wasted too much time trying to figure this out on my own, so: 0) is there some "elegant" way to do what I want to do? 1) why doesn't this: >>> for cmap in dir(cm): >>> try: >>> ax.imshow(image, cmap) >>> canvas.print_figure('image_'+cmap) >>> except: >>> pass "work" (i.e., simply bypass those elements of dir(cm) which cause imshow to raise an exception, but then continue on as if nothing had happened)? Is this a bug? Thanks! DG ------------------------------------------------------------------------------ Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev _______________________________________________ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users