Sentry Answers>Python>

Change the size of figures drawn with Matplotlib in Python

Change the size of figures drawn with Matplotlib in Python

David Y.

The Problem

How do I change the size of figures drawn with Matplotlib in Python?

The Solution

To set the size of a new figure on creation, you can provide the figsize keyword argument. This will be a tuple of the desired width and height in inches.

Click to Copy
myfigure = figure(figsize=(18, 10), # additional arguments... )

To set the size of a figure that’s already been created, use the set_size_inches() method. This method takes a new width and height in inches:

Click to Copy
myfigure.set_size_inches(18, 10, forward=True)

The forward=True argument will propagate the size change to any currently displayed versions of the figure.

If you only want to change the height or width of a figure, you can use set_figwidth() or set_figheight().

By default, an inch is 100 pixels in length. You can use set_dpi() to change this.

When working with a plot rather than a figure, you can use rcParams:

Click to Copy
import matplotlib.pyplot as pyplt pyplt.rcParams["figure.figsize"] = (18, 10)

Note that this will determine the size of all subsequently created plots.

  • Sentry BlogPython Performance Testing: A Comprehensive Guide (opens in a new tab)
  • Syntax.fmListen to the Syntax Podcast (opens in a new tab)
  • Sentry BlogLogging in Python: A Developer’s Guide (opens in a new tab)
  • CodecovPython - Codecov (opens in a new tab)
  • Syntax.fm logo
    Listen to the Syntax Podcast (opens in a new tab)

    Tasty treats for web developers brought to you by Sentry. Get tips and tricks from Wes Bos and Scott Tolinski.

    SEE EPISODES

Considered “not bad” by 4 million developers and more than 150,000 organizations worldwide, Sentry provides code-level observability to many of the world’s best-known companies like Disney, Peloton, Cloudflare, Eventbrite, Slack, Supercell, and Rockstar Games. Each month we process billions of exceptions from the most popular products on the internet.