问题标签 [pyqtgraph]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 实时数据监视器:PyQtGraph
我正在做一个项目,我将不得不分析来自设备的信号。我有一个正在工作的库,可以从设备中获取数据。截至目前,我正在收集数据然后绘制它。我有兴趣构建一个可以实时绘制图表的实时数据监视器。经过搜索,我发现 PyQtGraph 非常适合这项任务。我不熟悉 Qt,所以我正在寻找可以根据需要进行修改的示例。PyQtGraph 文档中给出的一些示例会实时更新绘图,但我需要像实时监视器这样的东西 - 图表在不断接收数据时向右移动。
如果它类似于已知的连续函数,我可以x - w*t
用t
时间来更新输入,以使波向右移动。但这是离散数据,所以我不确定如何使用 PyQtGraph 让它工作。因此,如果有人可以就如何进行操作提供一些指示,那就太好了。
到目前为止,这就是我所拥有的
代码
这是每隔 2 秒更新一次数据,但我希望它向右移动。
python - 在 Python 中集成两个事件处理程序
我有两个 Python 程序。我们称它们为 Prog1.py 和 Prog2.py 。Prog1 正在帮助我从外部设备获取实时数据。到目前为止,当它获得数据时,它会在屏幕上打印出来。有一个 while 循环在运行,在每次迭代中它都会打印出获取的新数据集。现在 Prog2 是一个使用 PyQtGraph 构建的 Python 程序,旨在像监视器一样实时绘制数据。截至目前,Prog2 所做的是(即,当它单独运行时),它绘制已经获取的数据。这是一个动人的情节。所以 Prog2.py 有一个更新函数,它被定时器以指定的时间间隔重复调用,以便用下一个数据点更新图形(使其向右移动)。
由于 Prog1 和 Prog2 是具有自己的事件循环过程的独立事件,我不确定如何链接它们。我认为一个天真的想法是并行运行 Prog1.py 和 Prog2.py 并要求 Prog1.py 将数据保存到文件中(也许腌制它?)并要求 Prog2.py 从中读取然后绘制图形。但我不相信这一点。这看起来很脏。不知何故,我想在 Prog1.py 中运行整个 Prog2.py 代码。有没有一种干净的方法可以做到这一点?
编辑-代码
程序1.py
Prog2.py 是 PyQtGraph 代码,通过定时器来更新图形并使其滚动
pyqtgraph - PyQtGraph:使用 ImageView 冻结实时视频流
大家好,
我正在为相机编写一个 GUI,我想要一个带有来自相机的实时流的小部件。
按照其中一个示例,我正在这样做:
这确实有效,如果不是因为我还需要侧面的强度直方图,我会很高兴。
所以我尝试像这样更改第一段:
这仅适用于几帧(我可以看到图像发生变化并且直方图相应移动),然后整个 GUI 冻结。有没有人见过这种行为?
先谢谢了,
费德里科
python - 使用 Qt 在 PlotWidget 上选择点
我是 python/pyside/pyqtgraph 的新手,我有点卡在我的程序中。
所以,我有一个代表 10000 个值的 numpy.ndarray,我使用 plot 方法将它绘制在 PlotWidget 中。结果还可以,但现在我想允许用户选择曲线的点,这样我就可以保存该点的 X 轴并在以后使用它。
我想做的是创建一个 QPushButton ,单击它时,它会等待用户通过左键单击选择曲线上的两个点,然后保存 X 轴。在概念上似乎很简单,但我没有找到这样做的好方法。如果你能给我一个例子或其他东西,我会非常高兴,我也愿意接受任何偏离这个用例的建议。
我可以通过以下几行恢复代码:
谢谢,摩根
在 Zet4 回答后编辑:
感谢您的回答,它帮助我入门。最后,我做了一个 PlotWidget 的子类:
然后我在我的窗口中使用它,将按钮信号与改变我的 PltWidget 的布尔值的插槽连接起来:
我可能会使用您的缓冲策略来命令用户进行两个选择。但是,我仍然需要知道如何从我单击的位置获取 PlotWidget 的 X 轴。如果有人使用 pyqtgraph 知道答案,请告诉我。谢谢。
pyqt - PyQtGraph:GUI 仅在一个进程中无响应
我正在为摄像机编写一个 GUI,它基本上可以在两种模式下运行,我称之为 liveview 和 recordview。唯一的区别是我在后者中录制而只在前者中观看。
在实时取景模式下,图像会正确更新。我设置了一个触发记录视图的按钮,但在此采集过程中,GUI 变得无响应并且图像没有得到更新。让我向您展示代码的相关部分:
如您所见UpdateWhileRec
,每次采集只运行一次,而updateview
运行直到viewtimer.stop()
被调用。
我是 PyQt 和 PyQtGraph 的新手,所以无论解决我当前问题的特定方式如何,都可能有更好的方法来做其他所有事情。如果是这样,请告诉我!
先谢谢了
python-3.x - 将 pyqtgraph(绘图)添加到 QApplication
嘿,
太好了,我用 QTDesigner 创建了 MainWindow.ui 文件。然后我使用以下命令将此 gui 导入到我的 .py 文件中:
如果我用 pyuic4 编译这个 .ui 文件有什么区别?(每次我编译我的 .ui 文件时,我都会收到以下错误:
MainWindow 创建第一个窗口,其中放置了所有按钮等。
此外,我还有一个名为“PlotWindow”的第二类。这个类看起来像这样:
现在如您所见,PloWindow - 类创建了第二个窗口。
我如何将 pg.GraphicsLayoutWidget() 实现到 MainWindow - 类中?
不知道这是否可以帮助你?!?:
我正在使用 python3 !随时发表评论:)谢谢!
python - 使用 pyqtgraph 添加新数据栏的最快方法
我想以最快的方式刷新蜡烛图。但是按照修改后的示例,我每次都必须绘制整个图表,即使我只添加了一个新柱。原因是当我再次调用该对象以绘制附加数据时,QPainter 对象被清除。它可能很慢。从字面上看,我只想“添加”一个条形数据。
那么有人可以教我如何重新开始绘画或给我好的想法吗?
python - pyqtgraph GraphItem中带方向的边
我正在尝试使用 pyqtgraph 在 Python 中可视化控制流图。我有以下两个问题。
- 如何通过方向可视化边缘?
- 如何可视化自我边缘?
我尝试查看文档,但找不到。显然,我没有时间阅读所有内容!
pyqtgraph - 在 ImageView 中显示 3D 数据的参数值
此示例随模块一起提供:
我怎样才能知道底部滑块上参数(标记为红色)的确切值?到达那里的方式并不重要——无论是作为工具提示还是作为在屏幕上绘制的值等。
python - 如何在 PlotItem 内设置轴位置
我正在使用 PyQt 和 pyqtgraph 构建一个实时数据监控应用程序。GUI 具有三个垂直布局的 PlotWidget。
这些图显示了传感器的位置。第一个显示 X 坐标,第二个显示 Y 坐标,第三个绘图显示 Z 坐标。横坐标是时间,这对于所有三个图都是相同的。
我的问题是三个纵坐标轴(即 Y 轴)的水平位置在 PlotWidget 内移动并且不对齐。我认为这主要是由于 Y 轴刻度标签,根据显示的位数可能需要更多或更少的空间。
这是一种修复或手动设置绘图轴位置的方法吗?
谢谢
作为参考,这是我设置 PlotItems 的方式:
这就是我进行绘图的方式:
这是代码的精简版本: