Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit a3ccb0a

Browse files
committed
Fix the legend handler for errorbars to work when fmt=None
1 parent c5b38d6 commit a3ccb0a

File tree

1 file changed

+18
-9
lines changed

1 file changed

+18
-9
lines changed

lib/matplotlib/legend_handler.py

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -424,10 +424,6 @@ def create_artists(self, legend, orig_handle,
424424
ydata = ((height-ydescent)/2.)*np.ones(xdata.shape, float)
425425
legline = Line2D(xdata, ydata)
426426

427-
self.update_prop(legline, plotlines, legend)
428-
legline.set_drawstyle('default')
429-
legline.set_marker('None')
430-
431427

432428
xdata_marker = np.asarray(xdata_marker)
433429
ydata_marker = np.asarray(ydata[:len(xdata_marker)])
@@ -437,11 +433,24 @@ def create_artists(self, legend, orig_handle,
437433

438434

439435
legline_marker = Line2D(xdata_marker, ydata_marker)
440-
self.update_prop(legline_marker, plotlines, legend)
441-
legline_marker.set_linestyle('None')
442-
if legend.markerscale !=1:
443-
newsz = legline_marker.get_markersize()*legend.markerscale
444-
legline_marker.set_markersize(newsz)
436+
437+
# when plotlines are None (only errorbars are drawn), we just
438+
# make legline invisible.
439+
if plotlines is None:
440+
legline.set_visible(False)
441+
legline_marker.set_visible(False)
442+
else:
443+
self.update_prop(legline, plotlines, legend)
444+
445+
legline.set_drawstyle('default')
446+
legline.set_marker('None')
447+
448+
self.update_prop(legline_marker, plotlines, legend)
449+
legline_marker.set_linestyle('None')
450+
451+
if legend.markerscale !=1:
452+
newsz = legline_marker.get_markersize()*legend.markerscale
453+
legline_marker.set_markersize(newsz)
445454

446455

447456
handle_barlinecols = []

0 commit comments

Comments
 (0)