@@ -102,6 +102,15 @@ def paint(self, painter, option, widget=None):
102102 super ().paint (painter , option , widget )
103103
104104
105+ class TextItem (pg .TextItem ):
106+ if not hasattr (pg .TextItem , "setAnchor" ):
107+ # Compatibility with pyqtgraph <= 0.9.10; in (as of yet unreleased)
108+ # 0.9.11 the TextItem has a `setAnchor`, but not `updateText`
109+ def setAnchor (self , anchor ):
110+ self .anchor = pg .Point (anchor )
111+ self .updateText ()
112+
113+
105114class AxisItem (pg .GraphicsObject ):
106115 def __init__ (self , parent = None , line = None , label = None , * args ):
107116 super ().__init__ (parent , * args )
@@ -119,7 +128,7 @@ def __init__(self, parent=None, line=None, label=None, *args):
119128 self ._arrow = pg .ArrowItem (parent = self , angle = 180 - angle )
120129 self ._arrow .setPos (self ._spine .line ().p2 ())
121130
122- self ._label = pg . TextItem (text = label , color = (10 , 10 , 10 ))
131+ self ._label = TextItem (text = label , color = (10 , 10 , 10 ))
123132 self ._label .setParentItem (self )
124133 self ._label .setPos (self ._spine .line ().p2 ())
125134
@@ -165,8 +174,7 @@ def __updateLabelPos(self):
165174
166175 pos = T .map (label_pos )
167176 self ._label .setPos (pos )
168- self ._label .anchor = pg .Point (* anchor )
169- self ._label .updateText ()
177+ self ._label .setAnchor (pg .Point (* anchor ))
170178 self ._label .setRotation (angle if left_quad else angle - 180 )
171179
172180
@@ -400,6 +408,7 @@ def __init__(self):
400408 self .view .setRenderHint (QtGui .QPainter .Antialiasing , True )
401409 self .view .setFrameStyle (QtGui .QFrame .StyledPanel )
402410 self .viewbox = pg .ViewBox (enableMouse = True , enableMenu = False )
411+ self .viewbox .setAspectLocked (True )
403412 self .viewbox .grabGesture (Qt .PinchGesture )
404413 self .view .setCentralItem (self .viewbox )
405414
0 commit comments