Esempio n. 1
0
	def drawD2(self):
		if self.vtkViewer.reader == None:
			return

		num = self.inputD2.text()
		try:
			num = list(map(int, num.split(' ')))
		except Exception:
			return
		if len(num) != 2 or num[0] <= 1 or num[1] <= 1:
			return

		self.clear()

		histogram, scale = self.vtkViewer.d2Sample(num[0], num[1])

		d2Chart = QChart()
		d2Chart.legend().hide()
		polyline = QPolygonF(num[0])
		pointer = polyline.data()
		dtype, tinfo = np.float, np.finfo
		pointer.setsize(2*polyline.size()*tinfo(dtype).dtype.itemsize)
		memory = np.frombuffer(pointer, dtype)
		memory[:(num[0]-1)*2+1:2] = scale
		memory[1:(num[0]-1)*2+2:2] = histogram
		curve = QLineSeries()
		curve.append(polyline)

		d2Chart.addSeries(curve)
		d2Chart.createDefaultAxes()

		ChartView = QChartView(d2Chart)
		self.d2ChartLayout.addWidget(ChartView)
Esempio n. 2
0
def series_to_polyline(xdata, ydata):
    size = len(xdata)
    polyline = QPolygonF(size)
    pointer = polyline.data()
    dtype, tinfo = np.float, np.finfo  # integers: = np.int, np.iinfo
    pointer.setsize(2 * polyline.size() * tinfo(dtype).dtype.itemsize)
    memory = np.frombuffer(pointer, dtype)
    memory[:(size - 1) * 2 + 1:2] = xdata
    memory[1:(size - 1) * 2 + 2:2] = ydata
    return polyline
Esempio n. 3
0
def series_to_polyline(xdata, ydata):

    #inspired from https://github.com/PierreRaybaut/plotpy/wiki/Using-Qt-Charts-(PyQtChart)-to-plot-curves-efficiently-in-Python!
    size = len(xdata)
    polyline = QPolygonF(size)
    pointer = polyline.data()
    dtype, tinfo = np.float, np.finfo  # integers: = np.int, np.iinfo
    pointer.setsize(2 * polyline.size() * tinfo(dtype).dtype.itemsize)
    memory = np.frombuffer(pointer, dtype)
    memory[:(size - 1) * 2 + 1:2] = xdata
    memory[1:(size - 1) * 2 + 2:2] = ydata
    return polyline
Esempio n. 4
0
def series_to_polyline(xdata, ydata):
    """Convert series data to QPolygon(F) polyline
    
    This code is derived from PythonQwt's function named 
    `qwt.plot_curve.series_to_polyline`"""
    size = len(xdata)
    polyline = QPolygonF(size)
    pointer = polyline.data()
    dtype, tinfo = np.float, np.finfo  # integers: = np.int, np.iinfo
    pointer.setsize(2 * polyline.size() * tinfo(dtype).dtype.itemsize)
    memory = np.frombuffer(pointer, dtype)
    memory[:(size - 1) * 2 + 1:2] = xdata
    memory[1:(size - 1) * 2 + 2:2] = ydata
    return polyline
Esempio n. 5
0
 def series_to_polyline(self, xdata, ydata): #convert plot data for Qt
     """Convert series data to QPolygon(F) polyline
     This code is derived from PythonQwt's function named 
     `qwt.plot_curve.series_to_polyline`"""
     xsize = len(xdata)
     ysize = len(ydata)
     if xsize != ysize:
         root = Tk()
         root.withdraw()
         messagebox.showinfo("Live Plot Error!", "Check force file/video file\n" + \
                             "Exception: x axis and y axis array sizes don't match")
         root.destroy()
         self.playStatus = False
         
     polyline = QPolygonF(xsize)
     pointer = polyline.data()
     dtype, tinfo = np.float, np.finfo  # integers: = np.int, np.iinfo
     pointer.setsize(2*polyline.size()*tinfo(dtype).dtype.itemsize)
     memory = np.frombuffer(pointer, dtype)
     memory[:(xsize-1)*2+1:2] = xdata
     memory[1:(ysize-1)*2+2:2] = ydata
     return polyline   
Esempio n. 6
0
def series_to_polyline(xdata, ydata):
    """Convert series data to QPolygon(F) polyline

    This code is derived from PythonQwt's function named
    `qwt.plot_curve.series_to_polyline`"""
    size = len(xdata)
    dtype = np.float
    tinfo = np.finfo
    dtypesize = tinfo(dtype).dtype.itemsize

    polyline = QPolygonF(size)
    polyline_size = polyline.size()

    pointer = polyline.data()
    pointer_size = 2 * polyline_size * dtypesize
    pointer.setsize(pointer_size)

    memory = np.frombuffer(pointer, dtype)
    memory[:(size - 1) * 2 + 1:2] = xdata.T
    memory[1:(size - 1) * 2 + 2:2] = ydata.T

    return polyline