2016-08-05 53 views
0

我一直在寻找半天,没有运气。我有一个我想自动调整的PlotWidget。但是,如果是这样,它有这个“填充”(换句话说,范围是有点大于实际范围)。您是否知道在保持自动调整范围的同时避免此填充的方法。没有填充的自动调整绘图小部件(pyqtgraph)

+0

请显示一些代码并通过自动调整来说明您的意思。 – Julian

回答

0

autoRange方法实际上有一个填充参数。默认情况下,这是None,这意味着填充值在0.02和0.1之间,具体取决于ViewBox的大小。请参阅文档here

通过设置padding=0您不会得到填充。

0

pyqtgraph autoranging强制非零填充。你可以在源代码中看到这个updateAutoRange()在http://www.pyqtgraph.org/documentation/_modules/pyqtgraph/graphicsItems/ViewBox/ViewBox.html#ViewBox.autoRange

我有相同的没有填充目标,并添加了我自己的自动测距代码。它根据输入数据的最大值调整Y轴最大值,同时保持零点焊盘。

yMax = max(Y) 
existingViewRect = self.ui.myGraph.plotItem.getViewBox().viewRange() 
yMaxInView = existingViewRect[1][1] 
if (yMax < 80): 
    self.ui.myGraph.setYRange(0, 100, padding=0) 
elif yMax > yMaxInView: 
    self.ui.myGraph.setYRange(0, 2*yMaxInView, padding=0) 
elif (yMax < yMaxInView/2): 
    self.ui.myGraph.setYRange(0, yMaxInView/2, padding=0) 
相关问题