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.
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
来刷新图表。
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
函数来刷新图表。
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
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 lukisansource
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. #🎜🎜#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!