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

Mary-Kate Olsen
Lepaskan: 2024-11-07 00:21:02
asal
736 orang telah melayarinya

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!