Thomas Guettler wrote: > Hi, > > this snippet works if there are more (or less) elements in the menMeans > tuple. If > there are three, it does not work since the bar command thinks the three > element tuple is a tuple of rgb values. But it is a (r, g, b) tuple. > > I think it is a bug. Should I create a ticket?
Yes it is a bug. I don't think a ticket will be needed. A quick look indicates that it will be easy to fix, so I will try to remember to do it later today. If I haven't done it within 24 hours, send me a reminder. > > I use 0.98.3 > > I helped myself by using rgb2hex. But somehow this is not a good solution. > Maybe colorConverter.to_rgb should return a subclass of tuple called > 'ColorTuple'. > This way it would be easier to distinguish between a tuple of rgb values > and a rgb color tuple. I don't think this will be necessary, and it would not really solve the problem in general. I think we already have a solution, but it is not being used in the bar() method. > > {{{ > #!/usr/bin/env python > import numpy as np > import matplotlib.pyplot as plt > import matplotlib > > cmap=matplotlib.cm.jet > menMeans = (20, 35, 30) # Does work if there are more or less then three > elements in the tuple > N=len(menMeans) > ind = np.arange(N) # the x locations for the groups > width = 0.35 # the width of the bars > plt.subplot(111) > color=matplotlib.colors.colorConverter.to_rgb(cmap(0.5)) The call to to_rgb here seems completely unnecessary; cmap returns rgba, and the color kwarg should accept that. All the to_rgb() is doing is chopping off the alpha value. Eric > rects1 = plt.bar(ind, menMeans, width, color=color) > plt.show() > }}} > > {{{ > Traceback (most recent call last): > File > "/usr/lib64/python2.5/site-packages/matplotlib/backends/backend_gtk.py", > line 333, in expose_event > self._render_figure(self._pixmap, w, h) > File > "/usr/lib64/python2.5/site-packages/matplotlib/backends/backend_gtkagg.py", > line 75, in _render_figure > FigureCanvasAgg.draw(self) > File > "/usr/lib64/python2.5/site-packages/matplotlib/backends/backend_agg.py", > line 261, in draw > self.figure.draw(self.renderer) > File "/usr/lib64/python2.5/site-packages/matplotlib/figure.py", line > 759, in draw > for a in self.axes: a.draw(renderer) > File "/usr/lib64/python2.5/site-packages/matplotlib/axes.py", line > 1523, in draw > a.draw(renderer) > File "/usr/lib64/python2.5/site-packages/matplotlib/patches.py", line > 275, in draw > rgbFace = colors.colorConverter.to_rgb(self._facecolor) > File "/usr/lib64/python2.5/site-packages/matplotlib/colors.py", line > 280, in to_rgb > raise ValueError('to_rgb: Invalid rgb arg "%s"\n%s' % (str(arg), exc)) > ValueError: to_rgb: Invalid rgb arg "0,490196078431" > }}} > ------------------------------------------------------------------------- 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-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users