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):
24782478 # If an axis already exists, check if it has a polar projection
24792479 if gcf ().get_axes ():
24802480 ax = gca ()
2481- if isinstance (ax , PolarAxes ):
2482- return ax
2483- else :
2481+ if not isinstance (ax , PolarAxes ):
24842482 _api .warn_external ('Trying to create polar plot on an Axes '
24852483 '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 )
24892487
24902488
24912489# 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():
310310 assert ax_next .name == proj
311311 assert ax is not ax_next
312312 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