【问题标题】:How to get the pixel coordinates of a plot line in pyqtgraph如何在pyqtgraph中获取绘图线的像素坐标
【发布时间】:2014-07-01 15:08:11
【问题描述】:

我正在用 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) 的像素坐标

我该怎么做?

【问题讨论】:

    标签: python pyqtgraph


    【解决方案1】:

    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)`
    

    【讨论】:

    • 谢谢。如果我想获取图中最后一个点的坐标怎么办?如何从 wave 变量中访问它?
    • wave.getData() 返回最后显示的点(考虑到正在使用的下采样和裁剪选项)。否则,您可以通过wave.curve.xData.yData 访问原始数据。
    猜你喜欢
    • 2023-04-06
    • 2015-07-21
    • 1970-01-01
    • 2021-04-13
    • 1970-01-01
    • 2014-02-26
    • 1970-01-01
    • 2017-07-04
    • 2018-02-25
    相关资源
    最近更新 更多