¿Cómo trazar vectores matemáticos 2d con matplotlib?

¿Cómo podemos trazar vectores matemáticos 2D con matplotlib ? ¿Alguien tiene un ejemplo o sugerencia sobre eso?

Tengo un par de vectores almacenados como matrices numpy 2D, y me gustaría numpy como bordes dirigidos.

Los vectores a trazar se construyen de la siguiente manera:

 import numpy as np # a list contains 3 vectors; # each list is constructed as the tail and the head of the vector a = np.array([[0, 0, 3, 2], [0, 0, 1, 1], [0, 0, 9, 9]]) 

Editar:

Acabo de agregar el gráfico de la respuesta final de tcaswell para cualquier persona interesada en la salida y quiero trazar vectores 2D con matplotlib: introduzca la descripción de la imagen aquí

La sugerencia en los comentarios de halex es correcta, desea utilizar el carcaj ( doc ), pero necesita modificar las propiedades un poco.

 import numpy as np import matplotlib.pyplot as plt soa = np.array([[0, 0, 3, 2], [0, 0, 1, 1], [0, 0, 9, 9]]) X, Y, U, V = zip(*soa) plt.figure() ax = plt.gca() ax.quiver(X, Y, U, V, angles='xy', scale_units='xy', scale=1) ax.set_xlim([-1, 10]) ax.set_ylim([-1, 10]) plt.draw() plt.show() 

Es bastante sencillo. Espero que este ejemplo ayude.

 import matplotlib.pyplot as plt import numpy as np x = np.random.normal(10,5,100) y = 3 + .5*x + np.random.normal(0,1,100) myvec = np.array([x,y]) plt.plot(myvec[0,],myvec[1,],'ro') plt.show() 

Producirá:

introduzca la descripción de la imagen aquí

Para trazar las matrices, puede simplemente dividirlas en vectores 1D y trazarlas. Leí la documentación completa de matplotlib para todas las diferentes opciones. Pero puede tratar un vector numpy como si fuera una tupla normal para la mayoría de los ejemplos.