@@ -118,6 +118,8 @@ def _recache(self):
118118 self ._alt_path = None
119119 self ._alt_transform = None
120120 self ._snap_threshold = None
121+ self ._joinstyle = 'round'
122+ self ._capstyle = 'butt'
121123 self ._filled = True
122124 self ._marker_function ()
123125
@@ -136,6 +138,12 @@ def set_fillstyle(self, fillstyle):
136138 self ._fillstyle = fillstyle
137139 self ._recache ()
138140
141+ def get_joinstyle (self ):
142+ return self ._joinstyle
143+
144+ def get_capstyle (self ):
145+ return self ._capstyle
146+
139147 def get_marker (self ):
140148 return self ._marker
141149
@@ -201,11 +209,14 @@ def _set_tuple_marker(self):
201209 symstyle = marker [1 ]
202210 if symstyle == 0 :
203211 self ._path = Path .unit_regular_polygon (numsides )
212+ self ._joinstyle = 'miter'
204213 elif symstyle == 1 :
205214 self ._path = Path .unit_regular_star (numsides )
215+ self ._joinstyle = 'bevel'
206216 elif symstyle == 2 :
207217 self ._path = Path .unit_regular_asterisk (numsides )
208218 self ._filled = False
219+ self ._joinstyle = 'bevel'
209220 elif symstyle == 3 :
210221 self ._path = Path .unit_circle ()
211222 self ._transform = Affine2D ().scale (0.5 ).rotate_deg (rotation )
@@ -269,8 +280,10 @@ def _set_circle(self, reduction = 1.0):
269280
270281 def _set_pixel (self ):
271282 self ._path = Path .unit_rectangle ()
272- self ._transform = Affine2D ().translate (- 0.5 , 0.5 )
283+ self ._transform = Affine2D ().translate (- 0.5 , - 0.5 ) \
284+ .scale (0.5 , 0.5 ).translate (0.5 , 0.5 )
273285 self ._snap_threshold = False
286+ self ._joinstyle = 'miter'
274287
275288 def _set_point (self ):
276289 self ._set_circle (reduction = self ._point_size_reduction )
@@ -319,6 +332,8 @@ def _set_triangle(self, rot, skip):
319332
320333 self ._alt_transform = self ._transform
321334
335+ self ._joinstyle = 'miter'
336+
322337 def _set_triangle_up (self ):
323338 return self ._set_triangle (0.0 , 0 )
324339
@@ -351,6 +366,8 @@ def _set_square(self):
351366 self ._transform .rotate_deg (rotate )
352367 self ._alt_transform = self ._transform
353368
369+ self ._joinstyle = 'miter'
370+
354371 def _set_diamond (self ):
355372 self ._transform = Affine2D ().translate (- 0.5 , - 0.5 ).rotate_deg (45 )
356373 self ._snap_threshold = 5.0
@@ -369,6 +386,8 @@ def _set_diamond(self):
369386 self ._transform .rotate_deg (rotate )
370387 self ._alt_transform = self ._transform
371388
389+ self ._joinstyle = 'miter'
390+
372391 def _set_thin_diamond (self ):
373392 self ._set_diamond ()
374393 self ._transform .scale (0.6 , 1.0 )
@@ -403,6 +422,8 @@ def _set_pentagon(self):
403422 self ._alt_path = mpath_alt
404423 self ._alt_transform = self ._transform
405424
425+ self ._joinstyle = 'miter'
426+
406427 def _set_star (self ):
407428 self ._transform = Affine2D ().scale (0.5 )
408429 self ._snap_threshold = 5.0
@@ -432,6 +453,8 @@ def _set_star(self):
432453 self ._alt_path = mpath_alt
433454 self ._alt_transform = self ._transform
434455
456+ self ._joinstyle = 'bevel'
457+
435458 def _set_hexagon1 (self ):
436459 self ._transform = Affine2D ().scale (0.5 )
437460 self ._snap_threshold = 5.0
@@ -464,6 +487,8 @@ def _set_hexagon1(self):
464487 self ._alt_path = mpath_alt
465488 self ._alt_transform = self ._transform
466489
490+ self ._joinstyle = 'miter'
491+
467492 def _set_hexagon2 (self ):
468493 self ._transform = Affine2D ().scale (0.5 ).rotate_deg (30 )
469494 self ._snap_threshold = 5.0
@@ -496,6 +521,8 @@ def _set_hexagon2(self):
496521 self ._alt_path = mpath_alt
497522 self ._alt_transform = self ._transform
498523
524+ self ._joinstyle = 'miter'
525+
499526 def _set_octagon (self ):
500527 self ._transform = Affine2D ().scale (0.5 )
501528 self ._snap_threshold = 5.0
@@ -520,6 +547,8 @@ def _set_octagon(self):
520547 self ._path = self ._alt_path = half
521548 self ._alt_transform = self ._transform .frozen ().rotate_deg (180.0 )
522549
550+ self ._joinstyle = 'miter'
551+
523552 _line_marker_path = Path ([[0.0 , - 1.0 ], [0.0 , 1.0 ]])
524553 def _set_vline (self ):
525554 self ._transform = Affine2D ().scale (0.5 )
@@ -605,24 +634,28 @@ def _set_caretdown(self):
605634 self ._snap_threshold = 3.0
606635 self ._filled = False
607636 self ._path = self ._caret_path
637+ self ._joinstyle = 'miter'
608638
609639 def _set_caretup (self ):
610640 self ._transform = Affine2D ().scale (0.5 ).rotate_deg (180 )
611641 self ._snap_threshold = 3.0
612642 self ._filled = False
613643 self ._path = self ._caret_path
644+ self ._joinstyle = 'miter'
614645
615646 def _set_caretleft (self ):
616647 self ._transform = Affine2D ().scale (0.5 ).rotate_deg (270 )
617648 self ._snap_threshold = 3.0
618649 self ._filled = False
619650 self ._path = self ._caret_path
651+ self ._joinstyle = 'miter'
620652
621653 def _set_caretright (self ):
622654 self ._transform = Affine2D ().scale (0.5 ).rotate_deg (90 )
623655 self ._snap_threshold = 3.0
624656 self ._filled = False
625657 self ._path = self ._caret_path
658+ self ._joinstyle = 'miter'
626659
627660 _x_path = Path ([[- 1.0 , - 1.0 ], [1.0 , 1.0 ],
628661 [- 1.0 , 1.0 ], [1.0 , - 1.0 ]],
0 commit comments