fix for "errorbar" method skipping over plot color cycle

I noticed while making some plots with upper bound error bars that
whenever Axes.errorbars is called with any of the errorbars chosen as
upper or lower bounds, that the color cycle was off, skipping over 2
colors each time another errorbar plot was made (e.g. the first would
be green and the second would be cyan instead of blue,green,red,cyan).
Looking into the axes class, it appears that if you don't specify a
color and want the markers to be drawn over the errorbars, the color
cycle has already been skipped over one because of calls to draw the
markers into the plot. The solution is to change all the lines that
say " ls='None' " in the errorbar method to instead say " ls='k' " -
this will prevent those calls from cycling the colors, and hence only
the call to actually draw the markers will do so. Can this patch be
committed to svn?

After a little testing on the subversion repository, the attached diff
seems to work.

erikerrorbarfix.diff (2.16 KB)

···

On Feb 10, 2008 12:12 AM, Erik Tollerud <erik.tollerud@...149...> wrote:

I noticed while making some plots with upper bound error bars that
whenever Axes.errorbars is called with any of the errorbars chosen as
upper or lower bounds, that the color cycle was off, skipping over 2
colors each time another errorbar plot was made (e.g. the first would
be green and the second would be cyan instead of blue,green,red,cyan).
Looking into the axes class, it appears that if you don't specify a
color and want the markers to be drawn over the errorbars, the color
cycle has already been skipped over one because of calls to draw the
markers into the plot. The solution is to change all the lines that
say " ls='None' " in the errorbar method to instead say " ls='k' " -
this will prevent those calls from cycling the colors, and hence only
the call to actually draw the markers will do so. Can this patch be
committed to svn?

--
Erik Tollerud
Graduate Student
Center For Cosmology
Department of Physics and Astronomy
4155B Frederick Reines Hall
University of California, Irvine
Office Phone: (949)824-2996
Cell: (651)307-9409
etolleru@...244...

It'd be nice to get this into the new release unless it has been
somehow fixed by some other code path in the latest svn... the line
numbers on the diff are no longer accurate, but the idea is still the
same - just change all lines of the form

caplines.extend( self.plot(leftlo, ylo,ls=None,
marker=mlines.CARETLEFT, **plot_kw) )
to
caplines.extend( self.plot(leftlo, ylo, 'k|', marker=mlines.CARETLEFT,
**plot_kw) )

e.g. change the ls=None to 'k|' and the color cycle is not
interrupted. I don't have the 1.1 numpy yet, so I haven't explicitly
tested it, but I don't see why anything would have changed...

···

On Tue, Feb 12, 2008 at 10:46 PM, Erik Tollerud <erik.tollerud@...149...> wrote:

After a little testing on the subversion repository, the attached diff
seems to work.

On Feb 10, 2008 12:12 AM, Erik Tollerud <erik.tollerud@...149...> wrote:

I noticed while making some plots with upper bound error bars that
whenever Axes.errorbars is called with any of the errorbars chosen as
upper or lower bounds, that the color cycle was off, skipping over 2
colors each time another errorbar plot was made (e.g. the first would
be green and the second would be cyan instead of blue,green,red,cyan).
Looking into the axes class, it appears that if you don't specify a
color and want the markers to be drawn over the errorbars, the color
cycle has already been skipped over one because of calls to draw the
markers into the plot. The solution is to change all the lines that
say " ls='None' " in the errorbar method to instead say " ls='k' " -
this will prevent those calls from cycling the colors, and hence only
the call to actually draw the markers will do so. Can this patch be
committed to svn?

--
Erik Tollerud
Graduate Student
Center For Cosmology
Department of Physics and Astronomy
4155B Frederick Reines Hall
University of California, Irvine
Office Phone: (949)824-2996
Cell: (651)307-9409
etolleru@...244...

--
Erik Tollerud
Graduate Student
Center For Cosmology
Department of Physics and Astronomy
2142 Frederick Reines Hall
University of California, Irvine
Office Phone: (949)824-2587
Cell: (651)307-9409
etolleru@...244...

Erik Tollerud wrote:

It'd be nice to get this into the new release unless it has been
somehow fixed by some other code path in the latest svn... the line
numbers on the diff are no longer accurate, but the idea is still the
same - just change all lines of the form

caplines.extend( self.plot(leftlo, ylo,ls=None,
marker=mlines.CARETLEFT, **plot_kw) )
to
caplines.extend( self.plot(leftlo, ylo, 'k|', marker=mlines.CARETLEFT,
**plot_kw) )

e.g. change the ls=None to 'k|' and the color cycle is not
interrupted. I don't have the 1.1 numpy yet, so I haven't explicitly
tested it, but I don't see why anything would have changed...

After a little testing on the subversion repository, the attached diff
seems to work.

I noticed while making some plots with upper bound error bars that
whenever Axes.errorbars is called with any of the errorbars chosen as
upper or lower bounds, that the color cycle was off, skipping over 2
colors each time another errorbar plot was made (e.g. the first would
be green and the second would be cyan instead of blue,green,red,cyan).
Looking into the axes class, it appears that if you don't specify a
color and want the markers to be drawn over the errorbars, the color
cycle has already been skipped over one because of calls to draw the
markers into the plot. The solution is to change all the lines that
say " ls='None' " in the errorbar method to instead say " ls='k' " -
this will prevent those calls from cycling the colors, and hence only
the call to actually draw the markers will do so. Can this patch be
committed to svn?

--
Erik Tollerud
Graduate Student
Center For Cosmology
Department of Physics and Astronomy
4155B Frederick Reines Hall
University of California, Irvine
Office Phone: (949)824-2996
Cell: (651)307-9409
etolleru@...244...

Hi Erik,

   I don't see the color cycle broken in the latest svn version (but it might be broken in the 0.91 maintenance branch).

Manuel

···

On Tue, Feb 12, 2008 at 10:46 PM, Erik Tollerud <erik.tollerud@...149...> wrote:

On Feb 10, 2008 12:12 AM, Erik Tollerud <erik.tollerud@...149...> wrote: