首页 > 解决方案 > 隐藏绘图轴但显示标签

问题描述

我正在尝试在 PyQt5 中使用 PyQtGraph 创建一个绘图,但在轴配置方面遇到了困难。我想隐藏轴、刻度和值,但保留我将动态更改的标签。我遇到的问题是当我隐藏轴时,标签也被隐藏了。有没有办法隐藏轴线并保留标签?

到目前为止,我只设法隐藏了刻度和值,而不是轴本身。这是我用来配置轴的代码。

desc = self.descriptors[i]
self.plots[i].showAxis('right')
self.plots[i].getAxis('right').enableAutoSIPrefix(enable=False)
self.plots[i].getAxis('right').setLabel(text=desc, units=None)
self.plots[i].getAxis('right').setStyle(tickLength=0, showValues=False)

这就是我到目前为止所拥有的。 我有的

这就是我想要实现的目标。纵轴缺失,但值仍然存在。 我有的

标签: pythonpyqt5pyqtgraph

解决方案


不幸的是,网格和轴线共享同一支笔,因此使用 NoPen Qt.PenStyle,或将颜色设置为背景,也会删除网格线。但是,我们可以利用在绘制网格线时替换笔的 alpha 值这一事实。将轴项笔设置为使用默认颜色(前景),但 alpha 值为零:

axis_pen = pyqtgraph.mkPen(pyqtgraph.getConfigOption('foreground') + (0, ))
...
self.plots[i].getAxis('right').setPen(axis_pen)

推荐阅读