Hoe pijlen te tekenen in matplotlib
Om pijlen in Matplotlib te tekenen, kunt u de functie matplotlib.pyplot.arrow gebruiken , die de volgende syntaxis gebruikt:
matplotlib.pyplot.arrow(x, y, dx, dy)
Goud:
- x, y: de x- en y-coördinaten van de basis van de pijl
- dx, dy: de lengte van de pijl in de x- en y-richting
Deze tutorial biedt verschillende voorbeelden van praktisch gebruik van deze functie.
Voorbeeld 1: teken een enkele pijl
De volgende code laat zien hoe u een enkele pijl op een Matplotlib-plot tekent:
import matplotlib. pyplot as plt #define two arrays for plotting A = [3, 5, 5, 6, 7, 8] B = [12, 14, 17, 20, 22, 27] #create scatterplot, specifying marker size to be 40 plt. scatter (A, B, s= 40 ) #add arrow to plot plt. arrow (x= 4 , y= 18 , dx= 2 , dy= 5 , width= .08 ) #displayplot plt. show ()
Merk op dat we dx=0 kunnen instellen om een verticale pijl te creëren en dy=0 om een horizontale pijl te creëren.
Zo maakt u bijvoorbeeld een verticale pijl:
import matplotlib. pyplot as plt #define two arrays for plotting A = [3, 5, 5, 6, 7, 8] B = [12, 14, 17, 20, 22, 27] #create scatterplot, specifying marker size to be 40 plt. scatter (A, B, s= 40 ) #add arrow to plot plt. arrow (x= 4 , y= 18 , dx= 0 , dy= 5 , width= .08 ) #displayplot plt. show ()
Voorbeeld 2: Een pijl stylen
Standaard is een pijl in Matplotlib blauw met zwarte randen, maar we kunnen dit eenvoudig wijzigen met behulp van de argumenten facecolor en edgecolor :
import matplotlib. pyplot as plt #define two arrays for plotting A = [3, 5, 5, 6, 7, 8] B = [12, 14, 17, 20, 22, 27] #create scatterplot, specifying marker size to be 40 plt. scatter (A, B, s= 40 ) #add arrow to plot plt. arrow (x= 4 , y= 18 , dx= 0 , dy= 5 , width= .08 , facecolor= 'red' , edgecolor= 'none' ) #displayplot plt. show ()
Hier vindt u een volledige lijst met stijleigenschappen die op pijlen kunnen worden toegepast.
Voorbeeld 3: Annotaties toevoegen aan pijlen
De volgende code laat zien hoe u een annotatie onder een pijl op een Matplotlib-plot toevoegt:
import matplotlib. pyplot as plt #define two arrays for plotting A = [3, 5, 5, 6, 7, 8] B = [12, 14, 17, 20, 22, 27] #create scatterplot, specifying marker size to be 40 plt. scatter (A, B, s= 40 ) #add arrow to plot plt. arrow (x= 4 , y= 18 , dx= 0 , dy= 5 , width= .08 ) #add annotation plt. annotate (' General direction ', xy = (3.4, 17)) #displayplot plt. show ()
Aanvullende bronnen
Cirkels plotten in Matplotlib (met voorbeelden)
Rechthoeken tekenen in Matplotlib (met voorbeelden)