Pyplot .plot function generates immediate graph. plt.plot() seems to do nothing

Solution 1:

(Spyder maintainer here) What you described is the right behavior for the Inline backend, which (as you discovered) is the one you're using.

To change it and create a plot by evaluating different commands one at a time, you need an interactive backend. To set one, please go to the menu

Tools > Preferences > IPython console > Graphics

and select Automatic in the Backend section. After that, you'll be shown a dialog asking you to restart your kernels, to which you need to agree (if that's not the case, just close Spyder and restart it again).