matplotlib pause блокирует отображение следующего графика, в то время как l oop работает под капотом - PullRequest
0 голосов
/ 29 мая 2020

Я пытаюсь обновить данные, показанные на наборе подзаголовков, с помощью matplotlib. Появляется первый раунд данных, но затем, пока l oop выполняется под капотом, данные не обновляются. Я проверил все связанные вопросы, связанные с этим topi c, и реализовал все, но они не решают мою проблему. Сюжет, кажется, замирает после первого i в l oop, как будто pause блокирует обновление сюжета. PS: Я работаю в Pycharm

Вот упрощенный код:

class MyClass():

    def __init__(self):
        self.x = range(10)
        self.x_len = len(self.x)
        self.run_video()

    def run_video(self):
        # initiate the figure and plots
        self.fig, self.axarr = plt.subplots(nrows=4, ncols=2)
        plt.draw()

        # Let's just fill one of the subplots for the sake of this example
        self.ax1 = self.axarr[0, 0]
        self.p11, = self.ax1.plot(self.x, [0] * self.x_len, color='blue', linewidth=2, label='label1')
        self.p12, = self.ax1.plot(self.x, [0] * self.x_len, color='red', linewidth=2, label='label2')
        self.ax1.set_xlim(-1, self.x_len)
        self.ax1.set_ylim(0, 11)
        plt.ion()

        self.update()

    def update(self):
        for i in range(1, 10):

            print(i)

            # Update the data
            y1_data = [i] * self.x_len
            y2_data = [i+1] * self.x_len

            plt.draw()
            self.p11.set_data(self.x, y1_data)
            self.p12.set_data(self.x, y2_data)
            plt.pause(1)

...