Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

plt.savefig produces blank figure in Python

I want to save a plot as a png. The following code produces a blank figure:

import numpy as np
import matplotlib.pyplot as plt
x = np.linspace (0 , 10, 1000)
y = x**2
plt.plot(x, y)
plt.savefig('line_plot.png', dpi=100)

I am using Python 3.6 together with Anaconda and Spyder 3.2.0. How can I get a png containing the desired plot?

like image 248
yPennylane Avatar asked Sep 16 '25 19:09

yPennylane


1 Answers

Try using the Figure object directly.

fig=plt.figure()
plt.plot(x,y)
fig.savefig('line_plot.png', dpi=100)

If you are interested in a PNG use '.png' instead of '.jpg'. Depending on the GUI toolkit you may need to add fig.show() before the last line.

like image 189
v.chaplin Avatar answered Sep 18 '25 08:09

v.chaplin