显示所有点
这显示了所有要点:
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation
Acc_11 = [1,2,3,4,6,7]
Acc_12 = [2,2,2,2,2,2]
# Scatter plot
fig = plt.figure(figsize = (5,5))
def ani(coords):
return plt.scatter([coords[0]],[coords[1]], color='g')
def frames():
for acc_11_pos, acc_12_pos in zip(Acc_11, Acc_12):
yield acc_11_pos, acc_12_pos
ani = FuncAnimation(fig, ani, frames=frames, interval=1000)
plt.show()
只显示一个移动点
这一次仅显示一个点:
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation
Acc_11 = [1,2,3,4,6,7]
Acc_12 = [2,2,2,2,2,2]
# Scatter plot
fig = plt.figure(figsize = (5,5))
axes = fig.add_subplot(111)
axes.set_xlim(min(Acc_11), max(Acc_11))
axes.set_ylim(min(Acc_12), max(Acc_12))
point, = axes.plot([Acc_11[0]],[Acc_12[0]], 'go')
def ani(coords):
point.set_data([coords[0]],[coords[1]])
return point
def frames():
for acc_11_pos, acc_12_pos in zip(Acc_11, Acc_12):
yield acc_11_pos, acc_12_pos
ani = FuncAnimation(fig, ani, frames=frames, interval=1000)
plt.show()
来自数据框而不是列表
- 前面的两个选项都可以很好地处理数据框。放
Acc_11 =
是 x 轴的数据框列,Acc_12 =
将数据框列下注为 y 轴。
import seaborn as sns
# sample dataframe
tips = sns.load_dataset('tips')
x = tips.total_bill
y = tips.tip
# Scatter plot
fig = plt.figure(figsize = (5,5))
def ani(coords):
return plt.scatter([coords[0]], [coords[1]], color='g')
def frames():
for x_pos, y_pos in zip(x, y):
yield x_pos, y_pos
ani = animation.FuncAnimation(fig, ani, frames=frames, interval=1000)
ani.save('animation2.gif', fps=30)
plt.show()