Personalizzazione degli Assi
Personalizzazione dei Ticks
Per regolare i ticks su un grafico, utilizza le funzioni del modulo pyplot
:
xticks
per personalizzare l'asse x;yticks
per personalizzare l'asse y.
Entrambe le funzioni seguono la stessa sintassi e hanno due parametri principali:
ticks
definisce le posizioni in cui devono apparire i ticks. Puoi utilizzare qualsiasi struttura simile ad un array. Per rimuovere completamente i ticks, passa una lista vuota;labels
assegna un testo personalizzato a ciascuna posizione dei tick. Questo parametro deve essere utilizzato insieme aticks
.
Puoi anche includere argomenti aggiuntivi per personalizzare lo stile delle etichette e controllarne l'aspetto.
Di seguito è riportato uno dei grafici creati recentemente:
Tutto sembra abbastanza corretto in questo grafico, tuttavia sarebbe meglio avere più anni sull'asse x in questo intervallo (1995-2020). Utilizziamo xticks()
a questo scopo:
import pandas as pd import matplotlib.pyplot as plt # Loading the dataset with the average yearly temperatures in Boston and Seattle url = 'https://staging-content-media-cdn.codefinity.com/courses/47339f29-4722-4e72-a0d4-6112c70ff738/weather_data.csv' weather_df = pd.read_csv(url, index_col=0) # Plotting the data plt.plot(weather_df['Boston'], label='Boston') plt.plot(weather_df['Seattle'], label='Seattle') # Adding a title and legend plt.title('Boston and Seattle average yearly temperatures') plt.legend(loc='upper left') # Setting the x-ticks coordinates and their rotation plt.xticks(range(1995, 2021, 2), rotation=30) # Displaying the plot plt.show()
Ora ogni secondo anno appare sull'asse x. Questo è stato ottenuto utilizzando la funzione range()
con un passo di 2
per l'argomento ticks
.
Inoltre, le etichette dei tick sono state ruotate di 30 gradi in senso antiorario utilizzando la parola chiave rotation
per una migliore leggibilità.
Le etichette dei tick possono anche essere specificate manualmente passando una lista all'argomento labels
(ad esempio, labels = ['label1', 'label2']
).
Personalizzazione delle etichette degli assi
È possibile utilizzare le funzioni xlabel()
e ylabel()
dal modulo pyplot
per impostare le etichette dell'asse x e dell'asse y. Queste funzioni richiedono solo un parametro: l'etichetta stessa (una string
).
import pandas as pd import matplotlib.pyplot as plt url = 'https://content-media-cdn.codefinity.com/courses/47339f29-4722-4e72-a0d4-6112c70ff738/weather_data.csv' weather_df = pd.read_csv(url, index_col=0) # Plotting the data plt.plot(weather_df['Boston'], label='Boston') plt.plot(weather_df['Seattle'], label='Seattle') # Adding title, legend, and labels plt.title('Boston and Seattle average yearly temperatures') plt.legend(loc='upper left') plt.xticks(range(1995, 2021, 2), rotation=30) plt.ylabel('Temperature, °F') # Displaying the plot plt.show()
È inoltre possibile modificare l'aspetto dell'etichetta, ad esempio impostare la dimensione del carattere tramite l'argomento fontsize
oppure il colore tramite l'argomento color
.
Inoltre, è presente il parametro loc
che specifica la posizione dell'etichetta (predefinita su center
).
Per l'etichetta dell'asse x sono possibili i valori
'left'
,'center'
e'right'
;Per l'asse y, invece di
'left'
e'right'
, sono disponibili'top'
e'bottom'
.
Swipe to start coding
- Utilizzare la funzione corretta per impostare
data_linear
come tick dell'asse x. - Utilizzare la funzione corretta per impostare
'x'
come etichetta dell'asse x. - Utilizzare
'right'
come posizione per l'etichetta dell'asse x. - Utilizzare la funzione corretta per impostare
'y'
come etichetta dell'asse y. - Utilizzare
'top'
come posizione per l'etichetta dell'asse y. - Impostare il parametro
rotation
a0
per l'etichetta dell'asse y.
Soluzione
Grazie per i tuoi commenti!