Home > Backend Development > Python Tutorial > How to Save a Matplotlib Figure with Specific Pixel Dimensions?

How to Save a Matplotlib Figure with Specific Pixel Dimensions?

DDD
Release: 2024-11-04 15:53:02
Original
476 people have browsed it

How to Save a Matplotlib Figure with Specific Pixel Dimensions?

Saving a Figure with Exact Size in Pixels

While Matplotlib generally specifies figure sizes in inches and dots per inch (dpi), it is possible to save the contents of a figure to disk with an exact size in pixels.

Understanding DPI

The key to specifying pixel size is to determine the DPI of the intended display device. You can use online tools to detect your monitor's DPI.

Method

  1. Set Figure Size:

    <code class="python">fig = plt.figure(frameon=False)
    fig.set_size_inches((width / dpi, height / dpi))</code>
    Copy after login
    • Replace width and height with the desired number of pixels.
    • Divide by dpi to convert pixels to inches.
  2. Remove Axes:

    <code class="python">ax = plt.Axes(fig, [0., 0., 1., 1.])
    ax.set_axis_off()
    fig.add_axes(ax)</code>
    Copy after login
  3. Plot Image and Save:

    <code class="python">ax.imshow(im_np, aspect='normal')
    fig.savefig(some_path, dpi=dpi)</code>
    Copy after login

Example

To save a figure of size 800x800 pixels on a monitor with a DPI of 96:

<code class="python">plt.figure(frameon=False)
fig.set_size_inches((800 / 96, 800 / 96))
ax = plt.Axes(fig, [0., 0., 1., 1.])
ax.set_axis_off()
fig.add_axes(ax)
ax.imshow(im_np, aspect='normal')
fig.savefig(some_path, dpi=96)</code>
Copy after login

Resolution Control

To save the figure with a higher resolution, simply increase the dpi value when saving the figure:

<code class="python">fig.savefig(some_path, dpi=2 * dpi)  # For 2x the resolution</code>
Copy after login

Note: This method only works with certain backends, such as PNG.

The above is the detailed content of How to Save a Matplotlib Figure with Specific Pixel Dimensions?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template