2014-05-13 111 views
0

我畫的情節與pyqtgraph:如何獲得一個情節線的像素座標pyqtgraph

wave = pg.PlotWidget(self, QtGui.QColor(0, 0, 0, 0)) 
wave.plot([1,2,3], [1,2,1], pen=(0,0,255), fillLevel=-0, brush=(255,215,0)) 

我想獲得最後一個點的像素座標(3,1)

我該怎麼做?

回答

2

Qt使得使用它的QGraphicsItem.map*方法在座標系統之間映射變得簡單。 PyQtGraph進一步擴展了這些方法,甚至更多pg.GraphicsItem.map*方法。你想要的工作是這樣的:

>>> import pyqtgraph as pg 
>>> plt = pg.plot() 
>>> wave = plt.plot([1,2,3], [1,2,1]) 
>>> wave.mapToDevice(pg.Point(3, 1)) 
PyQt4.QtCore.QPointF(615.6409081308565, 438.7833653023292)` 
+0

謝謝。如果我想獲得劇情中最後一個點的座標,該怎麼辦?我如何從wave變量中訪問它? – Fra

+0

'wave.getData()'返回最後顯示的點(考慮到正在使用的下采樣和剪切選項)。否則,您可以使用'wave.curve.xData'和'.yData'來訪問原始數據。 – Luke