Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak zaktualizować wykres za pomocą matplotlib

Dokumentacja jest nieco lekka w wyjaśnieniu, jak używać funkcji FunAnimation. Istnieją jednak przykłady w galerii i blogtutoriale, takie jak Jake Vanderplas oraz PDF Sama Dolana .

Ten przykład z samouczka Jake'a Vanderplasa to prawdopodobnie animacja "Hello World" ofmatplotlib:

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()

Zmień różne wartości lub wiersze kodu i zobacz, co się stanie. Zobacz, co się stanie, jeśli zmienisz return [line] do czegoś innego. Jeśli będziesz studiować i bawić się tymi przykładami, możesz dowiedzieć się, jak poszczególne elementy do siebie pasują.

Kiedy zrozumiesz ten przykład, powinieneś być w stanie go zmodyfikować, aby pasował do twojego celu.

Jeśli masz problemy, opublikuj swój kod i opisz, jaki komunikat o błędzie lub niewłaściwe zachowanie widzisz.

Kilka wskazówek:

  • Ponieważ animacja wymaga wywołania line.set_data , nie sądzę, że możesz użyć df.plot() Pandy . W rzeczywistości nie jestem pewien, czy Pandas DataFrame jest tutaj przydatna. Lepiej byłoby wessać dane do list lub tablic NumPy i przekazać je do line.set jak powyżej, bez angażowania Pand.

  • Otwarcie połączenia z bazą danych powinno być wykonane jednorazowo. animate jest wielokrotnie wywoływany. Więc lepiej jest zdefiniować conn i c i query -- wszystko, co nie zmienia się przy każdym wywołaniu animate --poza animate i przekaż je z powrotem jako argumenty do animate przez fargs parametr.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Normalizacja sprawia, że ​​sprzężenia między wieloma tabelami są trudne

  2. 10 pytań do rozmowy kwalifikacyjnej na temat bazy danych MySQL dla początkujących i średniozaawansowanych

  3. Jak sprawdzić stan połączenia MySQL w C#

  4. Czy podczas łączenia się z wieloma bazami danych potrzebuję wielu obiektów SQLAlchemy Metadata, Base lub Session?

  5. Czy indeksy UNIQUE rozróżniają wielkość liter w MySQL?