1

我正在尝试更改正在显示的数据的比例(不确定这是否是所谓的)我想在启动时将红色圈出的范围更改为 3-6 作为默认值

寻找红色

我读过的所有内容都表明它应该像抓取 ImageView 对象并调用 setLevels() 一样简单,如此处所示。问题是我在 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)

引发“级别参数必须为 1d 或 2d”的错误。这让我觉得这不是正确的道路。

谢谢你的帮助

编辑:

我试过了

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

产生以下

新图片

数据上的范围是正确的,但是右边的图例没有正确更新

4

1 回答 1

2

ImageWindow是 的子类ImageView,因此应该应用所有相同的方法。文档在这里: 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])    
于 2014-08-18T20:14:24.963 回答