prevent plot from showing in jupyter notebook

Perhaps just clear the axis, for example:

fig= plt.figure()
plt.plot(range(10))
fig.savefig("save_file_name.pdf")
plt.close()

will not plot the output in inline mode. I can't work out if is really clearing the data though.


To prevent any output from a jupyter notebook cell you may start the cell with

%%capture

This might be usefull in cases all other methods shown here fail.


From IPython 6.0 on, there is another option to turn the inline output off (temporarily or persistently). This has been introduced in this pull request.

You would use the "agg" backend to not show any inline output.

%matplotlib agg

It seems though that if you had activated the inline backend first, this needs to be called twice to take effect.

%matplotlib agg
%matplotlib agg

Here is how it would look in action


I was able to prevent my figures from displaying by turning interactive mode off using the function

plt.ioff()