Пример #1
0
 def drawPoints(self, painter, points, pointCount):
     deviceClipping, clipRect = qwtIsClippingNeeded(painter)
     if isinstance(points[0], QPointF):
         if deviceClipping:
             clippedPolygon = QPolygonF(pointCount)
             clippedData = clippedPolygon.data()
             numClippedPoints = 0
             for point in points:
                 if clipRect.contains(point):
                     clippedData[numClippedPoints] = point
                     numClippedPoints += 1
             painter.drawPoints(clippedData, numClippedPoints)
         else:
             painter.drawPoints(points, pointCount)
     else:
         if deviceClipping:
             minX = np.ceil(clipRect.left())
             maxX = np.floor(clipRect.right())
             minY = np.ceil(clipRect.top())
             maxY = np.floor(clipRect.bottom())
             r = QRect(minX, minY, maxX - minX, maxY - minY)
             clippedPolygon = QPolygon(pointCount)
             clippedData = clippedPolygon.data()
             numClippedPoints = 0
             for point in points:
                 if r.contains(point):
                     clippedData[numClippedPoints] = point
                     numClippedPoints += 1
             painter.drawPoints(clippedData, numClippedPoints)
         else:
             painter.drawPoints(points, pointCount)
Пример #2
0
 def drawPoints(self, painter, points, pointCount):
     deviceClipping, clipRect = qwtIsClippingNeeded(painter)
     if isinstance(points[0], QPointF):
         if deviceClipping:
             clippedPolygon = QPolygonF(pointCount)
             clippedData = clippedPolygon.data()
             numClippedPoints = 0
             for point in points:
                 if clipRect.contains(point):
                     clippedData[numClippedPoints] = point
                     numClippedPoints += 1
             painter.drawPoints(clippedData, numClippedPoints)
         else:
             painter.drawPoints(points, pointCount)
     else:
         if deviceClipping:
             minX = np.ceil(clipRect.left())
             maxX = np.floor(clipRect.right())
             minY = np.ceil(clipRect.top())
             maxY = np.floor(clipRect.bottom())
             r = QRect(minX, minY, maxX-minX, maxY-minY)
             clippedPolygon = QPolygon(pointCount)
             clippedData = clippedPolygon.data()
             numClippedPoints = 0
             for point in points:
                 if r.contains(point):
                     clippedData[numClippedPoints] = point
                     numClippedPoints += 1
             painter.drawPoints(clippedData, numClippedPoints)
         else:
             painter.drawPoints(points, pointCount)
Пример #3
0
def series_to_polyline(xMap, yMap, series, from_, to):
    """
    Convert series data to QPolygon(F) polyline
    """
    polyline = QPolygonF(to-from_+1)
    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[:(to-from_)*2+1:2] = xMap.transform(series.xData()[from_:to+1])
    memory[1:(to-from_)*2+2:2] = yMap.transform(series.yData()[from_:to+1])
    return polyline    
Пример #4
0
def series_to_polyline(xMap, yMap, series, from_, to):
    """
    Convert series data to QPolygon(F) polyline
    """
    polyline = QPolygonF(to - from_ + 1)
    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[:(to - from_) * 2 + 1:2] = xMap.transform(series.xData()[from_:to +
                                                                    1])
    memory[1:(to - from_) * 2 + 2:2] = yMap.transform(series.yData()[from_:to +
                                                                     1])
    return polyline