Comment tracer et enregistrer un graphique en haute résolution dans Matplotlib

Suraj Joshi 30 janvier 2023
  1. Graphique de tracé en haute résolution dans Matplotlib
  2. Enregistrer la figure en haute résolution dans Matplotlib
Comment tracer et enregistrer un graphique en haute résolution dans Matplotlib

Pour enregistrer un graphe en haute résolution dans Matplotlib, nous contrôlons différents paramètres de la fonction savefig(). De même, nous pouvons tracer des graphiques en haute résolution en définissant une valeur élevée du paramètre dpi dans la fonction figure().

Graphique de tracé en haute résolution dans Matplotlib

Nous pouvons tracer des figures en haute résolution en définissant des valeurs élevées de dpi dans la fonction matplotlib.pyplot.figure().

Syntaxe de matplotlib.pyplot.figure():

matplotlib.pyplot.figure(num=None, 
                         figsize=None, 
                         dpi=None, 
                         facecolor=None, 
                         edgecolor=None, 
                         frameon=True, 
                         FigureClass=<class 'matplotlib.figure.Figure'>,
                         **kwargs)

dpi signifie points par pouce. Il représente le nombre de pixels par pouce sur la figure. La valeur par défaut de dpi dans la fonction matplotlib.pyplot.figure() est 100. Nous pouvons définir des valeurs plus élevées de dpi pour générer des tracés haute résolution. Cependant, l’augmentation de dpi agrandira également la figure et nous devons régler la valeur appropriée de dpi afin que la figure ne soit pas écrêtée.

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(0, 20)
m = 1.5
c = 2
y = m * x + c

plt.figure(dpi=150)
plt.plot(x, y)
plt.title("y=mx+c")
plt.xlabel("x-axis")
plt.ylabel("y-axis")

plt.show()

Production:

Tracer avec une haute résolution

Enregistrer la figure en haute résolution dans Matplotlib

Nous pouvons tracer des chiffres en haute résolution en définissant des valeurs élevées de dpi dans la fonction matplotlib.pyplot.savefig().

Syntaxe de matplotlib.pyplot.savefig():

matplotlib.pyplot.savefig(fname, 
                          dpi=None,
                          facecolor='w',
                          edgecolor='w',
                          orientation='portrait',
                          papertype=None, 
                          format=None,
                          transparent=False,
                          bbox_inches=None, 
                          pad_inches=0.1,
                          frameon=None, 
                          metadata=None)

Nous pouvons contrôler la résolution de la figure enregistrée via le paramètre dpi dans la fonction savefig(). De même, nous pouvons également varier les formats lors de l’enregistrement du tracé. Généralement, pngs est meilleur que jpeg pour les tracés haute résolution car png est un format de compression sans perte et l’autre étant un format de compression avec perte.

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(0, 5)
m = 1.5
c = 2
y = m * x + c

plt.plot(x, y)
plt.title("y=mx+c")
plt.xlabel("x-axis")
plt.ylabel("y-axis")
plt.savefig("High resoltion.png", dpi=300)

Cela enregistre le tracé en tant que High resoltion.png dans le répertoire de travail actuel avec une résolution plus élevée que le cas par défaut.

Auteur: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn