Pyqtgraph:如何绘制椭圆或圆

Pyqtgraph: How do I plot an ellipse or a circle

我想在 Pyqtgraph gl.GLViewWidget() 中绘制圆或椭圆。但是我没有找到这样做的功能。 有人知道怎么做吗?

作为 pyqtgraph 的普通用户,我不相信它具有生成圆或椭圆的功能。我相信您必须自己定义圆和椭圆函数,并从中生成圆或椭圆的点。

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()

有功能可以在 pyqtgraph 中制作形状而无需使用 ROI - 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