是否有用于自动范围的 PyQtGraph 参数来限制可见的点数?

Posted

技术标签:

【中文标题】是否有用于自动范围的 PyQtGraph 参数来限制可见的点数?【英文标题】:Is there a PyQtGraph parameter for autorange which limits how many points are visible? 【发布时间】:2021-10-11 22:18:00 【问题描述】:

我有一个 PyQtGraph(折线图),它也不断添加新值,我正在使用 plot.autoRange() 函数来更新 viewBox,但问题是我使用的是自定义 Ticks(时间,12例如:00PM),如果它有超过 10 个值,则 x-ticks 在自动范围内重叠。例如,是否可以让 autoRange 只显示最后 10 个值?

目前我找到了一种解决方法,即在达到 10 后删除第一个值,但这确实不是最佳选择,因为旧数据不再出现在图表中。

【问题讨论】:

看看这个,也许对你有帮助***.com/a/65510576/13929529 【参考方案1】:

一般来说,如果你想要那种自定义行为,你需要使用setRange方法:

https://pyqtgraph.readthedocs.io/en/latest/graphicsItems/viewbox.html#pyqtgraph.ViewBox.setRange

如果你想坚持使用 autoRange,autoRange 方法需要一个可选的items 参数;你可以做的是创建一个重叠曲线just最后10个点(你想显示),并在这条曲线上调用autoRange函数,而不是ViewBox中的所有项目。如果它们完全重叠,则在视觉上应该不明显(但如果您有鼠标相关事件,则可能会更复杂)。

希望对你有帮助

【讨论】:

以上是关于是否有用于自动范围的 PyQtGraph 参数来限制可见的点数?的主要内容,如果未能解决你的问题,请参考以下文章

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

将y轴自动缩放到pyqtgraph中的可见数据

PyQtGraph PlotWidget:如何强制每次绘制(更改范围)以进行“实时”绘图

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

是否可以在pyqtgraph中调整句柄的大小?

pyqtgraph 用于绘制多个数据列表