pyqtgraph使用pyqtgraph.image()改变显示色标的限制

时间:2014-08-18 17:27:31

标签: python python-2.7 pyqtgraph

我试图更改正在显示的数据的比例(不确定这是否是它的名称)我想在启动时将红色圈出的范围更改为默认值3-6 / p>

look for the red

我读过的所有内容都表明它应该像抓取ImageView对象并调用setLevels()一样简单here。问题是我无法在ImageWindow中找到ImageView对象。

这是我的初始代码

imv = pg.image(amps)
okay = imv.imageItem

imv.view.setAspectLocked(ratio = 4)
print( vars(imv))
imv.setLimits(3,6)

win = QtGui.QMainWindow()

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

但是它说ImageWindow没有属性setLimits。

我尝试通过运行

搜索ImageView
print(vars(imv))

但我能找到的最接近的是ImageItem但是

imv.imageItem.setLevels(3,6)

引发错误" level参数必须是1d或2d"。这让我觉得这不是正确的道路。

感谢您的帮助

编辑:

我试过

imv.imageItem.setLevels((3,6))

产生以下

new picture

数据的范围是正确的,但右侧的图例未正确更新

1 个答案:

答案 0 :(得分:2)

ImageWindowImageView的子类,因此应该应用所有相同的方法。文档在这里:http://www.pyqtgraph.org/documentation/widgets/imageview.html#pyqtgraph.ImageView.setImage

这些是写出大致相同的东西的所有不同方式:

# 1:
pg.image(data, levels=[3, 6])

# 2:
imv = pg.image(data)
imv.setLevels(3, 6)

# 3:
imv = pg.ImageView()
imv.setImage(data, levels=[3, 6])