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

Reply via email to