I am using ubuntu. I want to close a figure shown using matplotlib after few seconds without using keyboard or mouse. I am able to close an image shown using PIL after few seconds by getting its process id and then kill it.
And i am also little bit confused among terms figure, image and picture in matplotlib.
Thank you so much in advance.
Regarding part 1. i have used plt.close(), plt.close("all") as well as 'psutil' library to fetch process ID and kill. But none of them worked. I got only solution of closing an image opened via 'PIL'.
link :- How can I close an image shown to the user with the Python Imaging Library?
Regarding part 2. Actually, at some pages, i found the terms 'figure','picture' and 'image' were used interchangeably; and at some pages they were not. I saw 'plt.imshow()' is used for image and picture and 'plt.show()' is used for figure. But, what is difference between figure, image and picture. And when to use these functions?
link :- Why plt.imshow() doesn't display the image?
        # for graphing
        import matplotlib.pyplot as plt
        import time
        # for process
        import psutil
        # importing for image processing
        from PIL import Image
        #### closing an image which was opened via PIL
        #### working perfectly
        filename = "check.jpg"       
        img = Image.open(filename)
        img.show()
        time.sleep(5)
        # for killing process such that image viewer
        for proc in psutil.process_iter():
            if proc.name() == "display":
                proc.kill()
        #### closing an image/figure which was opened via matplotlib
        #### unable to close without keyboard or mouse
        x = [[1,2,3,4],[11,22,33,44],[9,8,7,6]]
        print (x)
        plt.imshow(x)
        plt.colorbar()
        plt.title("a")
        plt.xlabel('b')
        plt.ylabel('c')
        a = plt.show()
        time.sleep(2)
                      ## not working
        plt.close()
                      ## not working
        for proc in psutil.process_iter():
            if proc.name() == "display":
                proc.kill()
                       ## not working
        plt.close("all")
i expect that my shown figure closes automatically after a few seconds, instead of any manual intervention.