【PyQt5-Qt Designer】在GUI中使用pyqtgraph绘图库
pyqtgraph绘图库
1.1 简介:
pyqtgraph是Python平台上一种功能强大的2D/3D绘图库,相对于matplotlib库,由于内部实现方式上,使用了高速计算的numpy信号处理库以及Qt的GraphicsView框架,
因此,它在大数据量的数字处理和快速显示方面有着巨大的优势,它适合于需要快速绘图更新、视频或实时交互性的操作场合。
另外,它不仅为各种数据提供了快速可交互式的图形显示,同时也提供了用于快速开发应用程序的各种小工具,如属性树、流程图等小部件,在数学、科学和工程领域都有着广泛的应用。
在PyQt的应用程序中集成图绘功能,有很多种方案,比如:
OpenGL:一个功能强大的二维三维专业图形绘制工具;
Matplotlib:Python中很经典的图形绘制模块;
PyQtGraph:基于Qt平台,提供交互的数据显示图形绘制。
各种图形绘制方案都有自己的优点,但是论与PyQt程序的融合度,还是当属PyQtGraph。
pyqtgraph的核心特征是:
基本的2D交互视图中框绘制
线和散点图
数据可平移/缩放鼠标
实时数据的显示和交互的快速绘制
图像显示与互动的查找表和电平控制
显示所有数据类型(int或float;任何比特深度;RGB,RGBA,或亮度)
切片的多维图像任意角度的函数
快速更新的视频显示和实时交互
三维图形系统(需要Python OpenGL绑定)
体积数据的渲染
三维表面和散点图
网格的等值面生成渲染
交互式视口旋转/缩放鼠标
更容易编程的基本的3D场景图
数据选择/标记和感兴趣的控制区
交互标记垂直/水平的地块的位置和区域
从图像中选择任意区域的部件和自动切片数据匹配
1.2 例子
PyQtGraph包含一系列可通过运行来访问的示例:
import pyqtgraph.examples
pyqtgraph.examples.run()
二、鼠标交互
大多数使用pyqtgraph数据可视化的应用程序都会生成可交互缩放,平移和使用鼠标配置的小部件。 本节介绍鼠标与这些小部件的交互。
2.1二维图形
在pyqtgraph中,大多数2D可视化遵循以下鼠标交互:
- 左键:与场景中的项目交互(选择/移动对象等)。 如果鼠标光标下没有可移动的物体,那么用左边的按钮拖动就会平移场景。
- 右键拖动:缩放场景。 水平拖动左/右缩放; 向上/向下拖动垂直缩放(尽管某些场景将其x / y缩放比例锁定在一起)。 如果在场景中有x / y轴可以闪动,那么右键拖动轴会影响该轴。
- 右键单击:在大多数情况下单击右键将根据鼠标光标下的对象显示具有各种选项的上下文菜单。
- 中间按钮(或滚轮)拖动:按下滚轮拖动鼠标将始终平移场景(在场景中其他对象阻止左侧平移的情况下,此功能非常有用)。
- 轮旋转:放大和缩小场景。
对于使用右侧或中间按钮拖动很困难的机器(通常是Mac),存在另一种鼠标交互模式。 在此模式下,用鼠标左键拖动可在场景的某个区域上绘制一个框。 按钮释放后,场景将缩放并平移以适合框。 可以在上下文菜单中或通过调用以下方式访问此模式:
pyqtgraph.setConfigOption('leftButtonPan', False)
三、在GUI中集成pyqtgraph图形
在PyQtGraph中,有几种绘制图形的方法:
pyqtgraph.plot():创建一个新的绘图窗口来显示数据;
PlotWidget.plot():将一组新的数据添加到现有的绘图小部件;
PlotItem.plot():将一组新的数据添加到现有的绘图小部件;
GraphicsLayout.addPlot():添加一个新的图形到一个图形层中;
根据PyQtGraph这几种绘图方式,我们在PyQt中可以在窗口部件中显示图形,也可以在一个新的窗口的显示图形。
【PyQt5-Qt Designer】在GUI中使用pyqtgraph绘图库的更多相关文章
- 第15.9节 PyQt学习入门:使用Qt Designer进行GUI设计的步骤
在使用Qt Designer进行GUI设计时,一般常规的步骤都是差不多的,主要步骤包括新建显示窗口.在窗口上按照规划的布局放置组件.设置初始化组件的属性.定义信号和槽函数的连接,一般后三步是每增加一个 ...
- 使用 PySide2 开发 Maya 插件系列一:QT Designer 设计GUI, pyside-uic 把 .ui 文件转为 .py 文件
使用 PySide2 开发 Maya 插件系列一:QT Designer 设计GUI, pyside-uic 把 .ui 文件转为 .py 文件 前期准备: 安装 python:https://www ...
- PyCharm+PyQt5+Qt Designer配置
配置前提 因为本机已经配置完毕了,本次使用的是虚拟机中的Win7系统,Win10系统操作步骤完全一样,无任何区别 PyCharm (这个不多说,官网下载安装,我是用的是2019.3版本) Python ...
- PyQt5 & Qt Designer使用小结
开始在知乎写文章的原因,主要还是想整理平时的经验,方便自己以后查看,有机会的话大家也可以交流吧. 11月中旬由于项目需要,和另一名实习生负责使用Python开发一个数据分析的小软件. 虽然才开始接触Q ...
- 第三章 、使用Qt Designer进行GUI设计
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一.Designer的界面功能介绍 进入Qt Designer以后,打开或新建一个ui文件,Qt D ...
- 痞子衡嵌入式:超级好用的可视化PyQt GUI构建工具(Qt Designer)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是PyQt GUI构建工具Qt Designer. 痞子衡开博客至今已有好几年,一直以嵌入式开发相关主题的文章为主线,偶尔穿插一些其他技术 ...
- PyCharm安装PyQt5及其工具(Qt Designer、PyUIC、PyRcc)详细教程
摘要:Qt是常用的用户界面设计工具,而在Python中则使用PyQt这一工具包,它是Python编程语言和Qt库的成功融合.这篇博文通过图文详细介绍在PyCharm中如何完整优雅地安装配置PyQt5的 ...
- 自定义的插件如何加载到Qt Designer中(详细)
要想在Qt Designer中使用自定义控件,必须要使Qt Designer能够知道我们的自定义控件的存在.有两种方法可以把新自定义控件的信息通知给Qt Designer:“升级(promotion) ...
- 把自定义控件集成到Qt Designer中
要想在Qt Designer中使用自定义控件,必须要使Qt Designer能够知道我们的自定义控件的存在.有两种方法可以把新自定义控件的信息通知给Qt Designer:“升级(promotion) ...
随机推荐
- jquery.pagination.js 新增 首页 尾页 功能
jquery.pagination.js 新增 首页 尾页 功能 废话不多说,直接上修改后的代码,修改部分已经用 update 注释包含 17-20行 99-103行 141-145行 /** * T ...
- 数据中心内负载均衡-ECMP的使用分析
背景 数据中心的网络拓扑通常采用CLOS结构,主机之间常存在多条路径.数据中心为满足吞吐量敏感型流量的需求会提供大量的带宽资源.那么利用数据中心这种网络拓扑已知,路径资源.带宽资源丰富的特性,可以更好 ...
- 树莓派配置tomcat
先安装配置好apache apt-get install apache2 /etc/init.d/apache2 start (blog passage from http://www.cnblogs ...
- [Converge] Batch Normalisation
参考:https://www.zhihu.com/question/38102762 参考:CNN和RNN中如何引入BatchNorm 论文:Batch Normalization: Accelera ...
- HttpWatch的Result中出现Aborted的原因分析
我们在使用HttpWatch进行Web调试的过程中有时候会看到非HTTP Status Code(状态码)的值,例如:(Aborted). (Aborted)是HttpWatch中定义的三种非HTTP ...
- 【Spring】Spring中用到的设计模式
1.简单工厂 又叫静态工厂方法模式,不属于23种设计模式之一. 简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类. Spring中的BeanFactory就是简单工厂模式的 ...
- vba 调用 countif 函数问题
源数据是A1:G18,需求是在K列显示A1:A18中各单元格重复出现的次数.在L列中是用countif函数直接计算的, Private Sub test() Dim rng As Range, i A ...
- 【react】---styled-components的基本使用---【巷子】
一.官网地址 https://www.styled-components.com/ 二.styled-components 1.styled-components 样式化组件,主要作用是它可以编写实际 ...
- 关于JS获取某月最后一天
发现网上用js获取某月最后一个的方式大多比较复杂,上个简单的: new Date(2013,4).toJSON().substring(0,10) new Date(2013,4,0).toLocal ...
- Eclipse中代码格式化配置
一.配置formatter 从Eclipse主菜单选择“窗口→首选项”,进入“代码格式化程序”设置页.如下图所示: 确认选择的是格式化配置是Eclipse [built-in]. 注意:编写好代码后需 ...