Bug report
Bug summary
#19153 introduced some changes that had (I think) unintended consequences when passing custom kwargs to projections
Code for reproduction
Prior to #19153, the following code returned False, that is, two different axes were created:
from astropy.wcs import WCS
import matplotlib.pyplot as plt
wcs1 = WCS(naxis=3)
wcs1.wcs.ctype = ['x', 'y', 'z']
ax1 = plt.subplot(1, 1, 1, projection=wcs1, slices=('x', 'y', 1))
wcs2 = WCS(naxis=3)
wcs2.wcs.ctype = ['a', 'b', 'c']
ax2 = plt.subplot(1, 1, 1, projection=wcs2, slices=('x', 2, 'y'))
print(ax1 is ax2)
No deprecation warning or future warning was raised in this case.
Following #19153, this silently ignores the projection and slices in the second call and the print statement returns True.
I don't think #19153 was intended to start making plt.subplot return the same axes in some cases, rather I thought the goal of that PR was to remove re-use of axes in certain circumstances, so I think this is a regression/bug
Actual outcome
ax1 and ax2 are the same
Expected outcome
ax1 and ax2 should be different
Bug report
Bug summary
#19153 introduced some changes that had (I think) unintended consequences when passing custom kwargs to projections
Code for reproduction
Prior to #19153, the following code returned
False, that is, two different axes were created:No deprecation warning or future warning was raised in this case.
Following #19153, this silently ignores the projection and slices in the second call and the print statement returns
True.I don't think #19153 was intended to start making
plt.subplotreturn the same axes in some cases, rather I thought the goal of that PR was to remove re-use of axes in certain circumstances, so I think this is a regression/bugActual outcome
ax1andax2are the sameExpected outcome
ax1andax2should be different