pyqtgraph中没有值

时间:2015-12-15 12:18:55

标签: python excel pandas pyqtgraph

我正在尝试使用pyqtgraph从包含空值(来自pandas的数据)的数据中生成图表。

pyqtgraph - yellow circle has null values

graph using excel

我希望使用pyqtgraph的图形与excel图形相同。换句话说,该区域中没有具有空值的行。

1 个答案:

答案 0 :(得分:4)

使用yourcurve.setData(x, y, connect="finite")

plotcurveitem/plotdataitem has the keyword connect中的{p> Set data正是您正在寻找的。

引用有关 connect 关键字的文档:

  

默认为全部,表示完全连接。 仅会导致   要绘制的偶数段。 有限会导致细分   如果它们附加到nan或inf值,则省略。对于任何其他   连接,指定一个布尔值数组。

这是一个例子

import numpy as np
import pyqtgraph as pg
from PyQt4 import QtCore

a = np.array([1, 2, 3, np.nan, 5, 6, 7, np.nan, 9, 10, 11])
b = np.array([1, 2, 3, np.nan, 3, 2, 1, np.nan, 1, 2, 3])
c = b+3

w = pg.PlotWindow()
finitecurve = pg.PlotDataItem(a, b, connect="finite", pen=(255, 255, 0))
normalcurve = pg.PlotDataItem(a, c, pen=(255, 0, 0))
w.addItem(normalcurve)
w.addItem(finitecurve)
w.show()

if __name__ == '__main__':
    import sys
    if sys.flags.interactive != 1 or not hasattr(QtCore, 'PYQT_VERSION'):
        pg.QtGui.QApplication.exec_()

Finite plot