As you can see from the error, the dimension of your input is wrong (it needs to be transposed). Furthermore, matplotlib expects the rgb values in 0-1.
replace colormap = matplotlib.colors.ListedColormap(palette,'custom-orange') with colormap = matplotlib.colors.ListedColormap(palette.T/255.,'custom-orange') Regards, -JJ On Wed, Jun 16, 2010 at 11:13 AM, Jim Vickroy <jim.vick...@noaa.gov> wrote: > Hello, > > The attached script shows my (failed) attempt to define a custom color map > from a set of RGB values (taken from an IDL palette). > > My approach is presumably completely wrong, but I have not found information > or examples on how to do this. > > Could someone point in the right direction? > > Thanks, > > -- jv > > P.S. > When run on my workstation, the output from the attached script is: > > <output> > Python version: 2.6.4 (r264:75708, Oct 26 2009, 08:23:19) [MSC v.1500 32 > bit (Intel)] > matplotlib version: 0.99.3 > numpy version: 1.4.0 > Traceback (most recent call last): > File "custom-colormap.py", line 97, in <module> > plotter.savefig('%s.png' %colormap.name, facecolor='black', > edgecolor='black') > File "C:\Python26\lib\site-packages\matplotlib\pyplot.py", line 356, in > savefig > return fig.savefig(*args, **kwargs) > File "C:\Python26\lib\site-packages\matplotlib\figure.py", line 1032, in > savefig > self.canvas.print_figure(*args, **kwargs) > File "C:\Python26\lib\site-packages\matplotlib\backend_bases.py", line > 1476, in print_figure > **kwargs) > File "C:\Python26\lib\site-packages\matplotlib\backends\backend_agg.py", > line 358, in print_png > FigureCanvasAgg.draw(self) > File "C:\Python26\lib\site-packages\matplotlib\backends\backend_agg.py", > line 314, in draw > self.figure.draw(self.renderer) > File "C:\Python26\lib\site-packages\matplotlib\artist.py", line 46, in > draw_wrapper > draw(artist, renderer, *args, **kwargs) > File "C:\Python26\lib\site-packages\matplotlib\figure.py", line 773, in > draw > for a in self.axes: a.draw(renderer) > File "C:\Python26\lib\site-packages\matplotlib\artist.py", line 46, in > draw_wrapper > draw(artist, renderer, *args, **kwargs) > File "C:\Python26\lib\site-packages\matplotlib\axes.py", line 1701, in > draw > im.draw(renderer) > File "C:\Python26\lib\site-packages\matplotlib\artist.py", line 46, in > draw_wrapper > draw(artist, renderer, *args, **kwargs) > File "C:\Python26\lib\site-packages\matplotlib\image.py", line 237, in > draw > im = self.make_image(renderer.get_image_magnification()) > File "C:\Python26\lib\site-packages\matplotlib\image.py", line 182, in > make_image > x = self.to_rgba(self._A, self._alpha) > File "C:\Python26\lib\site-packages\matplotlib\cm.py", line 167, in > to_rgba > x = self.cmap(x, alpha=alpha, bytes=bytes) > File "C:\Python26\lib\site-packages\matplotlib\colors.py", line 489, in > __call__ > if not self._isinit: self._init() > File "C:\Python26\lib\site-packages\matplotlib\colors.py", line 720, in > _init > for c in self.colors], np.float) > File "C:\Python26\lib\site-packages\matplotlib\colors.py", line 311, in > to_rgb > raise ValueError('to_rgb: Invalid rgb arg "%s"\n%s' % (str(arg), exc)) > ValueError: to_rgb: Invalid rgb arg "(0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 2, 2, 3, > 4, 4, 5, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 22, 23, 25, > 26, 28, 29, 31, 33, 34, 36, 38, > 40, 41, 43, 45, 47, 49, 50, 53, 55, 57, 59, 61, 64, 66, 68, 70, 72, 74, 76, > 79, 82, 84, 87, 89, 91, 94, 96, 99, 101, 104, 106, 108, 110, 113, 116, 118, > 121, 124, 127, 128, 131, 134, 137 > , 138, 141, 144, 147, 149, 152, 155, 156, 160, 161, 164, 168, 169, 172, 174, > 177, 179, 182, 184, 188, 189, 191, 195, 196, 198, 202, 203, 205, 209, 211, > 212, 214, 216, 220, 222, 224, 225 > , 227, 229, 231, 233, 235, 237, 239, 241, 243, 245, 247, 249, 251, 253, 255, > 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, > 255, 255, 255, 255, 255, 255, 255 > , 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, > 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, > 255, 255, 255, 255, 255, 255, 255 > , 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, > 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, > 255, 255, 255, 255, 255, 255, 255 > , 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, > 255, 255, 255, 255, 255, 255, 255, 255)" > sequence length is 256; must be 3 or 4 > </output> > > ------------------------------------------------------------------------------ > ThinkGeek and WIRED's GeekDad team up for the Ultimate > GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the > lucky parental unit. See the prize list and enter to win: > http://p.sf.net/sfu/thinkgeek-promo > _______________________________________________ > Matplotlib-users mailing list > Matplotlib-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > ------------------------------------------------------------------------------ ThinkGeek and WIRED's GeekDad team up for the Ultimate GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the lucky parental unit. See the prize list and enter to win: http://p.sf.net/sfu/thinkgeek-promo _______________________________________________ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users