我试图更改正在显示的数据的比例(不确定这是否是它的名称)我想在启动时将红色圈出的范围更改为默认值3-6 / p>
我读过的所有内容都表明它应该像抓取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。
我尝试通过运行
搜索ImageViewprint(vars(imv))
但我能找到的最接近的是ImageItem但是
imv.imageItem.setLevels(3,6)
引发错误" level参数必须是1d或2d"。这让我觉得这不是正确的道路。
感谢您的帮助
编辑:
我试过
imv.imageItem.setLevels((3,6))
产生以下
数据的范围是正确的,但右侧的图例未正确更新
答案 0 :(得分: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])