Maison  >  Article  >  développement back-end  >  Comment enregistrer une figure Matplotlib avec des dimensions de pixels spécifiques ?

Comment enregistrer une figure Matplotlib avec des dimensions de pixels spécifiques ?

DDD
DDDoriginal
2024-11-04 15:53:02417parcourir

How to Save a Matplotlib Figure with Specific Pixel Dimensions?

Enregistrement d'une figure avec une taille exacte en pixels

Bien que Matplotlib spécifie généralement les tailles des figures en pouces et en points par pouce (dpi), il est possible d'enregistrer le contenu d'une figure sur le disque avec une taille exacte en pixels.

Comprendre le DPI

La clé pour spécifier la taille des pixels est de déterminer le DPI du dispositif d’affichage prévu. Vous pouvez utiliser des outils en ligne pour détecter le DPI de votre moniteur.

Méthode

  1. Définir la taille de la figure :

    <code class="python">fig = plt.figure(frameon=False)
    fig.set_size_inches((width / dpi, height / dpi))</code>
    • Remplacez la largeur et la hauteur par le nombre de pixels souhaité.
    • Divisez par dpi pour convertir les pixels en pouces.
  2. Supprimer les axes :

    <code class="python">ax = plt.Axes(fig, [0., 0., 1., 1.])
    ax.set_axis_off()
    fig.add_axes(ax)</code>
  3. Tracer l'image et enregistrer :

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

Exemple

Pour enregistrer une figure de taille 800x800 pixels sur un moniteur avec un DPI de 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>

Contrôle de la résolution

Pour enregistrer la figure avec une résolution plus élevée, augmentez simplement la valeur dpi lors de l'enregistrement de la figure :

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

Remarque : Cette méthode ne fonctionne qu'avec certains backends, tels que PNG.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn