我正在尝试编写一个可以对数学函数进行动画处理的程序。我想使用背景图片。我已经尝试过了,该程序可以很好地启动,但是很快它失去了对图像的跟踪,并弄乱了一切。我该如何解决该问题?
我尝试过实时调整图像的大小以及x和y限制,但仍然会变得混乱。我正在使用matplotlib和numpy。
该图像在程序运行时:
但是,在此程序中,该程序存在漏洞:
import matplotlib.pyplot as plt
import matplotlib.animation as animation
from matplotlib import style
import numpy as np
#[...]
def animate(data): #refresh data shown
x,y = data
xdata.append(x)
ydata.append(y)
xmin,xmax = ax.get_xlim()
if x >= xmax:
ax.set_xlim(xmin,2*xmax)
ax.figure.canvas.draw()
line.set_data(xdata,ydata)
return line
img = plt.imread("myimage.jpg")
ax.imshow(img, extent=[0, ax.get_xlim()[-1], ax.get_ylim()[0], ax.get_ylim()[-1]])
ani = animation.FuncAnimation(fig,animate,data_gen,blit=True,interval=10,repeat = False)
plt.show()
(我尝试将图像上传到此问题,但直到现在我还是无法做到)
答案 0 :(得分:0)
已解决!由于某些原因,当我更改ylimit时它起作用。也许图像无法调整成不同的比例(?)。修改内容:
if x >= xmax:
ax.set_xlim(xmin,2*xmax)
ax.set_ylim(-1.5*xmax,1.5*xmax)
ax.figure.canvas.draw()