我想在Pyqtgraph gl.GLViewWidget()中绘制圆圈或椭圆。但是我没有找到这样做的功能。 有人知道这样做的方法吗?
答案 0 :(得分:2)
import numpy as np
import pyqtgraph as pg
image = np.random.normal(size=(500, 400))
plt1 = pg.PlotWidget()
plt1_imageitem = pg.ImageItem(image)
plt1.addItem(plt1_imageitem)
roi_circle = pg.CircleROI([250, 250], [120, 120], pen=pg.mkPen('r',width=2))
# roi_circle.sigRegionChanged.connect(circle_update)
plt1.addItem(roi_circle)
plt1.show()
答案 1 :(得分:1)
作为pyqtgraph的常规用户,我不相信它具有生成圆或椭圆的功能。我相信您必须自己定义圆和椭圆函数,并从中生成圆或椭圆的点。
答案 2 :(得分:1)
pyqtgraph 具有无需使用 ROI 即可在 pyqtgraph 中制作形状的功能 - ROI 似乎具有可移动的锚点,这在某些应用程序中可能是不受欢迎的。尚未测试是否适用于小部件,但如果有用,请分享。
我只是按照这些思路做了一些事情
import pyqtgraph as pg
win = pg.GraphicsLayoutWidget(show=True, title="Plotting")
p = win.addPlot(title='')
p_ellipse = pg.QtGui.QGraphicsEllipseItem(0, 0, 10, 20) # x, y, width, height
p_ellipse.setPen(pg.mkPen((0, 0, 0, 100)))
p_ellipse.setBrush(pg.mkBrush((50, 50, 200)))
p.addItem(p_ellipse)
它对我有用
https://pyqtgraph.narkive.com/c1jAyVhn/draw-rectangles-and-lines