Python使用Slider组件实现调整曲线参数功能示例


Posted in Python onSeptember 06, 2019

本文实例讲述了Python使用Slider组件实现调整曲线参数功能。分享给大家供大家参考,具体如下:

一 代码

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.widgets import Slider,Button,RadioButtons
fig, ax = plt.subplots()
plt.subplots_adjust(left=0.1, bottom=0.25)
t = np.arange(0.0,1.0,0.001)
#初始振幅与频率,并绘制初始图形
a0, f0=5,3
s = a0*np.sin(2*np.pi*f0*t)
l,= plt.plot(t, s, lw=2, color='red')
#设置坐标轴刻度范围
plt.axis([0,1,-10,10])
axColor ='lightgoldenrodyellow'
#创建两个Slider组件,分别设置位置/尺寸、背景色和初始值
axfreq = plt.axes([0.1,0.1,0.75,0.03], axisbg=axColor)
sfreq =Slider(axfreq,'Freq',0.1,30.0, valinit=f0)
axamp = plt.axes([0.1,0.15,0.75,0.03], axisbg=axColor)
samp =Slider(axamp,'Amp',0.1,10.0, valinit=a0)
#为Slider组件设置事件处理函数
def update(event):
#获取Slider组件的当前值,并以此来更新图形
amp = samp.val
freq = sfreq.val
l.set_ydata(amp*np.sin(2*np.pi*freq*t))
plt.draw()
#fig.canvas.draw_idle()
sfreq.on_changed(update)
samp.on_changed(update)
def adjustSliderValue(event):
ampValue = samp.val +0.05
if ampValue >10:
ampValue =0.1
samp.set_val(ampValue)
freqValue = sfreq.val +0.05
if freqValue >30:
freqValue =0.1
sfreq.set_val(freqValue)
update(event)
axAdjust = plt.axes([0.6,0.025,0.1,0.04])
buttonAdjust =Button(axAdjust,'Adjust', color=axColor, hovercolor='red')
buttonAdjust.on_clicked(adjustSliderValue)
#创建按钮组件,用来恢复初始值
resetax = plt.axes([0.8,0.025,0.1,0.04])
button =Button(resetax,'Reset', color=axColor, hovercolor='yellow')
def reset(event):
sfreq.reset()
samp.reset()
button.on_clicked(reset)
###用来控制图形颜色的
##rax = plt.axes([0.025, 0.5, 0.15, 0.15], axisbg=axColor)
##radio = RadioButtons(rax, ('red', 'blue', 'green'), active=0)
##def colorfunc(label):
## l.set_color(label)
## fig.canvas.draw_idle()
##radio.on_clicked(colorfunc)
plt.show()

二 运行结果

Python使用Slider组件实现调整曲线参数功能示例

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
从Python的源码浅要剖析Python的内存管理
Apr 16 Python
python字典的常用操作方法小结
May 16 Python
Flask框架的学习指南之用户登录管理
Nov 20 Python
Python 包含汉字的文件读写之每行末尾加上特定字符
Dec 12 Python
Python用UUID库生成唯一ID的方法示例
Dec 15 Python
Python协程的用法和例子详解
Sep 09 Python
Python3.5文件读与写操作经典实例详解
May 01 Python
详解mac python+selenium+Chrome 简单案例
Nov 08 Python
python3.8下载及安装步骤详解
Jan 15 Python
基于python实现ROC曲线绘制广场解析
Jun 28 Python
Python列表推导式实现代码实例
Sep 09 Python
Python图像读写方法对比
Nov 16 Python
Python scipy的二维图像卷积运算与图像模糊处理操作示例
Sep 06 #Python
Python数学形态学实例分析
Sep 06 #Python
Python统计分析模块statistics用法示例
Sep 06 #Python
使用PyInstaller将Pygame库编写的小游戏程序打包为exe文件及出现问题解决方法
Sep 06 #Python
python监控nginx端口和进程状态
Sep 06 #Python
Python3.6+selenium2.53.6自动化测试_读取excel文件的方法
Sep 06 #Python
修改 CentOS 6.x 上默认Python的方法
Sep 06 #Python
You might like
深入for,while,foreach遍历时间比较的详解
2013/06/08 PHP
浅谈PHP接收POST数据方式
2015/06/05 PHP
YII Framework教程之异常处理详解
2016/03/14 PHP
PHP7生产环境队列Beanstalkd用法详解
2020/05/19 PHP
分析 JavaScript 中令人困惑的变量赋值
2007/08/13 Javascript
jquery text()要注意啦
2009/10/30 Javascript
jquery实现图片等比例缩放以及max-width在ie中不兼容解决
2013/03/21 Javascript
JS实现div内部的文字或图片自动循环滚动代码
2013/04/19 Javascript
js函数定时器实现定时读取系统实时连接数
2014/04/30 Javascript
JavaScript实现从数组中选出和等于固定值的n个数
2014/09/03 Javascript
JS实现控制表格行文本对齐的方法
2015/03/30 Javascript
jquery实现具有收缩功能的垂直导航菜单
2016/02/16 Javascript
canvas 弹幕效果(实例分享)
2017/01/11 Javascript
Vuejs 组件——props数据传递的实例代码
2017/03/07 Javascript
jquery事件与绑定事件
2017/03/16 Javascript
electron制作仿制qq聊天界面的示例代码
2018/11/26 Javascript
基于JS实现数字动态变化显示效果附源码
2019/07/18 Javascript
Vue路由管理器Vue-router的使用方法详解
2020/02/05 Javascript
jquery.validate自定义验证用法实例分析【成功提示与择要提示】
2020/06/06 jQuery
基于Electron实现桌面应用开发代码实例
2020/07/07 Javascript
VUE 实现element upload上传图片到阿里云
2020/08/12 Javascript
在vue中使用inheritAttrs实现组件的扩展性介绍
2020/12/07 Vue.js
Python编程中字符串和列表的基本知识讲解
2015/10/14 Python
Sanic框架流式传输操作示例
2018/07/18 Python
wxPython的安装与使用教程
2018/08/31 Python
Python SMTP发送邮件遇到的一些问题及解决办法
2018/10/24 Python
python 找出list中最大或者最小几个数的索引方法
2018/10/30 Python
为何人工智能(AI)首选Python?读完这篇文章你就知道了(推荐)
2019/04/06 Python
肯尼亚网上商城:Kilimall
2016/08/20 全球购物
英国独特的时尚和生活方式品牌:JOY
2018/03/17 全球购物
美国球迷装备的第一来源:FOCO
2020/07/03 全球购物
梅西百货官网:Macy’s
2020/08/04 全球购物
化验室技术员岗位职责
2013/12/24 职场文书
幼儿园大班毕业感言
2014/02/06 职场文书
《大海那边》教学反思
2014/04/09 职场文书
Python函数式编程中itertools模块详解
2021/09/15 Python