如何在matplotlib中调试背景图片?

时间:2019-07-10 00:14:42

标签: python python-2.7 matplotlib animation

我正在尝试编写一个可以对数学函数进行动画处理的程序。我想使用背景图片。我已经尝试过了,该程序可以很好地启动,但是很快它失去了对图像的跟踪,并弄乱了一切。我该如何解决该问题?

我尝试过实时调整图像的大小以及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()

(我尝试将图像上传到此问题,但直到现在我还是无法做到)

1 个答案:

答案 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()

screenshot of program debugged, running smoothly