Exemplo n.º 1
0
        def plot_spectrum(self):
            ''' Plot the histogram of the spectrum '''
            #self.__spectrum.set_demo_mode(True)

            #print self.__spectrum
            #logger.debug("{0:s}.plot_spectrum():".format(self.__class__.__name__))

            xarr = []
            yarr = []
            ordvals = self.__spectrum.get_spectrum_ord_values()
            x = 0
            pos = -0.25
            width = 0.5
            numValues = len(self.__spectrum)
            intervals = []
            values = Qwt.QwtArrayDouble(numValues)
            for (mass, p) in ordvals:
                # Lower limit for pressure set in HistogramItem.baseline()
                p = self.__barCurve.baseline(
                ) if p < self.__barCurve.baseline() else p
                xarr.append(x)
                yarr.append(p)
                intervals.append(Qwt.QwtDoubleInterval(pos, pos + width))
                values[x] = p
                pos += (width + 0.5)
                x += 1

            self.__barCurve.setData(Qwt.QwtIntervalData(intervals, values))

            self.clear_zoom_stack()
Exemplo n.º 2
0
    def setHistogramView(self):
        self.histogram = HistogramItem()
        self.histogram.setColor(Qt.darkCyan)

        numValues = 20
        intervals = []
        values = Qwt.QwtArrayDouble(numValues)

        pos = 0.0
        for i in range(numValues):
            width = 5 + random.randint(0, 4)
            value = random.randint(0, 99)
            intervals.append(Qwt.QwtDoubleInterval(pos, pos + width))
            values[i] = value
            pos += width
Exemplo n.º 3
0
    def addHistPlotData(self, _plotName, _values, _intervals):
        # print 'addHistPlotData'
        # print '_values=',_values
        # print '_intervals=',_intervals
        # self.plotData[_plotName]=[array([],dtype=double),array([],dtype=double),False]

        self.plotData[str(_plotName)] = [_intervals, _values, False, HISTOGRAM]

        intervals = []
        valLength = len(_values)
        values = Qwt.QwtArrayDouble(valLength)
        for i in range(valLength):
            #width = _intervals[i+1]-_intervals[i]+2
            intervals.append(
                Qwt.QwtDoubleInterval(_intervals[i], _intervals[i + 1]))
            #numpy automcatically adds extra element for edge
            values[i] = _values[i]

        self.plotHistData[_plotName].setData(
            Qwt.QwtIntervalData(intervals, values))
Exemplo n.º 4
0
def make():
    demo = Qwt.QwtPlot()
    demo.setCanvasBackground(Qt.Qt.white)
    demo.setTitle("Histogram")

    grid = Qwt.QwtPlotGrid()
    grid.enableXMin(True)
    grid.enableYMin(True)
    grid.setMajPen(Qt.QPen(Qt.Qt.black, 0, Qt.Qt.DotLine))
    grid.setMinPen(Qt.QPen(Qt.Qt.gray, 0, Qt.Qt.DotLine))

    grid.attach(demo)

    histogram = HistogramItem()
    histogram.setColor(Qt.Qt.darkCyan)

    numValues = 20
    intervals = []
    values = Qwt.QwtArrayDouble(numValues)

    pos = 0.0
    for i in range(numValues):
        width = 5 + random.randint(0, 4)
        value = random.randint(0, 99)
        intervals.append(Qwt.QwtDoubleInterval(pos, pos + width))
        values[i] = value
        pos += width

    histogram.setData(Qwt.QwtIntervalData(intervals, values))
    histogram.attach(demo)

    demo.setAxisScale(Qwt.QwtPlot.yLeft, 0.0, 100.0)
    demo.setAxisScale(Qwt.QwtPlot.xBottom, 0.0, pos)
    demo.replot()

    demo.resize(600, 400)
    demo.show()

    return demo