Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara yang cekap untuk melukis carta dinamik dengan Python

Cara yang cekap untuk melukis carta dinamik dengan Python

WBOY
WBOYasal
2023-09-27 09:26:061263semak imbas

Cara yang cekap untuk melukis carta dinamik dengan Python

Cara yang cekap untuk melukis carta dinamik dengan Python

Apabila permintaan untuk visualisasi data terus berkembang, lukisan carta dinamik telah menjadi lebih dan lebih popular. Sebagai alat analisis dan visualisasi data yang berkuasa, Python menyediakan banyak perpustakaan untuk melukis pelbagai jenis carta. Dalam artikel ini, kami akan memperkenalkan cara melukis carta dinamik menggunakan Python dan menyediakan beberapa kaedah dan contoh kod yang cekap.

  1. Menggunakan perpustakaan matplotlib

matplotlib ialah salah satu perpustakaan plot yang paling biasa digunakan dalam Python. Ia menyediakan antara muka yang ringkas dan mudah digunakan untuk melukis pelbagai jenis carta statik dan dinamik. Berikut ialah contoh mudah menggunakan matplotlib untuk melukis carta garis dinamik:

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 100)
y = np.sin(x)

fig, ax = plt.subplots()
line, = ax.plot(x, y)

for i in range(100):
    line.set_ydata(np.sin(x + i/10.0))  # 更新y轴数据
    plt.pause(0.1)  # 暂停一段时间,刷新图表

Dalam contoh di atas, kami mula-mula mencipta tatasusunan data yang mengandungi x dan y berbilang titik. Kemudian, kami mencipta objek carta dan objek paksi menggunakan fungsi subplots matplotlib. Seterusnya, kami melukis carta garis awal menggunakan kaedah ax.plot. Kami kemudian menggunakan gelung untuk mengemas kini data paksi-y untuk garis carta garis dan plt.pause untuk memuat semula carta. subplots函数创建一个图表对象和一个轴对象。接下来,我们使用ax.plot方法绘制了一条初始的折线图线。然后,我们使用一个循环来更新折线图线的y轴数据,并使用plt.pause来刷新图表。

  1. 使用bokeh库

bokeh是另一个流行的Python绘图库,专门用于创建交互式和动态的图表。下面是一个使用bokeh绘制动态折线图的示例:

from bokeh.plotting import figure, curdoc
from bokeh.models import ColumnDataSource
from bokeh.driving import count

p = figure(x_range=(0, 10), y_range=(-1, 1))
source = ColumnDataSource(dict(x=[], y=[]))
line = p.line(x='x', y='y', source=source)

@count()
def update(t):
    new_data = dict(x=[t], y=[np.sin(t)])
    source.stream(new_data)

curdoc().add_root(p)
curdoc().add_periodic_callback(update, 100)

在上面的示例中,我们首先创建了一个绘图对象p,设置了x轴和y轴的范围。然后,我们创建了一个列数据源对象source,并使用p.line方法绘制了一条初始的折线图线。接下来,我们定义了一个名为update的函数,该函数在每次调用时更新折线图的数据。最后,我们使用curdoc函数添加图表对象p,并使用curdoc().add_periodic_callback方法定期调用update函数来刷新图表。

  1. 使用Plotly库

Plotly是一个用于创建交互式和动态图表的库,具有强大的在线协作功能。下面是一个使用Plotly绘制动态折线图的示例:

import plotly.graph_objects as go
import numpy as np

x = np.linspace(0, 10, 100)
y = np.sin(x)

fig = go.Figure()
fig.add_trace(go.Scatter(x=x, y=y, mode='lines'))

for i in range(100):
    fig.update_traces({'y': [np.sin(x + i/10.0)]})
    fig.show()

在上面的示例中,我们首先创建了一个绘图对象fig,并使用fig.add_trace方法添加了一条初始的折线图线。然后,我们使用一个循环来更新折线图线的y轴数据,并使用fig.update_traces方法来更新图表。最后,我们使用fig.show

    Menggunakan perpustakaan bokeh

    bokeh ialah satu lagi perpustakaan lukisan Python popular yang direka khusus untuk mencipta carta interaktif dan dinamik. Berikut ialah contoh penggunaan bokeh untuk melukis carta garis dinamik:

    rrreee#🎜🎜#Dalam contoh di atas, kita mula-mula mencipta objek lukisan p dan menetapkan paksi-x dan julat paksi-y. Kemudian, kami mencipta objek sumber data lajur source dan menggunakan kaedah p.line untuk melukis garis carta baris permulaan. Seterusnya, kami mentakrifkan fungsi yang dipanggil kemas kini yang mengemas kini data carta garis setiap kali ia dipanggil. Akhir sekali, kami menambah objek carta p menggunakan fungsi curdoc dan memanggil kemas kini secara berkala menggunakan curdoc().add_periodic_callback fungsi kaedah untuk menyegarkan carta. #🎜🎜#
      #🎜🎜#Menggunakan perpustakaan Plotly #🎜🎜##🎜🎜##🎜🎜#Plotly ialah perpustakaan untuk mencipta carta interaktif dan dinamik dengan Fungsi kerjasama dalam talian yang berkuasa. Berikut ialah contoh menggunakan Plotly untuk melukis carta garis dinamik: #🎜🎜#rrreee#🎜🎜#Dalam contoh di atas, kita mula-mula mencipta objek plot rajah dan menggunakan rajah. Kaedah add_trace menambah garis carta baris permulaan. Kami kemudian menggunakan gelung untuk mengemas kini data paksi-y bagi garis carta garis dan kaedah fig.update_traces untuk mengemas kini carta. Akhir sekali, kami menggunakan fig.show untuk memaparkan carta. #🎜🎜##🎜🎜#Ringkasan#🎜🎜##🎜🎜#Artikel ini memperkenalkan cara yang cekap untuk melukis carta dinamik menggunakan Python, termasuk menggunakan perpustakaan matplotlib, bokeh dan Plotly. Setiap perpustakaan menyediakan antara muka yang ringkas dan mudah digunakan untuk melukis pelbagai jenis carta dinamik. Berdasarkan keperluan dan keutamaan anda, anda boleh memilih perpustakaan lukisan yang sesuai dengan anda untuk melukis carta dinamik. Contoh kod yang disediakan di atas boleh digunakan sebagai rujukan untuk bermula, dan pembaca boleh mengubah suai dan memanjangkannya mengikut keperluan mereka sendiri. #🎜🎜#

Atas ialah kandungan terperinci Cara yang cekap untuk melukis carta dinamik dengan Python. 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