2016-08-05 1 views
0

私は運が無ければ半分の時間を探していました。私は、私がオートレンジしたいPlotWidgetを持っています。それでもそうであれば、この「パディング」があります(言い換えれば、範囲は実際の範囲より少し大きい)。あなたはオートレンジを維持しながらこのパディングを避ける方法を知っていますか?パディングなしでPlotWidgetを自動設定する(pyqtgraph)

+0

自動コード設定の意味を説明してください。 – Julian

答えて

0

autoRangeメソッドには実際にパディングパラメータがあります。デフォルトではNoneです。これは、ViewBoxのサイズに応じて、パディングが0.02〜0.1であることを意味します。ドキュメントhereを参照してください。

padding=0に設定すると、パディングは発生しません。

0

pyqtgraphの自動範囲設定では、ゼロ以外の埋め込みが強制されます。これは、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) 
関連する問題