sql >> Database >  >> RDS >> Mysql

Een grafiek bijwerken met matplotlib

De documentatie is een beetje licht over de uitleg over het gebruik van FuncAnimation. Er zijn echter voorbeelden in de galerij en blogtutorials, zoals Jake Vanderplas's en Sam Dolan's PDF .

Dit voorbeeld uit de tutorial van Jake Vanderplas is misschien de "Hello World" ofmatplotlib-animatie:

from __future__ import division
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation

def init():
    return [line]

def animate(i, ax, line):
    x = np.linspace(0, 2*np.pi, N) + i/(N*2)
    ax.set_xlim(x.min(), x.max())
    line.set_data(x, np.sin(x))
    return [line]

N = 100
fig, ax = plt.subplots()
line, = ax.plot([], [])
ax.set_xlim(0, 2*np.pi)
ax.set_ylim(-1, 1)

ani = animation.FuncAnimation(
    fig, animate, init_func=init, interval=0, frames=int(4*np.pi*N), 
    repeat=True, blit=True, fargs=[ax, line])
plt.show()

Verander verschillende waarden of regels code en kijk wat er gebeurt. Kijk wat er gebeurt als je return [line] verandert naar iets anders. Als je deze voorbeelden bestudeert en speelt, kun je leren hoe de stukjes in elkaar passen.

Zodra u dit voorbeeld begrijpt, zou u het moeten kunnen aanpassen aan uw doel.

Als je problemen hebt, post dan je code en beschrijf welke foutmelding of wangedrag je ziet.

Enkele tips:

  • Omdat voor animatie het aanroepen van line.set_data . vereist is , ik denk niet dat je Panda's df.plot() . kunt gebruiken . Ik weet zelfs niet zeker of het Pandas DataFrame hier nuttig is. Het is misschien beter om de gegevens in lijsten of NumPy-arrays te zuigen en deze door te geven aan line.set zoals hierboven, zonder Panda's erbij te betrekken.

  • Het openen van een verbinding met de database moet één keer gebeuren. animate wordt vaak gebeld. Het is dus beter om conn . te definiëren en c en query -- alles wat niet verandert bij elke aanroep om animate --buiten animate , en geef ze als argumenten terug aan animate via defargs parameter.




  1. Meerdere VERVANG-functie in Oracle

  2. MySQL PHP - SELECTEER WAAR id =array()?

  3. Een lijst met triggergebeurtenissen retourneren in SQL Server

  4. ASP.NET/Identity Error:Het entiteitstype ApplicationUser maakt geen deel uit van het model voor de huidige context