我在kaggle找到了一个强大的工具hypertools。我发现它可以绘制动态图。只需一行代码。
hyp.plot(temps, normalize='across', animate=True, chemtrails=True)
抱歉,格式.gif
超过2MB。所以我把它变成了图片。但是,你可以在this中看到这个gif
。我觉得这很酷。但是,我不知道如何使用这些工具来绘制我的数据。我的数据是元组(x,y,t)的列表,如下所示:
array([[ 353., 2607., 349.],
[ 367., 2607., 376.],
[ 388., 2620., 418.],
[ 416., 2620., 442.],
[ 500., 2620., 493.],
[ 584., 2620., 547.],
[ 675., 2620., 592.],
[ 724., 2620., 643.],
[ 780., 2620., 694.],
[ 822., 2620., 742.],
[ 850., 2633., 793.],
[ 885., 2633., 844.],
[ 934., 2633., 895.],
[ 983., 2633., 946.],
[ 1060., 2633., 1006.],
[ 1144., 2633., 1063.],
[ 1235., 2633., 1093.],
[ 1284., 2633., 1144.],
[ 1312., 2633., 1210.],
[ 1326., 2633., 1243.],
[ 1333., 2633., 1354.],
[ 1354., 2633., 1408.],
[ 1375., 2646., 1450.],
[ 1452., 2659., 1492.],
[ 1473., 2672., 1543.],
[ 1480., 2672., 1954.]])
如何使用这个功能强大的工具绘制鼠标轨迹?
答案 0 :(得分:0)
Hypertools仅支持维度> gt = 3的数据集的动画。您的鼠标数据是3D,但其中一个轴是时间,因此将该维度可视化为动画可能没那么有用。您可以尝试使用animation
中的matplotlib
函数。例如:
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
fig, ax = plt.subplots()
data = np.random.randn(200,2)
line, = ax.plot(data[0,0], data[0,1])
def animate(i):
line.set_data(data[:i,:].T) # update the data
return line,
# Init only required for blitting to give a clean slate.
def init():
line.set_data(data[0,0], data[0,1])
return line,
ani = animation.FuncAnimation(fig, animate, np.arange(1, 200),
init_func=init, interval=25, blit=True)
plt.xlim(min(data[:,0]), max(data[:,0]))
plt.ylim(min(data[:,1]), max(data[:,1]))
plt.show()