#!/usr/bin/env python # from pyqtgraph.Qt import QtGui, QtCore import numpy as np import pyqtgraph as pg import time, sys plot = None label = None def mouseMoved(evt): mousePoint = plot.vb.mapSceneToView(evt[0]) label.setText( "x %g, y %g" % (mousePoint.x(), mousePoint.y()), color = 'k') label.setPos( mousePoint.x(), mousePoint.y()) def mouseClicked(event): mousePoint = plot.vb.mapSceneToView(event[0].scenePos()) print( "Clicked: %g, %g" % (mousePoint.x(), mousePoint.y())) def display(): global plot global label xMin = 0 xMax = 10 xDelta = 0.1 x = np.arange( xMin, xMax, xDelta) t = np.tan(x) pg.setConfigOption( 'background', 'w') pg.setConfigOption( 'foreground', 'k') app = pg.mkQApp() win = pg.GraphicsWindow( title="Scan the Tango Function") win.clear() win.addLabel( "Demo for mouse moves and mouse clicks", row = 1, col = 1) plot = win.addPlot( row=2, col=1) plot.showGrid( x = True, y = True) plot.setLabel( 'left', 'tan') plot.setLabel( 'bottom', 'phase') plot.enableAutoRange( x = False, y = True) plot.setXRange( xMin, xMax) proxy1 = pg.SignalProxy( plot.scene().sigMouseMoved, rateLimit=60, slot=mouseMoved) proxy = pg.SignalProxy( plot.scene().sigMouseClicked, rateLimit=60, slot=mouseClicked) plot.plot( x, t, pen=( 0, 0, 255)) label = pg.TextItem( "cursor", color='b', anchor = (0, 1.0)) plot.addItem( label) label.setPos( x[0], t[0]) print( "Use Ctrl-C to exit") while True: time.sleep(0.01) app.processEvents() if __name__ == "__main__": display()