Migliorare l’estetica e la fruibilità del grafico


Al blocco di codice precendente, aggiungiamo queste linee di codice, posizionandole subito prima dell’ultima linea, quindi prima di plt.show()

subplot_bgcolor = '#FAFAFA'
ax.set_facecolor(subplot_bgcolor)

ax.grid(which='major', color='#CCCCCC', linewidth=0.8)
ax.grid(which='minor', color='#DDDDDD', linestyle=':', linewidth=0.5)
ax.minorticks_on()

ax.title.set_text('Speed')

ax.set(xlabel=f"Distance (meters)")
ax.set(ylabel=f"Speed (km/h)")

Il blocco quindi avrà questo contenuto.

Ed eseguendolo nuovamente, avremo la versione modificata ed aggiornata del grafico.

Analizziamo nel dettaglio come abbiamo fatto ad effettuare le modifiche.

Colore di Sfondo del Grafico

subplot_bgcolor = '#FAFAFA'
ax.set_facecolor(subplot_bgcolor)

Scegliamo un colore da usare come sfondo del grafico; in questo caso è stato scelto un grigio chiaro, indicandone il valore in formato esadecimale ed assegnandolo alla variabile subplot_bgcolor.
Nella seconda linea quel colore è stato assegnato al grafico che mostra la serie di dati che stiamo configurando (ax).

Griglie del Grafico

ax.grid(which='major', color='#CCCCCC', linewidth=0.8)
ax.grid(which='minor', color='#DDDDDD', linestyle=':', linewidth=0.5)
ax.minorticks_on()

Per visualizzare con più facilità i diversi valori, configuriamo le griglie relative ai due assi, orizzontale e verticale:
– impostiamo la griglia con i valori principali (major) di colore grigio un po’ più scuro (#CCCCCC) e spessore un po’ maggiore (0.8)
– impostiamo la griglia con i valori secondari (minor) di colore grigio un po’ più chiaro (#DDDDDD) e spessore un po’ minore (0.5)
– forziamo la visualizzazione della griglia secondaria ax.minorthicks_on() perché di default questa non verrebbe mostrata

Titolo Specifico della Serie di Dati

ax.title.set_text('Speed')

Il titolo assegnato nelle fasi precedenti è il titolo globale del grafico che potrebbe andare bene quando si rappresenta una sola serie di dati.
Visto che noi vogliamo creare un grafico con più serie di dati (velocità, giri motore, acceleratore e via dicendo), serve assegnare un titolo a ciascuna serie di dati.
In questo caso ne abbiamo solo una ma iniziamo ad impostarla per precisione ed organizzazione.

Etichette degli Assi

ax.set(xlabel=f"Distance (meters)")
ax.set(ylabel=f"Speed (km/h)")

Indichiamo le etichette dei due assi:
– xlabel per l’asse orizzontale, dove rappresentiamo la distanza in metri dall’inizio del giro
– ylabel per l’asse verticale, dove rappresentiamo la velocità in km/h in ciascun campionamento


Nota. Se vogliamo spostare un po’ più in basso la legenda per evitare che sia quasi sovrapposta all’etichetta dell’asse orizzontale, sarà sufficiente modificare questa linea.

ax.legend(loc='lower center', bbox_to_anchor=(0.5, -0.1),)

Variando leggermente l’ultimo valore, portandolo ad esempio da -0.1 a -0.12; in questo modo la legenda verrà spostata in basso.

ax.legend(loc='lower center', bbox_to_anchor=(0.5, -0.12),)

Adesso che abbiamo inserito la nostra prima rappresentazione grafica potrebbe essere utile aggiungere un secondo grafico, sotto al primo, rappresentante un’altra serie di dati.
Avendo già la velocità potrebbe essere utile inserire le informazioni sull’utilizzo dell’acceleratore.