@@ -71,7 +71,7 @@ def __init__(self,
71
71
self ._hatch = hatch
72
72
self ._combined_transform = transforms .IdentityTransform ()
73
73
self .fill = fill
74
-
74
+
75
75
if len (kwargs ): artist .setp (self , ** kwargs )
76
76
__init__ .__doc__ = cbook .dedent (__init__ .__doc__ ) % artist .kwdocd
77
77
@@ -105,7 +105,7 @@ def update_from(self, other):
105
105
106
106
def get_extents (self ):
107
107
return self .get_path ().get_extents (self .get_transform ())
108
-
108
+
109
109
def get_transform (self ):
110
110
return self ._combined_transform
111
111
@@ -116,10 +116,10 @@ def set_transform(self, t):
116
116
117
117
def get_data_transform (self ):
118
118
return artist .Artist .get_transform (self )
119
-
119
+
120
120
def get_patch_transform (self ):
121
121
return transforms .IdentityTransform ()
122
-
122
+
123
123
def get_antialiased (self ):
124
124
return self ._antialiased
125
125
@@ -155,7 +155,7 @@ def set_facecolor(self, color):
155
155
ACCEPTS: any matplotlib color
156
156
"""
157
157
self ._facecolor = color
158
-
158
+
159
159
def set_linewidth (self , w ):
160
160
"""
161
161
Set the patch linewidth in points
@@ -212,7 +212,7 @@ def draw(self, renderer):
212
212
213
213
if cbook .is_string_like (self ._edgecolor ) and self ._edgecolor .lower ()== 'none' :
214
214
gc .set_linewidth (0 )
215
- else :
215
+ else :
216
216
gc .set_foreground (self ._edgecolor )
217
217
gc .set_linewidth (self ._linewidth )
218
218
@@ -226,15 +226,15 @@ def draw(self, renderer):
226
226
rgbFace = None
227
227
else :
228
228
rgbFace = colors .colorConverter .to_rgb (self ._facecolor )
229
-
229
+
230
230
if self ._hatch :
231
231
gc .set_hatch (self ._hatch )
232
232
233
233
path = self .get_path ()
234
234
transform = self .get_transform ()
235
235
tpath = transform .transform_path_non_affine (path )
236
236
affine = transform .get_affine ()
237
-
237
+
238
238
renderer .draw_path (gc , tpath , affine , rgbFace )
239
239
240
240
#renderer.close_group('patch')
@@ -322,25 +322,25 @@ def _update(self):
322
322
323
323
def _update_transform (self ):
324
324
self ._shadow_transform = transforms .Affine2D ().translate (self ._ox , self ._oy )
325
-
325
+
326
326
def _get_ox (self ):
327
327
return self ._ox
328
328
def _set_ox (self , ox ):
329
329
self ._ox = ox
330
330
self ._update_transform ()
331
-
331
+
332
332
def _get_oy (self ):
333
333
return self ._oy
334
334
def _set_oy (self , oy ):
335
335
self ._oy = oy
336
336
self ._update_transform ()
337
-
337
+
338
338
def get_path (self ):
339
339
return self .patch .get_path ()
340
340
341
341
def get_patch_transform (self ):
342
- return self ._shadow_transform
343
-
342
+ return self .patch . get_patch_transform () + self . _shadow_transform
343
+
344
344
class Rectangle (Patch ):
345
345
"""
346
346
Draw a rectangle with lower left at xy=(x,y) with specified
@@ -385,7 +385,7 @@ def contains(self, mouseevent):
385
385
x , y = self .get_transform ().inverted ().transform_point (
386
386
(mouseevent .x , mouseevent .y ))
387
387
return (x >= 0.0 and x <= 1.0 and y >= 0.0 and y <= 1.0 ), {}
388
-
388
+
389
389
def get_x (self ):
390
390
"Return the left coord of the rectangle"
391
391
return self ._bbox .x0
@@ -480,9 +480,9 @@ def __init__(self, xy, numVertices, radius=5, orientation=0,
480
480
self ._path = Path .unit_regular_polygon (numVertices )
481
481
self ._poly_transform = transforms .Affine2D ()
482
482
self ._update_transform ()
483
-
483
+
484
484
Patch .__init__ (self , ** kwargs )
485
-
485
+
486
486
__init__ .__doc__ = cbook .dedent (__init__ .__doc__ ) % artist .kwdocd
487
487
488
488
def _update_transform (self ):
@@ -504,7 +504,7 @@ def _set_orientation(self, xy):
504
504
self ._orientation = xy
505
505
self ._update_transform ()
506
506
orientation = property (_get_orientation , _set_orientation )
507
-
507
+
508
508
def _get_radius (self ):
509
509
return self ._radius
510
510
def _set_radius (self , xy ):
@@ -518,13 +518,13 @@ def _set_numvertices(self, numVertices):
518
518
self ._numVertices = numVertices
519
519
self ._path = Path .unit_regular_polygon (numVertices )
520
520
numvertices = property (_get_numvertices , _set_numvertices )
521
-
521
+
522
522
def get_path (self ):
523
523
return self ._path
524
524
525
525
def get_patch_transform (self ):
526
526
return self ._poly_transform
527
-
527
+
528
528
class PathPatch (Patch ):
529
529
"""
530
530
A general polycurve path patch.
@@ -535,7 +535,7 @@ def __str__(self):
535
535
def __init__ (self , path , ** kwargs ):
536
536
"""
537
537
path is a Path object
538
-
538
+
539
539
Valid kwargs are:
540
540
%(Patch)s
541
541
See Patch documentation for additional kwargs
@@ -574,7 +574,7 @@ def _get_xy(self):
574
574
def _set_xy (self , vertices ):
575
575
self ._path = Path (vertices )
576
576
xy = property (_get_xy , _set_xy )
577
-
577
+
578
578
class Wedge (Patch ):
579
579
def __str__ (self ):
580
580
return "Wedge(%g,%g)" % self .xy [0 ]
@@ -612,7 +612,7 @@ def __str__(self):
612
612
[ 0.8 , - 0.1 ], [ 0.8 , - 0.3 ],
613
613
[ 1.0 , 0.0 ], [ 0.8 , 0.3 ],
614
614
[ 0.8 , 0.1 ], [ 0.0 , 0.1 ] ] )
615
-
615
+
616
616
def __init__ ( self , x , y , dx , dy , width = 1.0 , ** kwargs ):
617
617
"""Draws an arrow, starting at (x,y), direction and length
618
618
given by (dx,dy) the width of the arrow is scaled by width
@@ -636,7 +636,7 @@ def get_path(self):
636
636
637
637
def get_patch_transform (self ):
638
638
return self ._patch_transform
639
-
639
+
640
640
class FancyArrow (Polygon ):
641
641
"""Like Arrow, but lets you set head width and head height independently."""
642
642
@@ -744,7 +744,7 @@ def __init__(self, dpi, xytip, xybase, width=4, frac=0.1, headwidth=12, **kwargs
744
744
def get_path (self ):
745
745
# Since this is dpi dependent, we need to recompute the path
746
746
# every time.
747
-
747
+
748
748
# the base vertices
749
749
x1 , y1 = self .xytip
750
750
x2 , y2 = self .xybase
@@ -767,7 +767,7 @@ def get_path(self):
767
767
768
768
def get_patch_transform (self ):
769
769
return transforms .IdentityTransform ()
770
-
770
+
771
771
def getpoints (self , x1 ,y1 ,x2 ,y2 , k ):
772
772
"""
773
773
for line segment defined by x1,y1 and x2,y2, return the points on
@@ -845,7 +845,7 @@ def _recompute_transform(self):
845
845
.scale (self ._width * 0.5 , self ._height * 0.5 ) \
846
846
.rotate_deg (self ._angle ) \
847
847
.translate (* self ._center )
848
-
848
+
849
849
def get_path (self ):
850
850
"""
851
851
Return the vertices of the rectangle
@@ -854,12 +854,12 @@ def get_path(self):
854
854
855
855
def get_patch_transform (self ):
856
856
return self ._patch_transform
857
-
857
+
858
858
def contains (self ,ev ):
859
859
if ev .x is None or ev .y is None : return False ,{}
860
860
x , y = self .get_transform ().inverted ().transform_point ((ev .x , ev .y ))
861
861
return (x * x + y * y ) <= 1.0 , {}
862
-
862
+
863
863
def _get_center (self ):
864
864
return self ._center
865
865
def _set_center (self , center ):
@@ -880,8 +880,8 @@ def _set_angle(self, angle):
880
880
self ._angle = angle
881
881
self ._recompute_transform ()
882
882
angle = property (_get_angle , _set_angle )
883
-
884
-
883
+
884
+
885
885
class Circle (Ellipse ):
886
886
"""
887
887
A circle patch
0 commit comments