我试图用pyplot绘制一个大数组的向量。现在我有
import matplotlib.pyplot as plt
import numpy as np
import operator
t = np.arange(0, np.pi, .01)
def pos1(t):
x1 = .72 * np.cos(13*t)
y1 = .72 * np.sin(13*t)
return x1, y1
def pos2(t):
x2 = np.cos(8*t)
y2 = np.sin(8*t)
return x2, y2
def vec(t):
x1 = pos1(t)[0]
x2 = pos2(t)[0]
y1 = pos1(t)[1]
y2 = pos2(t)[1]
x = np.subtract(x1, x2)
y = np.subtract(y1, y2)
return x, y
X = pos2(t)[0]
Y = pos2(t)[1]
U = vec(t)[0]
V = vec(t)[1]
plot1 = plt.figure()
plt.quiver(X, Y, U, V, headlength=4)
plt.show(plot1)
其中pos1(t)
、pos2(t)
和{([a,...,z],[a1,...,z1])
形式的元组的函数。在
这个图给了我一些接近我想要的东西,但是向量的长度都是错误的。这两个函数,pos1(t),pos2(t)
返回一个特定曲线上的点的元组,vec(t)
函数是它们的区别,这将导致从第一条曲线上的一个点到第二条曲线上的一个点的向量。我的计划有正确的方向,但没有规模。在
quiver
处理箭头的长度。似乎quiver
不是您需要的。在使用常规
plot
:结果:
原创:
相关问题 更多 >
编程相关推荐