Pyqtgraph:如何绘制椭圆或圆

时间:2015-11-04 15:11:04

标签: python plot geometry ellipse pyqtgraph

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

3 个答案:

答案 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