File tree Expand file tree Collapse file tree 2 files changed +14
-6
lines changed Expand file tree Collapse file tree 2 files changed +14
-6
lines changed Original file line number Diff line number Diff line change @@ -2478,14 +2478,12 @@ def polar(*args, **kwargs):
2478
2478
# If an axis already exists, check if it has a polar projection
2479
2479
if gcf ().get_axes ():
2480
2480
ax = gca ()
2481
- if isinstance (ax , PolarAxes ):
2482
- return ax
2483
- else :
2481
+ if not isinstance (ax , PolarAxes ):
2484
2482
_api .warn_external ('Trying to create polar plot on an Axes '
2485
2483
'that does not have a polar projection.' )
2486
- ax = axes ( projection = "polar" )
2487
- ret = ax . plot ( * args , ** kwargs )
2488
- return ret
2484
+ else :
2485
+ ax = axes ( projection = "polar" )
2486
+ return ax . plot ( * args , ** kwargs )
2489
2487
2490
2488
2491
2489
# If rcParams['backend_fallback'] is true, and an interactive backend is
Original file line number Diff line number Diff line change @@ -310,3 +310,13 @@ def test_subplot_change_projection():
310
310
assert ax_next .name == proj
311
311
assert ax is not ax_next
312
312
ax = ax_next
313
+
314
+
315
+ def test_polar_second_call ():
316
+ # the first call creates the axes with polar projection
317
+ ln1 , = plt .polar (0. , 1. , 'ro' )
318
+ assert isinstance (ln1 , mpl .lines .Line2D )
319
+ # the second call should reuse the existing axes
320
+ ln2 , = plt .polar (1.57 , .5 , 'bo' )
321
+ assert isinstance (ln2 , mpl .lines .Line2D )
322
+ assert ln1 .axes is ln2 .axes
You can’t perform that action at this time.
0 commit comments