Come utilizzare le etichette in matplotlib

Come utilizzare le etichette in matplotlib
Vedremo metodi diversi per etichettare il grafico Matplotlib. Le etichette forniranno informazioni complete sul grafico e sono facili da capire dall'altra persona.

Quindi, in questo articolo vedremo dettagli sui seguenti argomenti:

  1. Aggiunta di testo sul grafico
  2. Aggiunta di etichette ai grafici matplotlib
  3. Annotazione di testo (matplotlib.Pyplot.annotato ()) per il grafico della linea
  4. Annotazione di testo (matplotlib.Pyplot.annotare ()) per il grafico a barre
  5. Annotazione di testo (matplotlib.Pyplot.annotare ()) per il grafico del diagramma a dispersione
  6. Funzione leggenda

1. Aggiunta di testo sul grafico

Possiamo anche aggiungere testo sul grafico in modo da non dover indicare informazioni importanti mentre presentiamo qualcosa. Se includiamo il testo su dati particolari, questo sembrerà anche più professionale o informativo.

La sintassi è:

# AddingTextOngraph.Py
Importa matplotlib.Pyplot come Plt
Importa Numpy come NP
Plt.clf ()
# usando alcuni dati fittizi per questo esempio
x_value = np.Arange (0,15,1)
print ("x_value", x_value)
y_value = np.casuale.normale (loc = 2.0, scala = 0.9, dimensione = 15)
print ("y_value", y_value)
Plt.Plot (x_value, y_value)
# il testo predefinito verrà allineato a sinistra
Plt.testo (1,3, 'Questo testo inizia a x = 1 e y = 3')
# Questo testo sarà allineato a destra
Plt.Testo (6,2, 'Questo testo termina a x = 6 e y = 2', orizzontalalignment = 'a destra')
Plt.spettacolo()

Riga da 2 a 3: Importiamo tutti i pacchetti necessari per questo programma.

Riga 5: Chiamiamo il metodo clf (). Questa funzione aiuta a disegnare qualcosa sul grafico precedente stesso. Non chiuderà la finestra del grafico in modo che due elementi diversi che possiamo disegnare sullo stesso grafico.

Riga da 7 a 11: Abbiamo appena creato alcuni valori casuali per X_Values ​​e Y_Values.

Riga 12: Passiamo quelli creati valori X e Y casuali nella funzione della trama per disegnare il grafico.

Riga da 15 a 20: Il nostro grafico è ora pronto e deve aggiungere un po 'di testo. Quindi aggiungiamo prima il testo, che inizia da x = 1, y = 3 (1, 3). Per impostazione predefinita, il testo verrà allineato a sinistra in modo che il testo sopra inizi dal punto (1, 3).

Nella riga successiva, aggiungiamo un altro testo il cui punto di partenza è x = 6 e y = 2. Ma questa volta, abbiamo menzionato il loro orizzontalalignment = "a destra", quindi l'endpoint del testo è (6, 2).

Produzione: Python AggiungiTextOngraph.Py

X_Value [0 1 2 3 4 5 6 7 8 9 10 11 12 13 14]
y_value [1.70365904 3.73967715 1.11413564 2.82135022 2.87735691 1.98391073
1.75867938 3.01109059 2.6281119 1.89008119 1.58300606 1.3142607
1.01428062 0.84672494 0.07056874]

2. Aggiunta di etichette ai grafici matplotlib

In questo esempio, aggiungeremo i nomi delle etichette sul grafico. Nell'esempio precedente, se vediamo il grafico, è difficile capire cosa sta cercando di dire il grafico perché non ci sono informazioni sui dati dell'asse X o dell'asse Y. E non siamo inoltre in grado di vedere dove risiedono i dati effettivi nella trama. Quindi, aggiungeremo marcatori per vedere i punti dati sulla trama insieme alle etichette.

# addlabels.Py
# Importa la libreria richiesta
Importa matplotlib.Pyplot come Plt
Dati # x e y
NumberOFemp = [13, 200, 250, 300, 350, 400]
Anno = [2011, 2012, 2013, 2014, 2015, 2016]
# Traccia un grafico a righe
Plt.Trama (anno, NumberOFemp, marker = "O")
# Imposta il nome dell'etichetta del titolo dell'Asse X
Plt.xlabel ("anno")
# Imposta il nome dell'etichetta del titolo dell'Asse X
Plt.Ylabel ("Numero di dipendenti")
# imposta il nome del grafico dell'etichetta
Plt.Titolo ("Numero di dipendente V/S Year Growth")
Plt.spettacolo()

Riga da 4 a 8: Importiamo la libreria richiesta e creiamo due elenchi per xey. L'elenco Numberoftemp rappresenta l'asse x e l'anno dell'elenco rappresenta l'asse y.

Riga 11: Passiamo quei parametri X e Y alla funzione della trama e aggiungiamo un altro parametro nel marcatore della funzione della trama. Il marcatore verrà utilizzato per visualizzare i punti dati sul grafico. C'è un certo numero di marcatori disponibili per il supporto.

Riga 13 a 19: Abbiamo impostato i nomi delle etichette lungo l'asse X, l'asse Y e il nome del titolo del grafico.

Produzione: Python Addlabels.Py

3. Annotazione di testo (matplotlib.Pyplot.annotato ()) per il grafico della linea

L'annotazione del testo è un'altra funzione nel matplotlib che aiuta ad annotare i punti dati.

# DataPoints_labels_on_line_graph.Py
# Importa i pacchetti richiesti
Importa matplotlib.Pyplot come Plt
Importa Numpy come NP
# Importa il metodo Clf () per disegnare un altro grafico sulla stessa finestra del grafico
Plt.clf ()
# set di dati fittizio da Numpy
X_Values ​​= np.Arange (0,10,1)
Y_Values ​​= np.casuale.normale (loc = 2, scala = 0.2, dimensione = 10)
Plt.Plot (x_values, y_values, marker = 'd', mfc = 'green', mec = 'giallo', ms = '7')
#Joins i valori x e y
per x, y in zip (x_values, y_values):
etichetta = ":.3f ".formato (y)
Plt.Annota (etichetta, # Questo è il valore che vogliamo etichettare (testo)
(x, y), # x e y è la posizione dei punti in cui dobbiamo etichettare
textCoords = "punti offset",
XyText = (0,10), # questo per la distanza tra i punti
# e l'etichetta di testo
ha = 'Center',
ArrowProps = Dict (ArrowStyle = "->", color = 'Green'))
Plt.spettacolo()

Riga 14: Passiamo il parametro marker = "d", mfc (markerfacecolor) colore verde, MEC (markerdgecolor) giallo e MS (markerize). Il MEC (MarkeredGeColor) è un colore che esce al di fuori del punto dati.

Riga 19: Stiamo formattando il valore di y.

Come mostrato di seguito:

Valore effettivo di y = 2.0689824848029414

Dopo il formato, il valore di y è 2.069 (arrotondato a 3 punti decimali)

Riga da 21 a 29: Passiamo tutti i parametri richiesti nella funzione Annota, che è il (x, y). XyText è per la distanza tra i punti e l'etichetta. ArrowProps è un altro parametro utilizzato per il grafico per mostrare un modo più professionale. E alla fine, tracciamo il grafico che viene mostrato di seguito.

Produzione: python datapoints_labels_on_line_graph.Py

4. Annotazione di testo (matplotlib.Pyplot.annotare ()) per il grafico a barre

Possiamo anche aggiungere annotazione di testo al grafico a barre del matplotlib.

# annotation_bar_graph.Py
# Importa i pacchetti richiesti
Importa matplotlib.Pyplot come Plt
Importa Numpy come NP
# Importa il metodo Clf () per disegnare un altro grafico sulla stessa finestra del grafico
Plt.clf ()
# set di dati fittizio da Numpy
X_Values ​​= np.Arange (0,10,1)
Y_Values ​​= np.casuale.normale (loc = 2, scala = 0.5, dimensione = 10)
Plt.bar (x_values, y_values)
# zip giunta le coordinate xe y in coppia
per x, y in zip (x_values, y_values):
etichetta = ":.3f ".formato (y)
Plt.Annota (etichetta, # Questo è il valore che vogliamo etichettare (testo)
(x, y), # x e y è la posizione dei punti in cui dobbiamo etichettare
textCoords = "punti offset",
XyText = (0,10), # questo per la distanza tra i punti
# e l'etichetta di testo
ha = 'Center',
ArrowProps = dict (frewstyle = "->", color = 'black'))
Plt.spettacolo()

Il codice di annotazione sopra è uguale all'annotazione del grafico di linea. Il cambiamento che abbiamo fatto alla riga 14.

Riga 14: Questa è la linea in cui abbiamo cambiato. Ora stiamo chiamando la funzione della barra e trasmettendo i dati xey in questo.

Produzione: python annotation_bar_graph.Py

5. Annotazione di testo (matplotlib.Pyplot.annotare ()) per il grafico del diagramma a dispersione

Possiamo anche aggiungere annotazione di testo al grafico del diagramma a dispersione del matplotlib.

# annotation_scatter_plot.Py
# Importa i pacchetti richiesti
Importa matplotlib.Pyplot come Plt
Importa Numpy come NP
# Importa il metodo Clf () per disegnare un altro grafico sulla stessa finestra del grafico
Plt.clf ()
# set di dati fittizio da Numpy
X_Values ​​= np.Arange (0,10,1)
Y_Values ​​= np.casuale.normale (loc = 2, scala = 0.5, dimensione = 10)
Plt.SPIREST (X_VALUES, Y_VALUES)
# zip giunta le coordinate xe y in coppia
per x, y in zip (x_values, y_values):
etichetta = ":.3f ".formato (y)
Plt.Annota (etichetta, # Questo è il valore che vogliamo etichettare (testo)
(x, y), # x e y è la posizione dei punti in cui dobbiamo etichettare
textCoords = "punti offset",
XyText = (0,10), # questo per la distanza tra i punti
# e l'etichetta di testo
ha = 'Center',
ArrowProps = dict (frewstyle = "->", color = 'black'))
Plt.spettacolo()

Il codice di annotazione sopra è uguale all'annotazione del grafico di linea. Il cambiamento che abbiamo fatto alla riga 14.

Riga 14: Questa è la linea in cui abbiamo cambiato. Ora stiamo chiamando la funzione di dispersione e passiamo i dati xey in questo.

Produzione: python annotation_scatter_plot.Py

6. Leggenda (etichetta)

Quando abbiamo set di dati di categorie diverse e vogliamo tracciare sullo stesso grafico, abbiamo bisogno di una notazione per differenziare la categoria a quale categoria. Che può essere risolto usando la leggenda come mostrato di seguito.

# Using_legand_labels.Py
# Importa la libreria richiesta
Importa matplotlib.Pyplot come Plt
Dati # x e y
NUMEROFEMP_A = [13, 200, 250, 300, 350, 400]
NUMEROFEMP_B = [10, 100, 150, 200, 250, 800]
Anno = [2011, 2012, 2013, 2014, 2015, 2016]
# Traccia un grafico a righe
Plt.Plot (anno, NUMEROFEMP_A, marker = 'd', mfc = 'verde', mec = 'giallo', ms = '7')
Plt.Plot (anno, NUMEROFEMP_B, marker = 'o', mfc = 'rosso', mec = 'verde', ms = '7')
# Imposta il nome dell'etichetta del titolo dell'Asse X
Plt.xlabel ("anno")
# Imposta il nome dell'etichetta del titolo dell'Asse X
Plt.Ylabel ("Numero di dipendenti")
# imposta il nome del grafico dell'etichetta
Plt.Titolo ("Numero di dipendente V/S Year Growth")
Plt.Legend (['NumberOFemp_A', 'NumberOFemp_B'])
Plt.spettacolo()

Riga da 7 a 8: Abbiamo creato due elenchi di dati NumberOFemp_a e NumberOfemp_b, per l'asse x. Ma sia A che B hanno gli stessi valori dell'asse Y. Quindi in questo grafico, condividiamo l'asse X solo perché la scala dell'asse y sia per A e B è la stessa.

Riga da 12 a 13: Abbiamo appena aggiunto un'altra funzione di trama con alcuni parametri diversi.

Riga da 16 a 22: Abbiamo aggiunto etichette per il grafico.

Riga 24: Abbiamo creato la legenda per queste due categorie in modo che due diverse categorie sullo stesso grafico possano essere facilmente differenziate.

Produzione: Python Using_legand_labels.Py

Conclusione

In questo articolo, abbiamo visto diversi metodi che possiamo usare per il grafico delle etichette. Abbiamo anche visto come annotare i dati di testo sul grafico, rendendo il grafico più professionale. Quindi abbiamo visto la funzione Legenda per differenziare le diverse categorie sullo stesso grafico.