When a script is run in Linux terminal following is true
plt.plot() followed by plt.pause(10) will show plot for 10 seconds (plt.show() not necessary)
plt.plot() NOT followed by plt.pause(10) will show [nothing / empty window for a fraction of second and closes] . plot shown only if plt.show() is used
time.sleep(5) , input("any key") do not change display behaviour
plt.show() is like plt.pause(infinite time)
plt.show(block=False) is showing nothing unless followed by plt.pause(4). It is useless