MCPcopy Index your code
hub / github.com/matplotlib/matplotlib / create_artists

Method create_artists

lib/matplotlib/legend_handler.py:543–625  ·  view source on GitHub ↗
(self, legend, orig_handle,
                       xdescent, ydescent, width, height, fontsize,
                       trans)

Source from the content-addressed store, hash-verified

541 return xerr_size, yerr_size
542
543 def create_artists(self, legend, orig_handle,
544 xdescent, ydescent, width, height, fontsize,
545 trans):
546 # docstring inherited
547 plotlines, caplines, barlinecols = orig_handle
548
549 xdata, xdata_marker = self.get_xdata(legend, xdescent, ydescent,
550 width, height, fontsize)
551
552 ydata = np.full_like(xdata, (height - ydescent) / 2)
553 legline = Line2D(xdata, ydata)
554
555 xdata_marker = np.asarray(xdata_marker)
556 ydata_marker = np.asarray(ydata[:len(xdata_marker)])
557
558 xerr_size, yerr_size = self.get_err_size(legend, xdescent, ydescent,
559 width, height, fontsize)
560
561 legline_marker = Line2D(xdata_marker, ydata_marker)
562
563 # when plotlines are None (only errorbars are drawn), we just
564 # make legline invisible.
565 if plotlines is None:
566 legline.set_visible(False)
567 legline_marker.set_visible(False)
568 else:
569 self.update_prop(legline, plotlines, legend)
570
571 legline.set_drawstyle('default')
572 legline.set_marker('none')
573
574 self.update_prop(legline_marker, plotlines, legend)
575 legline_marker.set_linestyle('None')
576
577 if legend.markerscale != 1:
578 newsz = legline_marker.get_markersize() * legend.markerscale
579 legline_marker.set_markersize(newsz)
580
581 handle_barlinecols = []
582 handle_caplines = []
583
584 if orig_handle.has_xerr:
585 verts = [((x - xerr_size, y), (x + xerr_size, y))
586 for x, y in zip(xdata_marker, ydata_marker)]
587 coll = mcoll.LineCollection(verts)
588 self.update_prop(coll, barlinecols[0], legend)
589 handle_barlinecols.append(coll)
590
591 if caplines:
592 capline_left = Line2D(xdata_marker - xerr_size, ydata_marker)
593 capline_right = Line2D(xdata_marker + xerr_size, ydata_marker)
594 self.update_prop(capline_left, caplines[0], legend)
595 self.update_prop(capline_right, caplines[0], legend)
596 capline_left.set_marker("|")
597 capline_right.set_marker("|")
598
599 handle_caplines.append(capline_left)
600 handle_caplines.append(capline_right)

Callers

nothing calls this directly

Calls 11

get_err_sizeMethod · 0.95
set_drawstyleMethod · 0.95
set_markerMethod · 0.95
set_linestyleMethod · 0.95
get_markersizeMethod · 0.95
set_markersizeMethod · 0.95
Line2DClass · 0.90
get_xdataMethod · 0.45
set_visibleMethod · 0.45
update_propMethod · 0.45
set_transformMethod · 0.45

Tested by

no test coverage detected