需求
- 1、能够导入txt数据文件,并且绘制图形
- 2、能够使用鼠标选择部分曲线区域,并且放大该区域
最终结果

如图所示,将绘图部分图像分为两部分,上半部分为原始曲线,可以选择相应的区域,在下方放大显示。
实现思路
- 使用qt creator创建ui界面,使用一个
Vertical Layout
作为PyQtGraph的容器
1 2
| self.win = pg.GraphicsLayoutWidget() self.PlotLayout.addWidget(self.win)
|
1
| python -m PyQt5.uic.pyuic mainwindow.ui -o mainwindow.py
|
1 2 3
| p1 = self.win.addPlot(title="xxx") self.win.nextRow() p2 = self.win.addPlot(title="yyy")
|
1 2 3 4
| self.LinRegionItem = pg.LinearRegionItem([0,20]) self.raw_graph.addItem(self.LinRegionItem)
self.Zoom_graph.sigXRangeChanged.connect(self.updateRegion)
|
1 2 3 4
| start_index = int(self.LinRegionItem.getRegion()[0]) end_index = int(self.LinRegionItem.getRegion()[1])
self.Zoom_graph.setXRange(start_index, end_index, padding=0)
|
TODO
异常处理