Closed
Description
Closing figures is done by number
Currently, closing a figure is done using the num
attribute in the manager. This can cause problems if there are figures not managed by pyplot, as the number could be the same as a
pyplot-managed figure.
As there are efforts to reduce the dependency on pyplot, such as #14024, this should be changed for those to work well. Alternatively, a way to create a manager which selects an appropiate number could work.
Code for reproduction
import matplotlib.pyplot as plt
# Figure managed by pyplot
fig1 = plt.figure()
# Figure not managed by pyplot, but using the same backend
fig2 = fig = plt.new_figure_manager(1).canvas.figure
fig1.show()
fig2.show()
Actual outcome
Closing one figure closes both.
Expected outcome
Closing one figure leaves the other open.
Matplotlib version
- Operating system: All
- Matplotlib version: 3.0.3
- Matplotlib backend (
print(matplotlib.get_backend())
): Qt5Agg - Python version: All