您尚未登录。

楼主 #1 2020-02-18 09:18:50

pythinker
会员
注册时间: 2019-02-12
已发帖子: 215
积分: 215

适用于Python的科学图形和GUI库 ---- PyQtGraph

离线

楼主 #2 2020-02-18 09:21:02

pythinker
会员
注册时间: 2019-02-12
已发帖子: 215
积分: 215

Re: 适用于Python的科学图形和GUI库 ---- PyQtGraph

PyQtGraph是基于PyQt4 / PySide和numpy构建的纯Python图形和GUI库。它旨在用于数学/科学/工程应用。尽管完全用python编写,但由于numpy大量使用数字处理和Qt的GraphicsView框架进行快速显示,该库非常快。PyQtGraph是根据MIT开源许可证发行的。
主要特点:

交互式视图框中的基本2D绘图
线图和散点图
数据可以通过鼠标平移/缩放
快速绘制以进行实时数据显示和交互
带有交互式查找表和级别控制的图像显示
显示大多数数据类型(整数或浮点;任何位深度; RGB,RGBA或亮度)
用于以任意角度切片多维图像的功能(对于MRI数据来说很棒)
快速更新视频显示或实时交互
3D图形系统(需要Python-OpenGL绑定)
体数据渲染
3D表面和散点图
等值面生成的网格渲染
交互式视口使用鼠标旋转/缩放
基本的3D场景图,易于编程
数据选择/标记和关注区域控制
交互式标记图中的垂直/水平位置和区域
用于从图像中选择任意区域并自动切片数据以匹配的小部件
易于生成新图形
2D图形使用Qt的GraphicsView框架,该框架功能强大且成熟。
3D图形使用OpenGL
所有图形都使用场景图来管理项目。新的图形项很容易创建。
对科学/工程应用有用的小部件和模块库
用于交互式原型的流程图小部件。
与LabView相似的接口(通过电线连接的节点)。
用于显示/编辑参数层次结构的参数树小部件
(类似于大多数GUI设计应用程序所使用的小部件)。
具有异常捕获功能的交互式python控制台。
非常适合调试/自省以及高级用户交互。
多进程控制允许远程绘图,跨进程的Qt信号连接以及非常简单的在线并行化。
坞站系统允许用户重新排列GUI组件。
与Qt的扩展坞系统类似,但更加灵活和可编程。
色彩渐变编辑器
具有SI单位显示和对数步进的SpinBox
安装:

PyQtGraph实际上并不需要任何安装脚本。只需要将pyqtgraph文件夹放置在可导入的位置。大多数人将更喜欢将此文件夹简单地放置在较大的项目文件夹中。如果要使pyqtgraph在系统范围内可用,请使用下面列出的方法之一:

Debian,Ubuntu和类似的Linux:
下载页面顶部链接的.deb文件。
其他Linux:
许多人已经为非Debian Linux发行版生成了软件包,包括Arch,Suse和Gentoo。检查您的分发存储库中是否有pyqtgraph软件包。
Windows:
下载并运行页面顶部链接的.exe安装程序文件。
每个人(包括OSX):
下载页面顶部链接的.tar.gz源程序包,解压缩其内容,然后从解压缩的目录中运行“ python setup.py install”(pyqtgraph是纯Python库,因此在此安装过程中不会进行编译)。或者,使用“ pip install pyqtgraph”从pypi安装。
要求:

PyQtGraph已知可以在Linux,Windows和OSX上运行。
但是,它应在支持以下软件包的任何平台上运行:
Python 2.7和3+
PyQt 4.8+或PySide
NumPy
3D图形需要python-opengl绑定
说明文件:

文档在此处托管。
如果您想索取文档的特定部分,请在论坛上提问 。还有很多例子可以浏览。对于示例菜单运行:
    python -m pyqtgraph.examples
包装包装:
使用pyqtgraph编写的应用程序可以使用py2exe打包为Windows exe文件,或者使用py2app打包为OSX dmg文件。对于pyqtgraph 0.9.8及更早版本,请阅读这份出色而详尽的 文档,其中介绍了该过程。由基督教加文
对于过去的版本0.9.8,使用py2exe要简单得多; 参见示例/ py2exe。
问题,反馈和错误报告:

将问题,反馈和错误报告发布到pyqtgraph论坛。
或者:使用标签“ pyqtgraph”将问题发布到Stack Overflow(如果未正确标记,我可能永远不会看到它)。
与其他python图形包的比较:

Matplotlib或多或少是python的事实上的标准绘图库。如果您要开始一个新项目并且不需要pyqtgraph专门提供的任何功能,则应从matplotlib开始。它更加成熟,拥有庞大的用户社区,并且可以产生非常好的出版物质量的图形。
您可能要改用pyqtgraph的原因:

速度。如果您要执行需要快速绘图更新,视频或实时交互的操作,则matplotlib并不是最佳选择。(我认为)这是matplotlib的最大弱点。
便携性/易于安装。PyQtGraph是一个纯python软件包,这意味着它几乎可以在numpy和PyQt支持的每个平台上运行,而无需编译。如果您需要应用程序中的可移植性,这可以使您的生活变得更加轻松。
许多其他功能-pyqtgraph不仅仅是绘图库;它努力通过更高级的功能来覆盖科学/工程应用程序开发的许多方面,例如ImageView和ScatterPlotWidget分析工具,基于ROI的数据切片,参数树,流程图,多处理等。

VisPy是一个新的基于OpenGL的2D / 3D可视化库,是PyQtGraph,VisVis,Galry和Glumpy的作者之间合作开发的。它目前处于早期开发阶段,其范围比PyQtGraph狭窄-它将专注于可视化,而无需PyQtGraph提供的GUI工具包功能。从长远来看,我们希望VisPy能够取代Qt作为2D图形的渲染引擎,并完全取代pyqtgraph.opengl 3D系统。 有关VisPy的更多信息,请点击这里。

PyQwt具有一组非常好的功能,并且足够快地进行实时工作。它的主要缺点是它目前尚未维护,并且可能难以在各种平台上工作。希望将来可以找到一个新的维护者,但是在那之前最好避免使用PyQwt(原始的PyQwt维护者目前建议使用pyqtgraph;请检查其邮件列表以获取更新)。像matplotlib一样,PyQwt缺少pyqtgraph的一些更高级的功能。
Chaco是一个非常有趣的项目-精美的图形,良好的速度以及积极开发的项目。但是,与PyQwt一样,Chaco可能很难在多种平台上进行安装,并且缺少pyqtgraph的一些更高级的功能(尽管pyqtgraph当然也缺少Chaco的许多功能)。
GuiQwt是一个有趣的项目,具有许多与pyqtgraph类似的高级功能。它目前基于PyQwt,因此存在一些缺点,尽管将来似乎有计划对此进行更改。
[请注意:我已经有一段时间没有使用这些库了;请让我知道此信息是否过时。]

离线

楼主 #3 2020-02-18 09:22:34

pythinker
会员
注册时间: 2019-02-12
已发帖子: 215
积分: 215

Re: 适用于Python的科学图形和GUI库 ---- PyQtGraph

data_slicing.png

flowchart.png

plotting.png

pyqtgraph-3d.png

screenshot3.png

离线

#4 2021-07-30 14:00:31

jlau
会员
注册时间: 2018-06-11
已发帖子: 209
积分: 201.5

Re: 适用于Python的科学图形和GUI库 ---- PyQtGraph

科学计算,国外已经开始往Julia转了

离线

#5 2021-07-31 01:59:59

david
会员
注册时间: 2018-03-05
已发帖子: 385
积分: 316.5

Re: 适用于Python的科学图形和GUI库 ---- PyQtGraph

Julia应该有用 但是从python转还不至于吧 至少我周围还没听说谁转Julia 说不定可以 pip install julia

离线

#6 2021-08-06 17:13:48

dragoniye
会员
注册时间: 2019-02-07
已发帖子: 39
积分: 37.5

Re: 适用于Python的科学图形和GUI库 ---- PyQtGraph

该评论内容与本帖子无关,鼓励各位坑友积极发言讨论与帖子有关的内容!

离线

  • 不通过:与技术无关

#7 2021-08-07 08:43:47

kit7828
会员
注册时间: 2019-12-28
已发帖子: 15
积分: 1

Re: 适用于Python的科学图形和GUI库 ---- PyQtGraph

好玄幻的感觉

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn