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
Set Figure Size:
<code class="python">fig = plt.figure(frameon=False) fig.set_size_inches((width / dpi, height / dpi))</code>
Remove Axes:
<code class="python">ax = plt.Axes(fig, [0., 0., 1., 1.]) ax.set_axis_off() fig.add_axes(ax)</code>
Plot Image and Save:
<code class="python">ax.imshow(im_np, aspect='normal') fig.savefig(some_path, dpi=dpi)</code>
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>
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>
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!