1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
  2. Anuncie Aqui
    Anuncie aqui você Também: fdantas@4each.com.br

[Python] Returning mouse cursor coordinates in PyQtGraph

Discussão em 'Python' iniciado por Stack, Novembro 28, 2025.

  1. Stack

    Stack Membro Participativo

    I am new to PyQtGraph and want to use it for a speedy visualization of my data acquisition. Previously I was using matplotlib where redrawing the figure was my bottleneck. After transitioning to PyQtGraph, I am currently missing only one functionality of matplotlib. Namely, returning the x-, and y-coordinate of my mouse cursor.

    How can I call/mimic the return of the x-, and y-coordinates of my mouse cursor in a plot made using PyQtGraph?

    EDIT! - After implementing the tips of leongold, the code is able to return the mousecursor position without losing speed. The code is the following:

    import numpy
    import pyqtgraph as pg
    from pyqtgraph.Qt import QtGui, QtCore

    def gaussian(A, B, x):
    return A * numpy.exp(-(x/(2. * B))**2.)

    def mouseMoved(evt):
    mousePoint = p.vb.mapSceneToView(evt[0])
    label.setText("<span style='font-size: 14pt; color: white'> x = %0.2f, <span style='color: white'> y = %0.2f</span>" % (mousePoint.x(), mousePoint.y()))


    # Initial data frame
    x = numpy.linspace(-5., 5., 10000)
    y = gaussian(5., 0.2, x)


    # Generate layout
    win = pg.GraphicsWindow()
    label = pg.LabelItem(justify = "right")
    win.addItem(label)

    p = win.addPlot(row = 1, col = 0)

    plot = p.plot(x, y, pen = "y")

    proxy = pg.SignalProxy(p.scene().sigMouseMoved, rateLimit=60, slot=mouseMoved)

    # Update layout with new data
    i = 0
    while i < 500:
    noise = numpy.random.normal(0, .2, len(y))
    y_new = y + noise

    plot.setData(x, y_new, pen = "y", clear = True)
    p.enableAutoRange("xy", False)

    pg.QtGui.QApplication.processEvents()

    i += 1

    win.close()

    Continue reading...

Compartilhe esta Página