You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python实现支持双轴缩放的示波器式波形显示工具需求

适合搭建示波器风格界面的Python库
  • matplotlib.animation(无需额外安装)
    你可能没注意到matplotlib本身就能实现示波器效果,用FuncAnimation可以实时更新波形,完全满足快速检查的需求。示例代码:

    import matplotlib.pyplot as plt
    from matplotlib.animation import FuncAnimation
    import numpy as np
    
    fig, ax = plt.subplots()
    x_data = np.linspace(0, 10, 100)
    line, = ax.plot(x_data, np.zeros_like(x_data))
    ax.set_ylim(-1, 1)
    
    def update(frame):
        # 模拟实时生成的波形数据
        y_data = np.sin(x_data + frame/10)
        line.set_ydata(y_data)
        return line,
    
    ani = FuncAnimation(fig, update, interval=50, blit=True)
    plt.show()
    
  • PyQtGraph
    专为实时数据可视化设计,比matplotlib响应更快,API风格简洁,适合快速搭建示波器界面。安装后直接用:

    import pyqtgraph as pg
    from pyqtgraph.Qt import QtCore, QtGui
    import numpy as np
    
    app = QtGui.QApplication([])
    win = pg.GraphicsLayoutWidget(show=True, title='示波器风格界面')
    plot = win.addPlot(title='实时波形')
    curve = plot.plot(pen='y')
    
    data = np.zeros(100)
    ptr = 0
    
    def update():
        global data, ptr
        data[ptr] = np.sin(ptr/10)  # 模拟波形数据
        ptr = (ptr + 1) % len(data)
        curve.setData(data)
    
    timer = QtCore.QTimer()
    timer.timeout.connect(update)
    timer.start(50)
    
    QtGui.QApplication.instance().exec_()
    
  • VisPy
    基于OpenGL的高性能绘图库,适合处理高频更新的波形,用法也很直观:

    import vispy.plot as vp
    import numpy as np
    
    fig = vp.Fig()
    plot = fig[0,0]
    plot.title = '示波器波形'
    plot.ylim = (-1, 1)
    
    x = np.linspace(0, 10, 100)
    y = np.zeros_like(x)
    line = plot.plot((x, y), color='red')
    
    def update(event):
        global y
        y = np.roll(y, -1)
        y[-1] = np.sin(np.random.rand()*10)
        line.set_data(x, y)
    
    timer = fig.canvas.clock.schedule_interval(update, 0.05)
    fig.show(run=True)
    

内容的提问来源于stack exchange,提问作者Nikolai Savulkin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 07:32:33