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
[email protected]
https://lists.sourceforge.net/lists/listinfo/matplotlib-users