Как я могу отладить фоновое изображение в matplotlib? - PullRequest
0 голосов
/ 10 июля 2019

Я пытаюсь написать программу, в которой я анимирую математическую функцию.Я хочу использовать фоновое изображение, хотя.Я попробовал это, и программа запускается хорошо, но вскоре она теряет трек изображения и все портится.Как я могу исправить эту проблему?

Я пытался изменить размер изображения в режиме реального времени вместе с ограничениями 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 голосов
/ 10 июля 2019

решено! По какой-то причине это сработало, когда я изменил ylimits. Возможно, изображение не смогло изменить размеры в разные масштабы (?). Модификации:

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...