Make axes labels more pixel perfect
parent
c7a588cf25
commit
f5eb34c4d7
|
@ -287,6 +287,8 @@ class AxisLabel(pg.GraphicsObject):
|
||||||
self.path = None
|
self.path = None
|
||||||
self.rect = None
|
self.rect = None
|
||||||
|
|
||||||
|
self._pw = self.pixelWidth()
|
||||||
|
|
||||||
def paint(
|
def paint(
|
||||||
self,
|
self,
|
||||||
p: QtGui.QPainter,
|
p: QtGui.QPainter,
|
||||||
|
@ -419,6 +421,7 @@ class XAxisLabel(AxisLabel):
|
||||||
abs_pos: QPointF, # scene coords
|
abs_pos: QPointF, # scene coords
|
||||||
value: float, # data for text
|
value: float, # data for text
|
||||||
offset: int = 0 # if have margins, k?
|
offset: int = 0 # if have margins, k?
|
||||||
|
|
||||||
) -> None:
|
) -> None:
|
||||||
|
|
||||||
timestrs = self._parent._indexes_to_timestrs([int(value)])
|
timestrs = self._parent._indexes_to_timestrs([int(value)])
|
||||||
|
@ -433,17 +436,19 @@ class XAxisLabel(AxisLabel):
|
||||||
|
|
||||||
w = self.boundingRect().width()
|
w = self.boundingRect().width()
|
||||||
|
|
||||||
self.setPos(QPointF(
|
self.setPos(
|
||||||
abs_pos.x() - w/2,
|
QPointF(
|
||||||
y_offset/2,
|
abs_pos.x() - w/2 - self._pw,
|
||||||
))
|
y_offset/2,
|
||||||
|
)
|
||||||
|
)
|
||||||
self.update()
|
self.update()
|
||||||
|
|
||||||
def _draw_arrow_path(self):
|
def _draw_arrow_path(self):
|
||||||
y_offset = self._parent.style['tickTextOffset'][1]
|
y_offset = self._parent.style['tickTextOffset'][1]
|
||||||
path = QtGui.QPainterPath()
|
path = QtGui.QPainterPath()
|
||||||
h, w = self.rect.height(), self.rect.width()
|
h, w = self.rect.height(), self.rect.width()
|
||||||
middle = w/2 - 0.5
|
middle = w/2 - self._pw * 0.5
|
||||||
aw = h/2
|
aw = h/2
|
||||||
left = middle - aw
|
left = middle - aw
|
||||||
right = middle + aw
|
right = middle + aw
|
||||||
|
@ -513,10 +518,12 @@ class YAxisLabel(AxisLabel):
|
||||||
br = self.boundingRect()
|
br = self.boundingRect()
|
||||||
h = br.height()
|
h = br.height()
|
||||||
|
|
||||||
self.setPos(QPointF(
|
self.setPos(
|
||||||
x_offset,
|
QPointF(
|
||||||
abs_pos.y() - h / 2 - self._y_margin / 2
|
x_offset,
|
||||||
))
|
abs_pos.y() - h / 2 - self._pw,
|
||||||
|
)
|
||||||
|
)
|
||||||
self.update()
|
self.update()
|
||||||
|
|
||||||
def update_on_resize(self, vr, r):
|
def update_on_resize(self, vr, r):
|
||||||
|
@ -553,7 +560,7 @@ class YAxisLabel(AxisLabel):
|
||||||
path = QtGui.QPainterPath()
|
path = QtGui.QPainterPath()
|
||||||
h = self.rect.height()
|
h = self.rect.height()
|
||||||
path.moveTo(0, 0)
|
path.moveTo(0, 0)
|
||||||
path.lineTo(-x_offset - h/4, h/2.)
|
path.lineTo(-x_offset - h/4, h/2. - self._pw/2)
|
||||||
path.lineTo(0, h)
|
path.lineTo(0, h)
|
||||||
path.closeSubpath()
|
path.closeSubpath()
|
||||||
self.path = path
|
self.path = path
|
||||||
|
|
Loading…
Reference in New Issue