Funcanimation работает как time.sleep () для многократного запуска функций? - PullRequest
0 голосов
/ 30 мая 2018

это мой вопрос: если я получу код с реализацией funcAnimation (финансовое поле, получение данных с биржи и прямой график каждый интервал времени) ... как я могу запускать функцию каждый интервал оптимизированным способом?

Представьте, что у нас есть пример кода:

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation

x = np.linspace(-6, 6)
tmax = 1
tmin = -1
t = np.linspace(-1, 1)

def f(x, t):
   term = (np.exp(-1*(x-3*t)**2))*np.sin(3*np.pi*(x-t))
   return term

y = f(x, tmax)
lines = plt.plot(x, y)
plt.axis([x[0], x[-1], -1, 1])
plt.xlabel('x')
plt.ylabel('f')

counter = [0]
def animate(ts):
   y = f(x, ts)
   lines[0].set_ydata(y)
   plt.legend(['ts=%4.2f' % ts])
   #plt.savefig('tmp_%04d.png' % counter)
   counter[0] += 1

anim = animation.FuncAnimation(plt.gcf(), animate, frames=t, interval = 1000)
plt.show()

В этом случае это может быть настолько просто, когда я запускаю его, код застревает в замкнутом цикле, вызванном funcAnimation.

Что я делаю?поместите функцию для запуска внутри функции анимации.Но ... это хороший способ продолжить?

Здесь у нас есть часть моего кода и один простой пример:

fig = plt.figure(figsize=(16,18),facecolor="#232a3b")

def animate(i):
    say(5)
graphData('BTC/USDT','1m',8,13,21)

def say(i):
    print('Hello World ' + str(i))

while True:
    #pair = input('Crypto pair to plot: ')
    #timeframe = input('Enter timeframe: ')
    say(5)
    ani = animation.FuncAnimation(fig, animate,interval=60000)
    plt.show()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...