Como desenhar setas no matplotlib


Para desenhar setas no Matplotlib, você pode usar a função matplotlib.pyplot.arrow , que usa a seguinte sintaxe:

matplotlib.pyplot.arrow(x, y, dx, dy)

Ouro:

  • x, y: as coordenadas x e y da base da seta
  • dx, dy: o comprimento da seta nas direções x e y

Este tutorial fornece vários exemplos de uso prático desta função.

Exemplo 1: desenhe uma única seta

O código a seguir mostra como desenhar uma única seta em um gráfico Matplotlib:

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

Seta no gráfico matplotlib

Observe que podemos definir dx=0 para criar uma seta vertical e dy=0 para criar uma seta horizontal.

Por exemplo, veja como criar uma seta vertical:

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

Seta vertical no matplotlib

Exemplo 2: estilizando uma seta

Por padrão, uma seta no Matplotlib é azul com bordas pretas, mas podemos facilmente alterar isso usando os argumentos facecolor e 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 () 

Seta com cor personalizada no matplotlib

Você pode encontrar uma lista completa de propriedades de estilo que podem ser aplicadas às setas aqui .

Exemplo 3: Adicionar anotações às setas

O código a seguir mostra como adicionar uma anotação sob uma seta em um gráfico Matplotlib:

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

Seta com anotação em matplotlib

Recursos adicionais

Como traçar círculos no Matplotlib (com exemplos)
Como desenhar retângulos no Matplotlib (com exemplos)

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *