@@ -348,47 +348,57 @@ def __init__(self, Q, X, Y, U, label,
348348 self ._labelsep_inches = labelsep
349349
350350 self .labelpos = labelpos
351- self .labelcolor = labelcolor
352- self .fontproperties = fontproperties or dict ()
353- self .kw = kwargs
351+ self ._kw = kwargs # Remove when kw deprecation elapses.
352+ self .vector = mcollections . PolyCollection (
353+ [], ** { ** self .Q . polykw , ** kwargs })
354354 self .text = mtext .Text (
355355 text = label ,
356356 horizontalalignment = self .halign [self .labelpos ],
357357 verticalalignment = self .valign [self .labelpos ],
358- fontproperties = self . fontproperties )
359- if self . labelcolor is not None :
360- self .text .set_color (self . labelcolor )
358+ fontproperties = fontproperties or {} )
359+ if labelcolor is not None :
360+ self .text .set_color (labelcolor )
361361 self ._dpi_at_last_init = None
362362 self .zorder = zorder if zorder is not None else Q .zorder + 0.1
363363
364+ kw = _api .deprecated ("3.11" )( # Also remove self._kw when deprecation elapses.
365+ property (lambda self : self ._kw ))
366+ fontproperties = _api .deprecated (
367+ "3.11" , alternative = "quiverkey.text.get_fontproperties()" )(
368+ property (lambda self : self .text .get_fontproperties ()))
369+ labelcolor = _api .deprecated (
370+ "3.11" , alternative = "quiverkey.text.get_color()" )(
371+ property (lambda self : self .text .get_color ()))
372+ verts = _api .deprecated (
373+ "3.11" , alternative = "[p.vertices for p in quiverkey.vector.get_paths()]" )(
374+ property (lambda self : [p .vertices for p in self .vector .get_paths ()]))
375+
364376 @property
365377 def labelsep (self ):
366378 return self ._labelsep_inches * self .Q .axes .get_figure (root = True ).dpi
367379
368380 def _init (self ):
369- if True : # self._dpi_at_last_init != self.axes.get_figure().dpi
370- if self .Q ._dpi_at_last_init != self .Q .axes .get_figure (root = True ).dpi :
371- self .Q ._init ()
372- self ._set_transform ()
373- with cbook ._setattr_cm (self .Q , pivot = self .pivot [self .labelpos ],
374- # Hack: save and restore the Umask
375- Umask = ma .nomask ):
376- u = self .U * np .cos (np .radians (self .angle ))
377- v = self .U * np .sin (np .radians (self .angle ))
378- self .verts = self .Q ._make_verts ([[0. , 0. ]],
379- np .array ([u ]), np .array ([v ]), 'uv' )
380- kwargs = self .Q .polykw
381- kwargs .update (self .kw )
382- self .vector = mcollections .PolyCollection (
383- self .verts ,
384- offsets = [(self .X , self .Y )],
385- offset_transform = self .get_transform (),
386- ** kwargs )
387- if self .color is not None :
388- self .vector .set_color (self .color )
389- self .vector .set_transform (self .Q .get_transform ())
390- self .vector .set_figure (self .get_figure ())
391- self ._dpi_at_last_init = self .Q .axes .get_figure (root = True ).dpi
381+ if False : # self._dpi_at_last_init == self.axes.get_figure().dpi
382+ return
383+ if self .Q ._dpi_at_last_init != self .Q .axes .get_figure (root = True ).dpi :
384+ self .Q ._init ()
385+ self ._set_transform ()
386+ with cbook ._setattr_cm (self .Q , pivot = self .pivot [self .labelpos ],
387+ # Hack: save and restore the Umask
388+ Umask = ma .nomask ):
389+ u = self .U * np .cos (np .radians ([self .angle ]))
390+ v = self .U * np .sin (np .radians ([self .angle ]))
391+ verts = self .Q ._make_verts ([[0. , 0. ]], u , v , 'uv' )
392+ self .vector .set (
393+ verts = verts ,
394+ offsets = [(self .X , self .Y )],
395+ offset_transform = self .get_transform (),
396+ transform = self .Q .get_transform (),
397+ figure = self .get_figure (),
398+ )
399+ if self .color is not None :
400+ self .vector .set_color (self .color )
401+ self ._dpi_at_last_init = self .Q .axes .get_figure (root = True ).dpi
392402
393403 def _text_shift (self ):
394404 return {
0 commit comments