Showing posts from December, 2011

Matplotlib Errorbars Weirdness

Some time ago, I was having trouble with using error bars with a legend in matplotlib. I did some hack to fix it that time.
Today, I came across the same issue again at the scikit-learn sprint.
Obviously this time we wanted to do it right^TM.

The problem is that when doing a plot with error bars, the colors in the legend don't correspond to the colors of the lines.

The problem seems to be solved in never versions, though.

After fiddling a bit with it I found the problem:
The errorbars command actually returns a list of artists, corresponding to the lines AND the individual error bars. That seems to really confuse the legend.

You can solve the problem by doing
errorbar  = pl.errorbars(x, y, err) line = errorbar[0] legend(line, 'the line') taking the zeroth element of the tuple extracts just the line from the collection of
artists and everything works out :)