问题标签 [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 的 GraphicsLayout 中的边距
使用 PyQtGraph 进行简单的图形布局:
哪个输出:
我怎样才能摆脱绿色外线和窗口边框之间的小边距?
我可以做到这一点并使用l.setContentsMargins(-10., -10., -10., -10.)
,这很有效:
但在我看来,这似乎是一个肮脏的把戏,应该有另一个参数来设置该边距。这可能吗?我可以设置另一个边距参数0
以获得相同的结果吗?
python - 带有链接轴的 PyQtGraph 网格
使用 PyQtGraph 进行简单的图形布局,其中图的 x 轴链接在一起,并且网格也显示在两个图中:
如果我在第一个图中隐藏 x 轴(取消注释p0.hideAxis('bottom')
代码中的行),那么轴将消失,但网格也会消失:
我怎么能强迫它呆在那里?由于两个 x 轴都链接在一起,我希望这是可能的(上图中的网格可以取自下图的 x 轴)。
python - 关闭应用程序时多次出现错误“QObject::startTimer: QTimer can only be used with threads started with QThread”
我知道这已经被问过很多次了。我阅读了所有这些主题,我的情况似乎有所不同。遇到此问题的其他所有人都有一些我认为我已经排除的直接原因,例如:
- 启动没有事件循环运行的计时器
- 从创建定时器的线程以外的线程启动/停止定时器
- 未能设置小部件的父属性,导致破坏顺序出现问题
下面我有一个演示问题的最小代码示例。请注意,我没有启动任何线程或计时器。我还设置了每个小部件的父级。如果我删除图形小部件,问题就会消失,所以有人很想责怪 pyQtGraph,但是,如果我包含绘图小部件但排除所有空白选项卡(即除了 tabCatchaTiger 之外的每个选项卡),问题也会消失,并且似乎证明 pyQtGraph 是正确的。
版本:
- Windows 7的
- Python 2.7.8
- 翼IDE 5.0.9-1
- PyQt 4.11.1
- PyQwt 5.2.1
- PyQtGraph 0.9.8
测试用例:
python - PyQt connect inside for 循环与单独调用导致不同的行为
我正在构建一个绘图 UI,允许用户从加载的数据集生成多个绘图。作为其中的一部分,用户可以将标记线添加到他们的绘图中,以通过在绘图上移动这些标记线来检查 (x, y) 值。
如果将标记分别添加到每个绘图(即通过 elif 代码块分别将标记添加到 Plot1、Plot2 等),则以下功能可以正常工作。但是,如果选择了“全部添加”选项,则会导致在 add_marker 函数中使用 for 循环代码块,所有标记最终都会成为列表中最后一个 plotItem (plot_objects) 的子项。
如果我在调用 add_marker 函数时在循环迭代时检查标记对象,则对象及其父对象是不同的。但是,如果我在 update_marker_vals 函数中检查父项,则标记 1 和 2 的父项对于列表中的最后一个图以外的所有图都不正确。
不确定这里发生了什么,但我认为这与两个 sigDragged.connect 语句有关,因为在那之前其他一切似乎都很好。
代码:
编辑:
附带说明一下,作为一种解决方案,我可以将此函数分成两个函数 - 一个函数创建两个标记,然后另一个函数从 QComboBox 获取输入并为特定绘图创建一组标记或创建标记所有可用的地块。这可行,并且是我当前的解决方案,但我仍然对上述代码的问题感到好奇。
python - PyQt mousePressEvent - 获取被点击的对象?
我正在使用 PyQt 和 PyQtGraph 构建一个相对简单的绘图 UI。作为其中的一部分,我有一个图形视图(pyqtgraph 的 graphicslayoutwidget),其中有用户动态添加的 PlotItems。
我想要实现的是允许用户通过双击它来选择一个 PlotItem。
如果用户在小部件窗口中双击某处,这很简单,但我似乎无法弄清楚如何返回单击的内容。
我的大部分搜索结果都试图为某些按钮重新实现 mousePressEvent。我已经阅读了一些有关事件过滤器的信息,但我不确定这是否是必要的解决方案。
我不确定还有哪些其他信息可能有助于回答这个问题,所以如果不清楚我在问什么,请告诉我,以便我澄清。
编辑:
这个的副本:
pyqt - PyQt 和 PyQtGraph 库。qtgui.QGraphicsObject 与 pyqtgraph.GraphicsObject
我不确定我是否理解这些是如何工作的(我什至不确定我是否应该谈论这些或这个)。我正在阅读 pyqtgraph 示例,并找到了对“GraphicsObject”的调用。在 pyqtgraph 的文档中查找它,似乎他们有自己的 QGraphicsObject 类。那是对的吗?
我无法导入正确的GraphicsObject(其中包括 GraphicsItem 等;只是使用该类来更好地解释自己)。我已经重新安装了库,所以它与它无关,所以......我错过了什么?如果这个问题很愚蠢,我提前道歉。
例子:
在 PyCharm 中显示有关 GraphItem 的错误:
在“ init .py”中找不到引用“GraphItem ”
检查检测应该解析但没有解析的名称。由于动态调度和鸭子类型,这在有限但有用的情况下是可能的。顶级和类级别的项目比实例项目更受支持。
*我找到了造成我麻烦的原因。看起来 scipy 没有正确安装,虽然它没有给我一个错误,所以我只需要以不同的方式安装它。
python - 将更改的数据从选项卡传递到选项卡
我正在尝试构建一个带有两个选项卡的程序。在 Tab1 中,我从图像中选择点坐标 (x,y) 到 valuesself.a
中。除了图像之外,我在 Tab1 中还有其他一些 UI(即表格)。现在,我想将值传递self.a
给 Tab2(不继承所有其他内容)。请记住,当单击新点时,self.a 可以不断更新。
python-2.7 - Pyqtgraph 剪辑线
我正在尝试在 pyqtgraph 中绘制史密斯图。我想知道是否有一种方法可以用半径 = 1 的实圆来剪辑代表假想圆的椭圆项目。这是我到目前为止所做的:我使用了 QGraphicsEllipse 的方法 start angle e span angle,但通过这种方式,也可以绘制圆的垂直线和水平线。matplotlib里面有个方法叫set_clip_path(),不知道pyqtgraph里面有没有这样的东西?
编辑
这是我的最终代码
`
python - FANN2 for Python -- Matplotlib 浮点格式问题
fann2
我今天的问题是关于Python 2 包的奇怪行为,同时使用matplotlib
或pyqtgraph
同时使用。
假设我需要实时绘制我的 FANN 网络 MSE。然后我将使用matplotlib
交互性和一些while True
循环或Thread
更新我的情节。但为简单起见,让我们举一个下面的例子。
以下脚本将创建一个新的神经网络并将其存储到一个文件中:
请注意PLOT
当前禁用绘图的标志。
现在让我们看一下输出文件。让我们看看最后一行:
(...
表示更多省略的字符)
一切都很好,直到我们将PLOT
value 更改为True
... 之后,相应的行将如下所示:
这会导致加载保存的网络时出错。例子:
给出以下错误:FANN Error 4: Error reading "connection_rate" from configuration file "my_network.ann".
有人知道如何解决这个奇怪的问题吗?也许我应该简单地在 matplotlib 的某个地方更改浮点数格式?我已经搜索了他们的文档,但还没有找到如何做到这一点。
我想这个原因在别的地方。这很有趣,但 PyQtGraph 给出了相同的结果。这是一个奖励脚本:
python-3.x - 子类化 pyqtgraph.ParameterTree 问题
我一直在非常有效地使用 ParameterTree 类,我非常喜欢它!我有很多参数,所以我想子类化 ParameterTree 以清除一些代码。不幸的是,当我这样做时,我得到了一个看起来很奇怪的非功能性 ParameterTree:
所有编辑字段和组合框都消失了
这就是我将其子类化的方式
然后在主 GUI 中,我像这样实例化它:
我究竟做错了什么?
干杯