2 回答
TA贡献2041条经验 获得超4个赞
回答
您可以用来ax.arrow
绘制箭头。
请注意,您应该在每次迭代时使用 清除绘图ax.cla()
并调整轴限制ax.set()
。
代码
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
fig, ax = plt.subplots(figsize=(12, 8))
ax.set(xlim=(0, 104), ylim=(0, 68))
x_start, y_start = (50, 35)
x_end, y_end = (90, 45)
N = 50
x = np.linspace(x_start, x_end, N)
y = np.linspace(y_start, y_end, N)
def animate(i):
ax.cla()
ax.arrow(x_start, y_start,
x[i] - x_start, y[i] - y_start,
head_width = 2, head_length = 2, fc = 'black', ec = 'black')
ax.set(xlim = (0, 104), ylim = (0, 68))
ani = animation.FuncAnimation(fig, animate, interval=20, frames=N, blit=False, save_count=50)
plt.show()
TA贡献1757条经验 获得超7个赞
您只需将线函数更改为箭头函数即可。但请注意,您首先需要计算箭头的终点,因为根据文档,您只能指定长度 dx,dy。通过使用毕达哥拉斯,起点为x[0]
,y[0]
,为转换后的终点。dx
dy
我认为你现在可以自己解决这个问题。
添加回答
举报