This is a bit of a workaround, but it should work consistently:
1. Assign the plotting function to a variable (which could also be useful if you need to access some plot elements later on)
plt.figure(figsize=(3, 3))
plot = plt.plot(range(10),
[x*x for x in range(10)],
'o-')
2. Add a "pass" at the bottom of the cell (or an equivalent operation with no consequence)
plt.figure(figsize=(3, 3))
plt.plot(range(10),
[x*x for x in range(10)],
'o-')
pass
3. Add a semicolon at the end of the last statement
plt.figure(figsize=(3, 3))
plt.plot(range(10),
[x*x for x in range(10)],
'o-');