Hoe u matplotlib-spreidingsdiagrammen kunt annoteren
U kunt de volgende basissyntaxis gebruiken om spreidingsdiagrammen in Matplotlib te annoteren:
#add 'my text' at (x, y) coordinates = (6, 9.5) plt. text (6, 9.5, ' my text ')
De volgende voorbeelden laten zien hoe u deze syntaxis in de praktijk kunt gebruiken.
Creëer een basispuntenwolk
De volgende code laat zien hoe u een basisspreidingsdiagram maakt met behulp van 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)
Annoteer een enkel punt
We kunnen de volgende code gebruiken om een annotatie toe te voegen aan een enkel punt op de plot:
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 ')
Annoteer meerdere punten
We kunnen de volgende code gebruiken om annotaties toe te voegen aan meerdere punten op de plot:
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 ')
Annoteer alle punten
We kunnen de volgende code gebruiken om annotaties toe te voegen aan elk punt op de plot:
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 ]))
Standaard worden annotaties direct boven de punten in de puntenwolk geplaatst en is de standaardlettergrootte 10.
De volgende code laat zien hoe u deze twee instellingen kunt aanpassen, zodat de annotaties iets rechts van de punten staan en de lettergrootte iets groter is:
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)
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in Matplotlib kunt uitvoeren:
Hoe een legenda aan een spreidingsdiagram in Matplotlib toe te voegen
Hoe u een spreidingsdiagram op waarde kunt kleuren in Matplotlib
Hoe u een gemiddelde lijn toevoegt aan plots in Matplotlib