PyQtGraph,仅向一个方向滚动图形

Posted

技术标签:

【中文标题】PyQtGraph,仅向一个方向滚动图形【英文标题】:PyQtGraph, scrolling the graph in only one direction 【发布时间】:2017-07-09 14:49:24 【问题描述】:

在我的软件中,我有一个组合框,让用户可以选择是否要让图形在 X、Y、两个轴或无轴上具有自动范围。

可以得到一个结果

pw1.enableAutoRange(axis="x") # or y or xy o disableAutoRange()
pw1.setMouseEnabled(x=False, y=True)

主要问题在于

pw1.enableAutoRange(axis="xy")
pw1.setMouseEnabled(x=False, y=True)

如果用户滚动图表,则自动范围会关闭(如果您让鼠标在两个轴上启用但不在禁用轴上,这很有意义)

问题:如何在 Y 而不是 X 上设置 autoRange,让用户能够缩放 - dezoom 在 X 方向移动图形?

相关代码:https://pastebin.com/Jzep4BR0

【问题讨论】:

你有什么问题? 已编辑,问题是:如何在 Y 而不是 X 上设置 autoRange 让用户能够缩放 - dezoom 在 X 方向移动图形? 【参考方案1】:

我不知道这对您来说是否仍然是一个问题,但您可以通过以下方式进行操作(至少对我有用):

pw1.enableAutoRange(axis='y')
pw1.setMouseEnabled(x=True, y=False)

这有帮助吗?

【讨论】:

不,它没有。您的代码主要启用 y 自动量程,而不在 X 轴上禁用它。我可以用pw1.enableAutoRange(x=False, y=True) 做到这一点,但主要问题仍然存在。我在主要问题中将其加粗 问题是,我无法重现该错误。对我来说,如果我只设置 setMouseEnabled(x=True, y=False) 并滚动图形(缩放时不使用鼠标滚轮,也不使用拖放滚动),自动量程不会关闭。我根据pyqtgraph官方例子做了一个代码sn-p:gist.github.com/anonymous/e9fe8413718722e6c704db6e15fbd8ec。我改变了 pw2 PlotWidget 的行为。你能修改它,让它以“坏”的方式工作吗? 您好,我无法修改 gh 上的代码。无论如何,这里的代码 pastebin.com/Jzep4BR0 。非常感谢

以上是关于PyQtGraph,仅向一个方向滚动图形的主要内容,如果未能解决你的问题,请参考以下文章

PyQtGraph:如何更改 ScrollArea 中图形的大小(高度和宽度)

pyqtgraph:禁用垂直移动(滚动)

pyqtgraph/chaco/guiqwt:快速滚动时间跟踪演示

pyqtgraph 自定义缩放问题

pyQtGraph 检测小部件边界并开始滚动

pyqtgraph 滚动图:分块绘图,在当前窗口中仅显示最新的 10 秒样本