Heim >Backend-Entwicklung >Python-Tutorial >Wie erstelle ich animierte Streudiagramme mit wechselnden Farben, Größen und Positionen?
Problem: Erstellen Sie ein animiertes Streudiagramm, in dem die Farben, Größen und Positionen berücksichtigt werden Anzahl der Punkte ändert sich dynamisch basierend auf einer bestimmten Datenmatrix.
Datenformat:
Ziel: Animieren Sie ein Streudiagramm mit den folgenden Funktionen:
Lösung:
Hier ist eine Codevorlage, die zeigt, wie ein animiertes Streudiagramm mit wechselnden Farben, Größen und Positionen erstellt wird :
<code class="python">import matplotlib.pyplot as plt import numpy as np import matplotlib.animation as animation # Generate random data numpoints = 50 x, y, s, c = next(data_stream()).T # Create a figure and axes fig, ax = plt.subplots() # Create a scatter plot and set its initial data scat = ax.scatter(x, y, c=c, s=s, vmin=0, vmax=1, cmap="jet", edgecolor="k") # Initialize FuncAnimation ani = animation.FuncAnimation(fig, update, interval=5, init_func=setup_plot, blit=True) # Setup plot def setup_plot(): ax.axis([-10, 10, -10, 10]) return scat, # Data stream generator def data_stream(): xy = (np.random.random((numpoints, 2))-0.5)*10 s, c = np.random.random((numpoints, 2)).T while True: xy += 0.03 * (np.random.random((numpoints, 2)) - 0.5) s += 0.05 * (np.random.random(numpoints) - 0.5) c += 0.02 * (np.random.random(numpoints) - 0.5) yield np.c_[xy[:,0], xy[:,1], s, c] # Update plot def update(i): data = next(data_stream()) scat.set_offsets(data[:, :2]) scat.set_sizes(300 * abs(data[:, 2])**1.5 + 100) scat.set_array(data[:, 3]) return scat,</code>
Dieses Code-Snippet bietet ein Beispiel dafür, wie ein Streudiagramm mit wechselnden Farben, Größen und Positionen animiert wird. Sie können die Datengenerierungs- und Animationsparameter an Ihre spezifischen Anforderungen anpassen.
Das obige ist der detaillierte Inhalt vonWie erstelle ich animierte Streudiagramme mit wechselnden Farben, Größen und Positionen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!