qpython怎么用matplotlib_python-通过文本框的交互式matplotlib图
我正在尝试创建具有三个参数变化的多维函数的交互式matplotlib图.问题在于参数可以在很大的范围内变化,因此我宁愿不使用滑块,而直接键入想要的值.基本上,我想重新创建下面的规范示例,在该示例中,我希望使用文本框(而不是滑块)在其中输入参数
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.widgets import Slider, Button, RadioButtons
fig, ax = plt.subplots()
plt.subplots_adjust(bottom=0.35)
t = np.arange(0.0, 1.0, 0.001)
a0 = 5
f0 = 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])
ax.plot(t,t)
axcolor = 'lightgoldenrodyellow'
axamp = plt.axes([0.25, 0.25, 0.65, 0.03], axisbg=axcolor)
axfreq = plt.axes([0.25, 0.2, 0.65, 0.03], axisbg=axcolor)
sfreq = Slider(axfreq, 'Freq', 0.1, 30.0, valinit=f0)
samp = Slider(axamp, 'Amp', 0.1, 10.0, valinit=a0)
def update(val):
amp = samp.val
freq = sfreq.val
l.set_ydata(amp*np.sin(2*np.pi*freq*t))
fig.canvas.draw_idle()
sfreq.on_changed(update)
samp.on_changed(update)
resetax = plt.axes([0.8, 0.025, 0.1, 0.04])
button = Button(resetax, 'Reset', color=axcolor, hovercolor='0.975')
def reset(event):
sfreq.reset()
samp.reset()
button.on_clicked(reset)
plt.show()
最佳答案
您可以将GUI面板添加到图形窗口.这是一个使用Qt4Agg后端,并将QDockWidget添加到主图形窗口,然后可以将QWidgets添加到停靠窗口的示例.
import numpy as np
import matplotlib
matplotlib.use("Qt4Agg") # This program works with Qt only
import pylab as pl
fig, ax1 = pl.subplots()
t = np.linspace(0, 10, 200)
line, = ax1.plot(t, np.sin(t))
### control panel ###
from PyQt4 import QtGui
from PyQt4 import QtCore
from PyQt4.QtCore import Qt
def update():
freq = float(textbox.text())
y = np.sin(2*np.pi*freq*t)
line.set_data(t, y)
fig.canvas.draw_idle()
root = fig.canvas.manager.window
panel = QtGui.QWidget()
hbox = QtGui.QHBoxLayout(panel)
textbox = QtGui.QLineEdit(parent = panel)
textbox.textChanged.connect(update)
hbox.addWidget(textbox)
panel.setLayout(hbox)
dock = QtGui.QDockWidget("control", root)
root.addDockWidget(Qt.BottomDockWidgetArea, dock)
dock.setWidget(panel)
######################
pl.show()
这是屏幕:
qpython怎么用matplotlib_python-通过文本框的交互式matplotlib图相关推荐
- 6、Java Swing JTextField:单行文本框组件
Swing 中使用 JTextField 类实现一个单行文本框,它允许用户输入单行的文本信息. JTextField类的常用构造方法如下: JTextField()----创建一个默认的文本框. JT ...
- 使用vue制作富文本框
这里分享一个富文本框插件,如图 使用方法: 1-安装 npm install --save vue2-editor或者yarn add vue2-editor 2- 使用 // Basic Use - ...
- vscode 不展示文档注释内容_文本框这样用,实现文档不同板块内容高效联动,你还不知道吧...
--word2016系列教程之"文本框链接使用" 我们使用word文档进行手抄报排版或其他文档排版时,可能会出现一个板块的内容比较多,排不下去.需要在其它板块进行排列,像这样--, ...
- html在文本框选中后在表格中选中,excel表格出现文本框的解决方法步骤
在Excel中如果出现了很多文本框而不是自己需要的,那这些文本框可以删除的.下面是学习啦小编带来的关于excel表格出现文本框的解决方法,希望阅读过后对你有所启发! excel表格出现文本框的解决方法 ...
- JTextField:单行文本框组件
Swing 中使用 JTextField 类实现一个单行文本框,它允许用户输入单行的文本信息.该类的常用构造方法如下. JTextField():创建一个默认的文本框. JTextField(Stri ...
- android编辑框边框设计,Android设计规范 Material Design-Components(17文本框)
文本框 文本框可以让用户输入文本.它们可以是单行的,带或不带滚动条,也可以是多行的,并且带有一个图标.点击文本框后显示光标,并自动显示键盘.除了输入,文本框可以进行其他任务操作,如文本选择(剪切,复制 ...
- 文本框内容自动投影,浅谈C#中事件的写法与应用
C#中委托和事件,对应设计模式:Observe观察者模式 触发事件A的时候自动引起事件B的改变 有两个打开的窗体Form1,Form2 都有一个文本框控件TextBox Form1的文本框输入内容时, ...
- Python批量提取Excel文件中文本框组件里的文本
开学第一课:拜托,一定不要这样问Python问题 中国大学MOOC"Python程序设计基础"免费学习地址 2020年秋季学期Python教材推荐与选用参考 推荐图书: <P ...
- Android QPython3 制作简易GUI长文本框界面
#QPython3H 制作简易GUI长文本框界面 #函数代码部分: import androidhelper as android droid=android.Android() from qsl4a ...
最新文章
- [2774]小P的故事——神奇的发票报销 (sdut)
- 我国人工智能五大开放创新平台集体亮相
- c语言注释的开始标记符和结束标记符分别为,C语言程序设计填空题
- AI 芯片让你升级智能手机,IoT计算智能革命爆发
- ubuntu Gitolite管理git server代码库权限
- 分布式文件系统-HDFS( HDFS全称是Hadoop Distributed System)
- 不重启服务如何定时更新进程中的一个对象
- 子列和列_最大子列和 - fanlinglong - 博客园
- 利用bloom filter算法处理大规模数据过滤
- 支持HTML5的浏览器
- C#录制声卡声音喇叭声音音箱声音
- Selenium - What will happen behind the scenes when running client code
- SNAT/DNAT/MASQUERADE
- 【Luogu】P8195 小智的疑惑
- 静态文档,动态文档和活动文档
- webp怎么转png?图片webp格式怎么转换?
- Python发送验证码短信
- PaddlePaddle运行时出现EnforceNotMet: Enforce failed错误
- 计算机机本科最高学历,我国的“最高学历”是什么?博士后不是正确答案,别再无知了...
- win10远程桌面连接计算机密码错误,win10远程桌面连接错误
热门文章
- LiveVideoStackCon 2018社区编辑门票兑换启动
- 【Go API 开发实战 6】基础 2:配置文件读取
- 项目中要使用到动态规划该怎么应用,怎么说?
- springboot配置定时任务及常用的cron表达式
- leetcode 436. Find Right Interval | 436. 寻找右区间(二分查找不小于某值的第一个位置)
- 【Modelsim零基础入门】新建项目+运行第一个verilog仿真程序:一位加法器
- java安全编码指南之:文件IO操作
- Spring boot 自定义banner
- 高中生计算机创新大赛作品,2017 第十届“英特尔杯”全国大学生软件创新大赛获奖作品...
- 【MySQL性能优化】数据库设计三大范式(二)