Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Menghidupkan Plot Taburan dalam Matplotlib untuk Memvisualisasikan Data Berubah Masa?

Bagaimana untuk Menghidupkan Plot Taburan dalam Matplotlib untuk Memvisualisasikan Data Berubah Masa?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-07 00:21:02816semak imbas

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

Menghidupkan Plot Scatter dalam Matplotlib

Plot Scatter ialah alat yang berguna untuk menggambarkan hubungan antara dua atau lebih pembolehubah. Apabila data berubah dari semasa ke semasa, anda boleh menghidupkan plot taburan untuk melihat bagaimana perhubungan itu berkembang.

Mengemas kini Kedudukan, Saiz dan Warna

Untuk menganimasikan plot berselerak, anda perlu mengemas kini kedudukan, saiz atau warna titik pada setiap bingkai animasi. Ini boleh dilakukan menggunakan kaedah set_offsets, set_sizes dan set_array bagi objek Scatter.

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

Menggunakan FuncAnimation

Kelas FuncAnimation daripada matplotlib. modul animasi boleh digunakan untuk mengemas kini plot serakan secara automatik pada setiap bingkai animasi. Argumen init_func dipanggil sekali untuk memulakan plot, manakala fungsi kemas kini dipanggil pada setiap bingkai.

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

Contoh

Contoh berikut mencipta animasi bagi plot taburan di mana mata bergerak secara rawak dan berubah warna dari semasa ke semasa:

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

Animasi ini akan menunjukkan plot taburan 50 mata yang bergerak secara rawak dan berubah warna dari semasa ke semasa.

Atas ialah kandungan terperinci Bagaimana untuk Menghidupkan Plot Taburan dalam Matplotlib untuk Memvisualisasikan Data Berubah Masa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn