1414from matplotlib import verbose
1515from artist import Artist
1616from cbook import iterable , is_string_like
17- from collections import RegularPolyCollection , PolyCollection
1817from colors import colorConverter
1918from patches import bbox_artist
2019from path import MOVETO , LINETO , ENDPOLY
3231 TICKDOWN :1 ,
3332 'None' :1
3433 }
35-
36-
3734
3835class Line2D (Artist ):
3936 _lineStyles = {
@@ -147,7 +144,12 @@ def __init__(self, xdata, ydata,
147144 self ._logcache = None
148145
149146 def get_window_extent (self , renderer ):
150- x , y = self ._get_numeric_clipped_data_in_range ()
147+ self ._newstyle = hasattr (renderer , 'draw_markers' )
148+ if self ._newstyle :
149+ x = self ._x
150+ y = self ._y
151+ else :
152+ x , y = self ._get_numeric_clipped_data_in_range ()
151153
152154
153155 x , y = self ._transform .numerix_x_y (x , y )
@@ -268,8 +270,8 @@ def draw(self, renderer):
268270 gc .set_clip_rectangle (self .clipbox .get_bounds ())
269271
270272
271- if self ._newstyle and self . _linestyle == 'None' :
272- # we don't need xt
273+ if self ._newstyle :
274+ # transform in backend
273275 xt = self ._x
274276 yt = self ._y
275277 else :
@@ -289,9 +291,6 @@ def draw(self, renderer):
289291 if self .get_clip_on ():
290292 gc .set_clip_rectangle (self .clipbox .get_bounds ())
291293 markerFunc = getattr (self , self ._markerFunc )
292- if self ._newstyle :
293- xt = self ._x
294- yt = self ._y
295294 markerFunc (renderer , gc , xt , yt )
296295
297296 #if 1: bbox_artist(self, renderer)
@@ -512,14 +511,22 @@ def _draw_steps(self, renderer, gc, xt, yt):
512511 yt2 [0 :- 1 :2 ], yt2 [1 ::2 ]= yt , yt
513512 gc .set_linestyle ('solid' )
514513 gc .set_capstyle ('projecting' )
515- renderer .draw_lines (gc , xt2 , yt2 )
514+
515+ if self ._newstyle :
516+ renderer .draw_lines (gc , xt2 , yt2 , self ._transform )
517+ else :
518+ renderer .draw_lines (gc , xt2 , yt2 )
516519
517520 def _draw_solid (self , renderer , gc , xt , yt ):
518521 if len (xt )< 2 : return
519522 gc .set_linestyle ('solid' )
520523 gc .set_capstyle ('projecting' )
521524
522- renderer .draw_lines (gc , xt ,yt )
525+ if self ._newstyle :
526+ renderer .draw_lines (gc , xt , yt , self ._transform )
527+ else :
528+ renderer .draw_lines (gc , xt , yt )
529+
523530
524531 def _draw_dashed (self , renderer , gc , xt , yt ):
525532 if len (xt )< 2 : return
@@ -528,14 +535,23 @@ def _draw_dashed(self, renderer, gc, xt, yt):
528535 gc .set_dashes (0 , self ._dashSeq )
529536 gc .set_capstyle ('butt' )
530537 gc .set_joinstyle ('miter' )
531- renderer .draw_lines (gc , xt , yt )
538+
539+ if self ._newstyle :
540+ renderer .draw_lines (gc , xt , yt , self ._transform )
541+ else :
542+ renderer .draw_lines (gc , xt , yt )
543+
532544
533545 def _draw_dash_dot (self , renderer , gc , xt , yt ):
534546 if len (xt )< 2 : return
535547 gc .set_linestyle ('dashdot' )
536548 gc .set_capstyle ('butt' )
537549 gc .set_joinstyle ('miter' )
538- renderer .draw_lines (gc , xt , yt )
550+ if self ._newstyle :
551+ renderer .draw_lines (gc , xt , yt , self ._transform )
552+ else :
553+ renderer .draw_lines (gc , xt , yt )
554+
539555
540556
541557 def _draw_dotted (self , renderer , gc , xt , yt ):
@@ -544,8 +560,10 @@ def _draw_dotted(self, renderer, gc, xt, yt):
544560 gc .set_linestyle ('dotted' )
545561 gc .set_capstyle ('butt' )
546562 gc .set_joinstyle ('miter' )
547- renderer .draw_lines (gc , xt , yt )
548-
563+ if self ._newstyle :
564+ renderer .draw_lines (gc , xt , yt , self ._transform )
565+ else :
566+ renderer .draw_lines (gc , xt , yt )
549567
550568 def _draw_point (self , renderer , gc , xt , yt ):
551569 if self ._newstyle :
@@ -603,17 +621,6 @@ def _draw_circle(self, renderer, gc, xt, yt):
603621 x , y , w , h , 0.0 , 360.0 )
604622
605623
606- def _draw_circle_collection (self , renderer ):
607- colors = ( colorConverter .to_rgba (self ._color , self .get_alpha ()), )
608- collection = RegularPolyCollection (
609- self .figure .dpi ,
610- numsides = 20 , rotation = 0 , sizes = (self ._markersize ,),
611- facecolors = colors ,
612- offsets = zip (self ._x , self ._y ),
613- transOffset = self ._transform ,
614- )
615- collection .draw (renderer )
616-
617624
618625 def _draw_triangle_up (self , renderer , gc , xt , yt ):
619626
@@ -631,8 +638,6 @@ def _draw_triangle_up(self, renderer, gc, xt, yt):
631638 )
632639 renderer .draw_markers (gc , path , xt , yt , self ._transform )
633640 else :
634-
635-
636641 for (x ,y ) in zip (xt , yt ):
637642 verts = ( (x , y + offset ),
638643 (x - offset , y - offset ),
0 commit comments