Python动态图线绘制

可以使用ipywidgets生成动态绘制的控件,该库中用于动态绘制的控件主要有:

  • Play控件:有播放,暂停和循环播放三个按键
  • Slider控件:滑动条控件,区分IntSlider表示整型值滑块,FloatSlider表示实型值滑块,SelectionSlider表示离散值滑块,另外相应还有IntRangeSlider、FloatRangeSlider和SelectionRangeSlider,可以生成一个有两个值的元组

进行动态绘图的步骤如下:

  1. 编写单步绘制函数,如编写一个正弦单步绘制函数如下所示
import numpy as np
import matplotlib.pyplot as plt
import ipywidgets as widgets

steps = 100
xs = np.linspace(0, np.pi, steps)
ys = np.sin(xs)
# 定义绘图函数
def plot_sine_curve(x):
    _, ax = plt.subplots(dpi=100)
    ax.plot(xs[:x], ys[:x])
    ax.grid()
    ax.set_xlim(0, np.pi)
    ax.set_ylim(0, 1)
    plt.show()
  1. 如果使用手动控制绘制进度,可使用滑块生成单步绘图函数所需的参数
slider = widgets.IntSlider(value=0, min=0, max=steps, step=1)
  1. 如果需要自动绘制,可使用Play控件生成单步绘图所需的参数
#interval参数指定两步间隔时间,单位是毫秒
play = widgets.Play(value=0, min=0, max=steps, step=1, interval=200)
  1. 将上述控件与单步绘制函数绑定,实现控件生成的值传递给单步绘制函数的参数
#下面第一个参数为单步绘制的函数名,第二个参数中x需与单步绘制函数的参数名一致,slider是的控件对象名称
interactive_plot = widgets.interactive(plot_sine_curve, x=slider)
  1. 显示这个交互绘制图
interactive_plot
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值