Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Error when closing first of several pyplot figures in TkAgg #12703

Closed
@ImportanceOfBeingErnest

Description

@ImportanceOfBeingErnest

Bug report

Bug summary

Closing the first of two pyplot figures in TkAgg backend, throws an error.

Code for reproduction

import matplotlib
matplotlib.use("TkAgg")
import matplotlib.pyplot as plt

fig1 = plt.figure()
plt.plot([1,2], 'o')

fig2 = plt.figure()
plt.plot([2,1], 'o')

plt.close(fig1)

plt.show()

Actual outcome

in py2 (2.2.3):

Traceback (most recent call last):
  File "D:\xxx\test\closefigureserror.py", line 19, in <module>
    plt.show()
  File "c:\***\lib\site-packages\matplotlib\pyplot.py", line 253, in show
    return _show(*args, **kw)
  File "c:\***\lib\site-packages\matplotlib\backend_bases.py", line 208, in show
    cls.mainloop()
  File "c:\***\lib\site-packages\matplotlib\backends\_backend_tk.py", line 1073, in mainloop
    Tk.mainloop()
  File "c:\***\lib\lib-tk\Tkinter.py", line 414, in mainloop
    _default_root.tk.mainloop(n)
AttributeError: 'NoneType' object has no attribute 'tk'

in py3 (master):

Traceback (most recent call last):
  File "D:\xxx\test\closefigureserror.py", line 19, in <module>
    plt.show()
  File "d:\***\matplotlib\lib\matplotlib\pyplot.py", line 254, in show
    return _show(*args, **kw)
  File "d:\***\matplotlib\lib\matplotlib\backend_bases.py", line 3275, in show
    cls.mainloop()
  File "d:\***\matplotlib\lib\matplotlib\backends\_backend_tk.py", line 1040, in mainloop
    Tk.mainloop()
  File "D:\***\Miniconda3\envs\mplgit\lib\tkinter\__init__.py", line 557, in mainloop
    _default_root.tk.mainloop(n)
AttributeError: 'NoneType' object has no attribute 'tk'

The code works fine in Qt4Agg (with py2) or Qt5Agg (with py3)

Expected outcome

No error.

Matplotlib version

  • Operating system: Win 8
  • Matplotlib version: 2.2.3 / master
  • Matplotlib backend (print(matplotlib.get_backend())): TkAgg
  • Python version: 2.7 / 3.6
  • Tcl/Tk version: 8.6

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions