Come annotare i grafici a dispersione matplotlib
È possibile utilizzare la seguente sintassi di base per annotare i grafici a dispersione in Matplotlib:
#add 'my text' at (x, y) coordinates = (6, 9.5) plt. text (6, 9.5, ' my text ')
Gli esempi seguenti mostrano come utilizzare questa sintassi nella pratica.
Crea una nuvola di punti di base
Il codice seguente mostra come creare un grafico a dispersione di base utilizzando Matplotlib:
import matplotlib.pyplot as plt #createdata x = [3, 6, 8, 12, 14] y = [4, 9, 14, 12, 9] #create scatterplot plt. scatter (x,y)
Annotare un singolo punto
Possiamo usare il seguente codice per aggiungere un’annotazione a un singolo punto sulla trama:
import matplotlib.pyplot as plt #create data x = [3, 6, 8, 12, 14] y = [4, 9, 14, 12, 9] #create scatterplot plt. scatter (x,y) #add text 'Here' at (x, y) coordinates = (6, 9.5) plt. text (6, 9.5, ' Here ')
Annota più punti
Possiamo utilizzare il seguente codice per aggiungere annotazioni a più punti sulla trama:
import matplotlib.pyplot as plt #create data x = [3, 6, 8, 12, 14] y = [4, 9, 14, 12, 9] #create scatterplot plt. scatter (x,y) #add text to certain points plt. text (3, 4.5, ' This ') plt. text (6, 9.5, ' That ') plt. text (8.2, 14, ' Those ')
Annota tutti i punti
Possiamo usare il seguente codice per aggiungere annotazioni a ciascun punto della trama:
import matplotlib.pyplot as plt #createdata x = [3, 6, 8, 12, 14] y = [4, 9, 14, 12, 9] labs = ['A', 'B', 'C', 'D', 'E'] #create scatterplot plt. scatter (x,y) #use for loop to add annotations to each point in plot for i, txt in enumerate(labs): plt. annotate (txt, (x[ i ], y[ i ]))
Per impostazione predefinita, le annotazioni vengono posizionate direttamente sopra i punti nella nuvola di punti e la dimensione del carattere predefinita è 10.
Il codice seguente mostra come regolare queste due impostazioni in modo che le annotazioni siano leggermente a destra dei punti e la dimensione del carattere sia leggermente più grande:
import matplotlib.pyplot as plt #create data x = [3, 6, 8, 12, 14] y = [4, 9, 14, 12, 9] labs = ['A', 'B', 'C', 'D', 'E'] #create scatterplot plt. scatter (x,y) #use for loop to add annotations to each point in plot for i, txt in enumerate(labs): plt. annotate (txt, (x[ i ]+.25, y[ i ]), fontsize=12)
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni in Matplotlib:
Come aggiungere la legenda al grafico a dispersione in Matplotlib
Come colorare un grafico a dispersione in base al valore in Matplotlib
Come aggiungere una linea media ai grafici in Matplotlib