Wie animiere ich Streudiagramme in Matplotlib, um zeitlich variierende Daten zu visualisieren?

Mary-Kate Olsen
Freigeben: 2024-11-07 00:21:02
Original
736 Leute haben es durchsucht

How to Animate Scatter Plots in Matplotlib to Visualize Time-Varying Data?

Animieren von Streudiagrammen in Matplotlib

Streudiagramme sind ein nützliches Werkzeug zur Visualisierung der Beziehung zwischen zwei oder mehr Variablen. Wenn sich die Daten im Laufe der Zeit ändern, kann es hilfreich sein, das Streudiagramm zu animieren, um zu sehen, wie sich die Beziehung entwickelt.

Positionen, Größen und Farben aktualisieren

Zum Animieren Um ein Streudiagramm zu erstellen, müssen Sie die Positionen, Größen oder Farben der Punkte in jedem Frame der Animation aktualisieren. Dies kann mit den Methoden set_offsets, set_sizes bzw. set_array des Scatter-Objekts erfolgen.

<code class="python">scat = plt.scatter(x, y, c=c)

# Update position
scat.set_offsets(new_xy)

# Update size
scat.set_sizes(new_sizes)

# Update color
scat.set_array(new_colors)</code>
Nach dem Login kopieren

Verwenden von FuncAnimation

Die FuncAnimation-Klasse aus der Matplotlib. Das Animationsmodul kann verwendet werden, um das Streudiagramm bei jedem Frame der Animation automatisch zu aktualisieren. Das Argument init_func wird einmal aufgerufen, um den Plot zu initialisieren, während die Aktualisierungsfunktion bei jedem Frame aufgerufen wird.

<code class="python">import matplotlib.animation as animation

def update(i):
    # Update data
    x, y, c = get_data(i)

    # Update plot
    scat.set_offsets(x, y)
    scat.set_array(c)

    return scat,

ani = animation.FuncAnimation(fig, update, interval=5)
plt.show()</code>
Nach dem Login kopieren

Beispiel

Das folgende Beispiel erstellt eine Animation von ein Streudiagramm, bei dem sich die Punkte zufällig bewegen und im Laufe der Zeit ihre Farbe ändern:

<code class="python">import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation

# Create random data
num_points = 50
xy = (np.random.rand(2, num_points) - 0.5) * 10
c = np.random.rand(num_points)

# Setup figure and axes
fig, ax = plt.subplots()
scat = ax.scatter(xy[0], xy[1], c=c, s=30)

# Define animation update function
def update(i):
    # Update data
    xy += np.random.rand(2, num_points) * 0.02
    c = np.random.rand(num_points)

    # Update plot
    scat.set_offsets(xy)
    scat.set_array(c)

    return scat,

# Create animation
ani = animation.FuncAnimation(fig, update, interval=10)
plt.show()</code>
Nach dem Login kopieren

Diese Animation zeigt ein Streudiagramm mit 50 Punkten die sich zufällig bewegen und mit der Zeit ihre Farbe ändern.

Das obige ist der detaillierte Inhalt vonWie animiere ich Streudiagramme in Matplotlib, um zeitlich variierende Daten zu visualisieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!