0 votes
1 view
in Python by (47.8k points)

I was trying to write a quick-and-dirty script to generate plots easily. For that, I was using the following code (I took it from the Matplotlib documentation):

from pylab import figure, axes, pie, title, show 

# Make a square figure and axes 

figure(1, figsize=(6, 6)) 

ax = axes([0.1, 0.1, 0.8, 0.8])

labels = 'Frogs', 'Hogs', 'Dogs', 'Logs'

fracs = [15, 30, 45, 10]

explode = (0, 0.05, 0, 0) 

pie(fracs, explode=explode, labels=labels, autopct='%1.1f%%', shadow=True) 

title('Raining Hogs and Dogs', bbox={'facecolor': '0.8', 'pad': 5}) 


# Actually, don't show, just save to foo.png

But I don't want to display the plot on a GUI, instead, I want to save the plot to a file (say foo.png), so that, for example, it can be used in batch scripts. How do I do that?

2 Answers

0 votes
by (107k points)

When you are using Save plot you can use specify .savefig() as an extension to the file:-

from matplotlib import pyplot as plt



The use of  .savefig() Will give a rasterized or vectorized output respectively, both which could be useful.

0 votes
by (105k points)

You can also refer to the below link as with the help of the below code, you can able to reopen the image whenever you want:

import matplotlib.pyplot as plt

fig, ax = plt.subplots( nrows=1, ncols=1 )  # create figure & 1 axis

ax.plot([0,1,2], [10,20,3])

fig.savefig('path/to/save/image/to.png')   # save the figure to file

plt.close(fig)    # close the figure window

For more information regarding the same, do refer to the Python certification course. 

Related questions

0 votes
1 answer
0 votes
1 answer
asked Oct 9, 2019 in Python by Sammy (47.8k points)
0 votes
1 answer
asked Jul 31, 2019 in Data Science by sourav (17.6k points)
Welcome to Intellipaat Community. Get your technical queries answered by top developers !