python如何实现pyqtgraph,左右Y轴不同的范围
时间: 2024-10-13 17:11:12 浏览: 49
在PyQtGraph中,实现左右Y轴具有不同范围的功能可以通过创建双Y轴图(PlotWidget with two y-axes)来完成。首先,你需要安装PyQtGraph库,如果尚未安装,可以使用pip安装:
```bash
pip install pyqtgraph
```
然后,在Python代码中,你可以这样做:
```python
import sys
from PyQt5.QtWidgets import QApplication
from pyqtgraph.Qt import QtGui
import pyqtgraph as pg
class DoubleYAxisExample(QtGui.QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle('Double Y Axis Example')
self.resize(800, 600)
# 创建主窗口
win = pg.GraphicsWindow()
# 创建第一个y轴图
plot1 = win.addPlot()
plot1.plot([1, 2, 3, 4, 5], [5, 1, 4, 2, 7])
# 设置第一轴范围
plot1.setYRange(0, 10)
# 创建第二个y轴图,并设置它位于第一轴右侧
plot2 = plot1.addPlot(row=1, col=0, linkView=False) # linkView=False使两轴独立
plot2.plot([1, 2, 3, 4, 5], [20, 30, 15, 40, 5])
# 设置第二轴范围
plot2.setYRange(0, 60)
# 将两个y轴的刻度显示出来
for plot in [plot1, plot2]:
plot.getAxis("left").setPen(color='r') # 第一轴红色
plot.getAxis("bottom").setLabel(text="X")
plot.getAxis("right").setPen(color='g') # 第二轴绿色
self.setCentralWidget(win)
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = DoubleYAxisExample()
ex.show()
sys.exit(app.exec_())
```
在这个例子中,我们首先创建了一个`GraphicsWindow`,接着添加了两个并排的`PlotItem`,分别设置了各自的Y轴范围,并通过`linkView=False`使它们各自独立。最后,给每个Y轴设置了不同的颜色以区分。
阅读全文