Strange color handling in bar() and barh()

# Should show orange bars, but shows white, grey, and black bars.
from matplotlib.pylab import *
figure()
t = [1,2,3]
bar(t, t, color=(1.0, 0.5, 0.0))
show()

The culprit is len(left)!=3 in bar() and barh():

        if (is_string_like(color) or
            (iterable(color) and len(color)==3 and len(left)!=3) or
            not iterable(color)):
            color = [color]*len(left)

Is this surprising behavior really what you want?

···

--
Patrik