2 回答

TA貢獻(xiàn)2041條經(jīng)驗(yàn) 獲得超4個(gè)贊
回答
您可以用來(lái)ax.arrow
繪制箭頭。
請(qǐng)注意,您應(yīng)該在每次迭代時(shí)使用 清除繪圖ax.cla()
并調(diào)整軸限制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貢獻(xiàn)1757條經(jīng)驗(yàn) 獲得超7個(gè)贊
您只需將線函數(shù)更改為箭頭函數(shù)即可。但請(qǐng)注意,您首先需要計(jì)算箭頭的終點(diǎn),因?yàn)楦鶕?jù)文檔,您只能指定長(zhǎng)度 dx,dy。通過(guò)使用畢達(dá)哥拉斯,起點(diǎn)為x[0]
,y[0]
,為轉(zhuǎn)換后的終點(diǎn)。dx
dy
我認(rèn)為你現(xiàn)在可以自己解決這個(gè)問(wèn)題。
添加回答
舉報(bào)