欢迎访问宙启技术站
智能推送

在PyQtGraph中使用InfiniteLine()方法创建带有箭头的无限长线条

发布时间:2023-12-29 23:15:01

PyQtGraph是一个基于PyQt和NumPy的绘图库,专门用于实时数据可视化。InfiniteLine()方法是用来创建无限长的直线条的,可以自定义直线的位置、颜色、宽度等属性。下面是一个使用InfiniteLine()方法创建带有箭头的无限长线条的例子:

首先,我们需要导入必要的模块:

import numpy as np
import pyqtgraph as pg
from pyqtgraph import mkPen
from PyQt5.QtWidgets import QApplication

然后,创建一个QApplication实例,用于显示绘图界面:

app = QApplication([])

接下来,创建一个PlotWidget对象,并设置其标题和视图范围:

plot = pg.PlotWidget()
plot.setWindowTitle('Infinite Line Example')
plot.setXRange(-10, 10)
plot.setYRange(-10, 10)

然后,使用InfiniteLine()方法创建一个无限长线条,并设置其属性,例如位置、颜色、宽度、箭头等:

line = pg.InfiniteLine(pos=0, angle=45, pen=mkPen('r', width=3), arrow=True, movable=True)

在这个例子中,我们将无限长线条的位置设置为0,角度设置为45度,颜色设置为红色,宽度设置为3,箭头显示为True,可移动属性设置为True。

最后,将无限长线条添加到PlotWidget中,并显示绘图界面:

plot.addItem(line)
plot.show()

完整的代码如下所示:

import numpy as np
import pyqtgraph as pg
from pyqtgraph import mkPen
from PyQt5.QtWidgets import QApplication

app = QApplication([])

plot = pg.PlotWidget()
plot.setWindowTitle('Infinite Line Example')
plot.setXRange(-10, 10)
plot.setYRange(-10, 10)

line = pg.InfiniteLine(pos=0, angle=45, pen=mkPen('r', width=3), arrow=True, movable=True)

plot.addItem(line)
plot.show()

app.exec_()

运行代码后,将会显示一个带有箭头的无限长线条的绘图界面。你可以使用鼠标拖动线条改变其位置。