8000 Fix clear of Axes that are shared. · matplotlib/matplotlib@c222998 · GitHub
[go: up one dir, main page]

Skip to content

Commit c222998

Browse files
committed
Fix clear of Axes that are shared.
This reverts a portion of a15bc47, which cleared information that was only known by Subplots or GridSpec at initialization time, and stored on the ticks. Probably the storage of this information and initialization needs to be thoroughly reviewed so that it is stored in the right place. Fixes #20721.
1 parent a0d2e39 commit c222998

File tree

2 files changed

+22
-2
lines changed

2 files changed

+22
-2
lines changed

lib/matplotlib/axis.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -806,8 +806,13 @@ def clear(self):
806806
# Clear the callback registry for this axis, or it may "leak"
807807
self.callbacks = cbook.CallbackRegistry()
808808

809-
self._reset_major_tick_kw()
810-
self._reset_minor_tick_kw()
809+
# whether the grids are on
810+
self._major_tick_kw['gridOn'] = (
811+
mpl.rcParams['axes.grid'] and
812+
mpl.rcParams['axes.grid.which'] in ('both', 'major'))
813+
self._minor_tick_kw['gridOn'] = (
814+
mpl.rcParams['axes.grid'] and
815+
mpl.rcParams['axes.grid.which'] in ('both', 'minor'))
811816
self.reset_ticks()
812817

813818
self.converter = None

lib/matplotlib/tests/test_axes.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6961,6 +6961,21 @@ def test_2dcolor_plot(fig_test, fig_ref):
69616961
axs[4].bar(np.arange(10), np.arange(10), color=color.reshape((1, -1)))
69626962

69636963

6964+
@check_figures_equal(extensions=['png'])
6965+
def test_shared_axes_clear(fig_test, fig_ref):
6966+
x = np.arange(0.0, 2*np.pi, 0.01)
6967+
y = np.sin(x)
6968+
6969+
axs = fig_ref.subplots(2, 2, sharex=True, sharey=True)
6970+
for ax in axs.flat:
6971+
ax.plot(x, y)
6972+
6973+
axs = fig_test.subplots(2, 2, sharex=True, sharey=True)
6974+
for ax in axs.flat:
6975+
ax.clear()
6976+
ax.plot(x, y)
6977+
6978+
69646979
def test_shared_axes_retick():
69656980
fig, axs = plt.subplots(2, 2, sharex='all', sharey='all')
69666981

0 commit comments

Comments
 (0)
0