Menghidupkan Plot Serakan dengan Warna dan Saiz Dinamik
Dalam visualisasi data, selalunya berfaedah untuk menganimasikan plot serakan untuk mendedahkan perubahan dalam data dari semasa ke semasa. Di sini, kami menunjukkan cara untuk mencipta animasi dinamik dengan mempelbagaikan warna dan saiz titik dalam plot taburan pada peringkat animasi yang berbeza.
Menggunakan tatasusunan NumPy untuk perwakilan data, di mana data.shape = (ntime, npoint), x.shape = (npoint), dan y.shape = (npoint), kita boleh membina plot serakan dengan data yang berbeza-beza:
<code class="python">pylab.scatter(x, y, c=data[i, :])</code>
Untuk menghidupkan plot serakan ini, kami menumpukan pada mengubah suai plot dengan atribut berikut:
Pertimbangkan contoh berikut menggunakan modul matplotlib.animation:
<code class="python">import matplotlib.pyplot as plt import numpy as np class AnimatedScatter: def __init__(self, numpoints=50): # ... self.ani = animation.FuncAnimation(self.fig, self.update, interval=5, init_func=self.setup_plot, blit=True) def setup_plot(self): # ... self.scat = self.ax.scatter(x, y, c=c, s=s, vmin=0, vmax=1, cmap="jet", edgecolor="k") # ... return self.scat, def data_stream(self): # ... def update(self, i): data = next(self.stream) self.scat.set_offsets(data[:, :2]) self.scat.set_sizes(300 * abs(data[:, 2])**1.5 + 100) self.scat.set_array(data[:, 3]) return self.scat,</code>
Contoh ini menghasilkan plot taburan dengan titik bergerak, saiz semula dan menukar warna. Ia menunjukkan cara mengubah suai atribut plot taburan dalam fungsi kemas kini animasi.
Selain itu, kami menyediakan contoh yang lebih mudah yang hanya mengemas kini warna:
<code class="python">def main(): # ... fig = plt.figure() scat = plt.scatter(x, y, c=c, s=100) ani = animation.FuncAnimation(fig, update_plot, frames=range(numframes), fargs=(color_data, scat)) plt.show() def update_plot(i, data, scat): scat.set_array(data[i]) return scat,</code>
Dengan menyesuaikan fungsi kemas kini, anda boleh mencipta animasi plot taburan dinamik yang menggambarkan evolusi data dari semasa ke semasa. Teknik ini membuka kemungkinan untuk meneroka corak data yang kompleks dan menyampaikan maklumat dengan cara yang menarik secara visual.
Atas ialah kandungan terperinci Bagaimanakah saya boleh membuat plot taburan animasi dengan perubahan warna dan saiz dinamik menggunakan perpustakaan Matplotlib Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!