python logo

matplotlib save figure


Python hosting: Host, run, and code Python in the cloud!

The matplotlib library in Python is a popular tool for data visualization. It’s crucial for professionals and hobbyists alike to understand how to efficiently save their plots in various file formats. This article will guide you through the process of using the savefig function in matplotlib to achieve this.

An In-depth Look at Matplotlib’s savefig Function
With the savefig function, you can effortlessly save the current visualized data in numerous formats. This capability is pivotal when disseminating your visualizations outside interactive environments like Jupyter notebooks, or when integrating them into scientific publications.

Related Course: Data Visualization with Matplotlib and Python

Step-by-Step: Using savefig in Matplotlib
At its core, the savefig function in matplotlib offers an intuitive way to archive the current figure into a desired image file format, whether it’s PNG, PDF, or JPEG. The following snippet provides a basic illustration:

1
g.savefig('plot.png')

The resulting image format directly corresponds to the provided file extension. Hence, to produce a JPG or PDF, simply conclude the filename with .jpg or .pdf.

Fundamentals of the savefig Function
This valuable method is part of the matplotlib.pyplot module. It’s crafted to convert the contents of your rendered figure into a specified image file. The example below showcases its straightforward application:

1
2
3
4
5
import matplotlib.pyplot as plt
plt.plot([0, 1, 2, 3, 4], [0, 2, 4, 8, 16])
plt.xlabel('Months')
plt.ylabel('Movies watched')
plt.savefig('example.png')

For more intricate visualizations, you can employ the following structure:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import matplotlib
import matplotlib.pyplot as plt
import numpy as np

x = [2,4,6,8,10,12,14,16,18,20]
y = np.arange(10)

fig = plt.figure()
ax = plt.subplot(111)
ax.plot(x, y, label='$y = numbers')
plt.title('Legend inside')
plt.legend()

fig.savefig('plot.png')

Modifying the file extension lets you switch between formats seamlessly:

1
fig.savefig('plot.pdf')

Dive Deeper: Advanced savefig Capabilities
Matplotlib doesn’t stop at the basics. It provides a suite of advanced settings for the savefig function, refining the quality and flexibility of your exported visualizations. Here’s a detailed overview:

1
savefig(filename, dpi=None, format='png', bbox_inches='tight', pad_inches=0.2)

Tailoring Your Outputs: Various File Formats Explained
Depending on your requirements, you might opt to archive your plots in distinct file formats:

PDF: For print-ready, high-definition visuals, employ the PDF format:

1
plt.savefig('line_plot.pdf')

SVG: When clarity matters and you need vector graphics that scale without distortion, SVG is the go-to:

1
plt.savefig('line_plot.svg')

JPEG: In situations where conserving storage is paramount, opt for the JPEG format with customized quality settings:

1
plt.savefig('line_plot.jpg', dpi=300, quality=80, optimize=True, progressive=True)

As a rule of thumb, if you’re aiming for impeccable quality, lean towards vector formats like SVG or PDF. On the other hand, for rapid dissemination or online display, PNG or JPEG formats can be optimal.

Craving more insights? Access an array of examples for download here.
Continue your learning journey: Back to Previous Topic | Proceed to Next Topic






Leave a Reply: