From 5b5749aa0b1535a044f2e9b8c09cd1e75e988ea8 Mon Sep 17 00:00:00 2001 From: Ogi Moore Date: Sun, 7 Jun 2020 20:29:28 -0700 Subject: [PATCH] Revert "changed structure to redefine axis via plotitem.setAxes (#391)" This reverts commit bb21791c710ccd11c889a6641672adc7fbbdcf3e. --- pyqtgraph/graphicsItems/AxisItem.py | 29 ++--------- pyqtgraph/graphicsItems/PlotItem/PlotItem.py | 51 +++----------------- 2 files changed, 12 insertions(+), 68 deletions(-) diff --git a/pyqtgraph/graphicsItems/AxisItem.py b/pyqtgraph/graphicsItems/AxisItem.py index c02e6e0c..29f3ad62 100644 --- a/pyqtgraph/graphicsItems/AxisItem.py +++ b/pyqtgraph/graphicsItems/AxisItem.py @@ -45,8 +45,11 @@ class AxisItem(GraphicsWidget): GraphicsWidget.__init__(self, parent) self.label = QtGui.QGraphicsTextItem(self) self.picture = None - self.orientation = None - self.setOrientation(orientation) + self.orientation = orientation + if orientation not in ['left', 'right', 'top', 'bottom']: + raise Exception("Orientation argument must be one of 'left', 'right', 'top', or 'bottom'.") + if orientation in ['left', 'right']: + self.label.rotate(-90) self.style = { 'tickTextOffset': [5, 2], ## (horizontal, vertical) spacing between text and axis @@ -108,27 +111,6 @@ class AxisItem(GraphicsWidget): self.grid = False #self.setCacheMode(self.DeviceCoordinateCache) - def setOrientation(self, orientation): - """ - orientation = 'left', 'right', 'top', 'bottom' - """ - if orientation != self.orientation: - if orientation not in ['left', 'right', 'top', 'bottom']: - raise Exception("Orientation argument must be one of 'left', 'right', 'top', or 'bottom'.") - #rotate absolute allows to change orientation multiple times: - if orientation in ['left', 'right']: - self.label.setRotation(-90) - if self.orientation: - self._updateWidth() - self.setMaximumHeight(16777215) - else: - self.label.setRotation(0) - if self.orientation: - self._updateHeight() - self.setMaximumWidth(16777215) - self.orientation = orientation - - def setStyle(self, **kwds): """ Set various style options. @@ -532,7 +514,6 @@ class AxisItem(GraphicsWidget): self.unlinkFromView() self._linkedView = weakref.ref(view) - if self.orientation in ['right', 'left']: view.sigYRangeChanged.connect(self.linkedViewChanged) else: diff --git a/pyqtgraph/graphicsItems/PlotItem/PlotItem.py b/pyqtgraph/graphicsItems/PlotItem/PlotItem.py index 77f4cc15..c61a35b2 100644 --- a/pyqtgraph/graphicsItems/PlotItem/PlotItem.py +++ b/pyqtgraph/graphicsItems/PlotItem/PlotItem.py @@ -153,10 +153,10 @@ class PlotItem(GraphicsWidget): self.legend = None - ## Create and place axis items + # Initialize axis items self.axes = {} - self.setAxes(axisItems) - + self.setAxisItems(axisItems) + self.titleLabel = LabelItem('', size='11pt', parent=self) self.layout.addItem(self.titleLabel, 0, 1) self.setTitle(None) ## hide @@ -242,7 +242,7 @@ class PlotItem(GraphicsWidget): self.ctrl.maxTracesCheck.toggled.connect(self.updateDecimation) self.ctrl.maxTracesSpin.valueChanged.connect(self.updateDecimation) - + if labels is None: labels = {} for label in list(self.axes.keys()): @@ -258,45 +258,8 @@ class PlotItem(GraphicsWidget): self.setTitle(title) if len(kargs) > 0: - self.plot(**kargs) + self.plot(**kargs) - def setAxes(self, axisItems): - """ - Create and place axis items - For valid values for axisItems see __init__ - """ - for v in self.axes.values(): - item = v['item'] - self.layout.removeItem(item) - self.vb.removeItem(item) - - self.axes = {} - if axisItems is None: - axisItems = {} - for k, pos in (('top', (1,1)), ('bottom', (3,1)), ('left', (2,0)), ('right', (2,2))): - axis = axisItems.get(k, None) - if axis: - axis.setOrientation(k) - else: - axis = AxisItem(orientation=k) - axis.linkToView(self.vb) - self.axes[k] = {'item': axis, 'pos': pos} - self.layout.addItem(axis, *pos) - axis.setZValue(-1000) - axis.setFlag(axis.ItemNegativeZStacksBehindParent) - #show/hide axes: - all_dir = ['left', 'bottom', 'right', 'top'] - if axisItems: - to_show = list(axisItems.keys()) - to_hide = [a for a in all_dir if a not in to_show] - else: - to_show = all_dir[:2] - to_hide = all_dir[2:] - for a in to_hide: - self.hideAxis(a) - for a in to_show: - self.showAxis(a) - def implements(self, interface=None): return interface in ['ViewBoxWrapper'] @@ -1162,8 +1125,8 @@ class PlotItem(GraphicsWidget): Show or hide one of the plot's axes. axis must be one of 'left', 'bottom', 'right', or 'top' """ - s = self.getAxis(axis) - #p = self.axes[axis]['pos'] + s = self.getScale(axis) + p = self.axes[axis]['pos'] if show: s.show() else: