Traccia e salva un grafico in alta risoluzione in Matplotlib

Suraj Joshi 12 aprile 2021
  1. Traccia grafico in alta risoluzione in Matplotlib
  2. Salva la figura in alta risoluzione in Matplotlib
Traccia e salva un grafico in alta risoluzione in Matplotlib

Per salvare un grafico in alta risoluzione in Matplotlib, controlliamo vari parametri della funzione savefig(). Allo stesso modo, possiamo tracciare grafici in alta risoluzione impostando un valore alto del parametro dpi nella funzione figure().

Traccia grafico in alta risoluzione in Matplotlib

Possiamo tracciare figure ad alta risoluzione impostando valori alti di dpi nella funzione matplotlib.pyplot.figure().

Sintassi di 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 sta per punti per pollice. Rappresenta il numero di pixel per pollice nella figura. Il valore predefinito per dpi nella funzione matplotlib.pyplot.figure()è 100. Possiamo impostare valori più alti di dpi per generare grafici ad alta risoluzione. Tuttavia, l’aumento di dpi ingrandirà anche la figura e dobbiamo regolare il valore appropriato di dpi in modo che la figura non venga ritagliata.

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()

Produzione:

Stampa ad alta risoluzione

Salva la figura in alta risoluzione in Matplotlib

Possiamo tracciare figure ad alta risoluzione impostando valori alti di dpi nella funzione matplotlib.pyplot.savefig().

Sintassi di 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)

Possiamo controllare la risoluzione della figura salvata tramite il parametro dpi nella funzione savefig(). Allo stesso modo, possiamo anche variare i formati salvando la trama. Generalmente, pngs è migliore di jpeg per i grafici ad alta risoluzione poiché png è un formato di compressione senza perdita e l’altro è un formato di compressione con perdita.

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)

Questo salva il grafico come High resoltion.png nella directory di lavoro corrente con una risoluzione maggiore rispetto al caso predefinito.

Autore: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

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

LinkedIn