Check your Matplotlib backend:
Matplotlib can use different "backends", which are like engines that handle rendering the plot and interfacing with the operating system. You might be using a backend that does not support interactivity or displaying plots. You can set the backend to "TkAgg", for example, which is generally good for interactive use:
import matplotlib
matplotlib.use('TkAgg') # put this before importing pyplot
import matplotlib.pyplot as plt
import matplotlib.pylab as pylab
plt.plot([1,2,3,4])
plt.ylabel('some numbers')
plt.show()
Be sure to place matplotlib.use('TkAgg') before importing pyplot. Also note that this solution requires the Tkinter package to be installed in your Python environment.
Ensure interactive mode is on:
Matplotlib's interactive mode allows you to update a figure after it's been shown. If interactive mode is off, the system might just be waiting for more commands and not showing the plot. Enable interactive mode as follows:
import matplotlib.pyplot as plt
import matplotlib.pylab as pylab
plt.ion() # turn on interactive mode
plt.plot([1,2,3,4])
plt.ylabel('some numbers')
plt.show()
Try using plt .draw() or plt.pause():
Sometimes, you need to explicitly tell Matplotlib to redraw the figure, or to pause for a moment to ensure that the plot has time to display:
import matplotlib.pyplot as plt
import matplotlib.pylab as pylab
plt.plot([1,2,3,4])
plt.ylabel('some numbers')
plt.draw()
plt.pause(0.001) # pause for a short moment to allow the plot to display
Please try these solutions and see if any of them resolve your issue.