You need to enable JavaScript to run this app. 如何使用ipywidgets和matplotlib实现Jupyter中可交互的正弦波频率控制绘图
优惠活动
大模型
产品
解决方案
定价
更多

如何使用ipywidgets和matplotlib实现Jupyter中可交互的正弦波频率控制绘图

Jupyter Notebook 交互式正弦波频率控制可运行示例

以下代码可直接复制到单个Jupyter Notebook单元格中运行,无需额外配置,拖动生成的滑块即可实时调节正弦波频率,不会出现旧图堆叠问题:

import ipywidgets as widgets
from ipywidgets import interact
import matplotlib.pyplot as plt
import numpy as np

%matplotlib inline

def update_sine(frequency = 1.0):
    # 清空当前画布
    plt.clf()
    # 生成坐标数据
    x = np.linspace(0, 2 * np.pi, 200)
    y = np.sin(frequency * x)
    # 绘图配置
    plt.plot(x, y, linewidth=2)
    plt.grid(alpha=0.3)
    plt.xlabel('x')
    plt.ylabel('y')
    plt.title(f'y = sin({frequency}x)')
    plt.ylim(-1.1, 1.1)
    plt.show()

# 绑定滑块交互控件
interact(
    update_sine,
    frequency=widgets.FloatSlider(
        min=0.1, 
        max=10, 
        step=0.1, 
        value=1.0, 
        description='频率:'
    )
);

运行效果说明:

  • 滑块默认调节范围为0.1~10,步长0.1,可直接修改FloatSlider的对应参数自定义调节规则
  • 每次交互会自动清空上一张画布内容,不会出现图像堆叠
  • 依赖仅需ipywidgets、matplotlib、numpy三个常用库,通用Jupyter环境均可直接运行

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 04:24:03