我使用梯度下降使用线性回归将值拟合到一条线。在每次迭代中,线越来越接近最佳拟合。
现在我只显示最后一行。但我想说明随着迭代的进展,这条线如何更好地适应数据。
我查看了一些示例,但它们似乎只是在现有行中添加新的x,y点。每次迭代我想删除旧行,并用最新数据绘制一个新行。
有什么想法吗?
答案 0 :(得分:1)
使用上面提供的提示,我创建了这个示例代码,向我展示了如何在Jupyter Notebook中设置动画。它具有固定和动画数据。
%matplotlib notebook
# A simple example of an animated plot
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
fig, ax = plt.subplots()
# Initial plot
x = np.arange(0., 10., 0.2)
y = np.arange(0., 10., 0.2)
line, = ax.plot(x, y)
plt.rcParams["figure.figsize"] = (10,8)
plt.ylabel("Price")
plt.xlabel("Size (sq.ft)")
plt.plot([1, 1.2, 3], [3, 3.5, 4.7], 'go', label='Training data')
#ax.plot(test_house_size, test_house_price, 'mo', label='Testing data')
def animate(i):
print(i)
x = np.arange(0., 6, 0.05)
line.set_xdata(x) # update the data
line.set_ydata( x ** (1 + (i/10.0))) # update the data
return line,
# Init only required for blitting to give a clean slate.
def init():
line.set_ydata(y)
return line,
ani = animation.FuncAnimation(fig, animate, frames=np.arange(1, 10), init_func=init, interval=1000, blit=True)
plt.show()