Постройте n анимированных растущих линейных графиков на одном графике (matplotlib, python) - PullRequest
0 голосов
/ 18 июня 2020

Я пытаюсь построить несколько анимированных линейных графиков на одном графике с задержкой в ​​1 секунду между каждым линейным графиком в matplotlib python.

Мой предыдущий вопрос: Как создать задержку между несколькими анимациями на одном графике (matplotlib, python)

У меня есть список списков: [[ 10,20,30], [40,50,60], [2,3,5], [200,300,500]]

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

Спасибо

Plot will look like:

1 Ответ

1 голос
/ 18 июня 2020

Вы можете использовать интерактивный режим matplotlibs, как показано здесь:

import pandas as pd
import matplotlib.pyplot as plt


fig, ax = plt.subplots()

plt.ion()   # set interactive mode
plt.show()
x = np.arange(130, 190, 1)
y = 97.928 * np.exp(- np.exp(-  0.1416 * (x - 146.1)))
z = 96.9684 * np.exp(- np.exp(-0.1530 * (x - 144.4)))
y_z=[y,z]
ax.set_xlim(x[0],x[-1])
ax.set_ylim(min(y[0],z[0]),max(y[-1],z[-1]))

color=['green','red']

k=0
for i in y_z:
    for j in range(len(i)):
        line, = ax.plot(x[:j],i[:j],color=color[k])
        plt.gcf().canvas.draw()
        plt.pause(0.1)
    k=k+1

enter image description here

...