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 ')

Scatterplot met annotatie in Matplotlib

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 meerdere punten op de Matplotlib-puntenwolk

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 ])) 

Annoteer de Matplotlib-puntenwolk

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) 

Matplotlib annoteert elk plotpunt

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

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert