Hi All, I am a new pyqtgraph users trying to make a label inside a Plot Widgets.
Here is my code: import sys from PyQt4.QtCore import * from PyQt4.QtGui import * import numpy as np import pyqtgraph as pg from PyQt4 import QtCore class PlotDashboard(QWidget): def __init__(self, title, parent=None): '''Constructor ''' QWidget.__init__(self, parent) self.layout = QVBoxLayout(self) self.setLayout(self.layout) self.label = QLabel(self) # Create a plot with a date-time axis self.p1 = pg.PlotWidget(name='Plot1', background=QColor(5, 27, 105, 255), axisItems = {'bottom': pg.DateAxisItem()}) ## giving the plots names allows us to link their axes together self.p1.setTitle("<strong>" + title + "</strong>") self.p1.getAxis("left").setPen(pg.mkPen(color='w', width=2)) self.p1.getAxis("bottom").setPen(pg.mkPen(color='w', width=2)) self.p1.showGrid(x=True, y=True, alpha = 0.3) self.p1.setLabel('left', 'Value') self.p1.setLabel('bottom', 'Time') self.p1.addLegend() # Add layout self.layout.addWidget(self.label) self.label.setAlignment(QtCore.Qt.AlignRight) self.layout.addWidget(self.p1) self.btnClear = QPushButton(text = 'Clear All') self.btnClear.setIcon(QIcon(QPixmap('/usr/local/lib/python2.7/dist-packages/taurus/qt/qtgui/icon/Tango/scalable/actions/editclear.svg'))) self.btnClear.clicked.connect(self.clearAll) self.layout.addWidget(self.btnClear) # Data holders for cross hair- Plot max 5 data sets self.data1 = [[], []] # x and y in separate lists self.data2 = [[], []] self.data3 = [[], []] self.data4 = [[], []] self.data5 = [[], []] self.curvesData = [self.data1, self.data2, self.data3, self.data4, self.data5] self.numCurves = 0 # number of curves plotted, runs from 0 to 3 vLine = pg.InfiniteLine(angle=90, movable=False) hLine = pg.InfiniteLine(angle=0, movable=False) self.p1.addItem(vLine, ignoreBounds=True) self.p1.addItem(hLine, ignoreBounds=True) vb = self.p1.getViewBox() def mouseMoved(evt): pos = evt[0] if self.p1.sceneBoundingRect().contains(pos): mousePoint = vb.mapSceneToView(pos) self.label.setText("x: %d \t y: %d" % (mousePoint.x(), mousePoint.y())) vLine.setPos(mousePoint.x()) hLine.setPos(mousePoint.y()) self.p1.getViewBox().setAutoVisible(y=True) proxy = pg.SignalProxy(self.p1.scene().sigMouseMoved, rateLimit=60, slot=mouseMoved) self.p1.proxy = proxy def plotCurve(self, data, curve_name): if len(data[0]) == 0 or len(data[1]) == 0: return if len(data[0]) != len(data[1]): return if self.numCurves > 4: return # support plotting max 5 curves, need to clear all first self.curvesData[self.numCurves] = data self.p1.addLegend() if self.numCurves == 0: _pen=(255,0,255) self.data1 = [data[0], data[1]] elif self.numCurves == 1: _pen=(0,255,0) self.data2 = [data[0], data[1]] elif self.numCurves == 2: _pen=(255,100,0) self.data3 = [data[0], data[1]] elif self.numCurves == 3: _pen=(255,255,255) self.data4 = [data[0], data[1]] else: _pen=(255,255,0) self.data5 = [data[0], data[1]] self.p1.plot(data[0], data[1], pen=_pen, symbolBrush=_pen, symbolPen='w', symbol='o', symbolSize=14, name=curve_name) self.numCurves += 1 def clearAll(self): self.p1.clear() self.label.clear() self.data1 = [[], []] self.data2 = [[], []] self.data3 = [[], []] self.data4 = [[], []] self.data5 = [[], []] self.curvesData = [self.data1, self.data2, self.data3, self.data4, self.data5] self.numCurves = 0 if __name__ == "__main__": app = QApplication(sys.argv) gui = PlotDashboard("PLOT 1") gui.show() sys.exit(app.exec_()) The example works by adding a LabelItem to a GraphicsWindow like this: win = pg.GraphicsWindow() label = pg.LabelItem(justify='right') p1 = win.addPlot(row=1, col=0) But I don't have a GraphicsWindow, just a normal Qt window (built using the Designer) with PlotWidgets in it. I can't seem to add a LabelItem or a TextItem to a PlotWidget. I'm sure there must be a 'standard' way of doing this, but I can't figure it out and Google doesn't seem to know. Any ideas? -- You received this message because you are subscribed to the Google Groups "pyqtgraph" group. To unsubscribe from this group and stop receiving emails from it, send an email to pyqtgraph+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/pyqtgraph/5137679c-7636-4492-8e91-a8a1318f711bn%40googlegroups.com.