Change the size of figures drawn with Matplotlib in Python

David Y.
jump to solution

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.

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:

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:

import matplotlib.pyplot as pyplt

pyplt.rcParams["figure.figsize"] = (18, 10)

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

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.

Sentry