我正在尝试在 pyqtgraph 中绘制 tiff 图像。
import numpy as np
import gdal
import pyqtgraph as pg
from PyQt4 import QtCore
gd = gdal.Open('myImage.tif')
data = np.array(gd.GetRasterBand(1).ReadAsArray())
pg.plot(data, title="my picture")
if __name__ == '__main__':
import sys
if sys.flags.interactive != 1 or not hasattr(QtCore, 'PYQT_VERSION'):
pg.QtGui.QApplication.exec_()
我收到错误
Traceback (most recent call last):
File "C:/Users/justin/PycharmProjects/pyqtgraph_examples/geotiff.py", line 18, in <module>
pg.plot(data, title="my picture")
File "C:\Python33\lib\site-packages\pyqtgraph\__init__.py", line 295, in plot
w.plot(*args, **dataArgs)
File "C:\Python33\lib\site-packages\pyqtgraph\graphicsItems\PlotItem\PlotItem.py", line 639, in plot
item = PlotDataItem(*args, **kargs)
File "C:\Python33\lib\site-packages\pyqtgraph\graphicsItems\PlotDataItem.py", line 165, in __init__
self.setData(*args, **kargs)
File "C:\Python33\lib\site-packages\pyqtgraph\graphicsItems\PlotDataItem.py", line 341, in setData
dt = dataType(data)
File "C:\Python33\lib\site-packages\pyqtgraph\graphicsItems\PlotDataItem.py", line 679, in dataType
raise Exception('array shape must be (N,) or (N,2); got %s instead' % str(obj.shape))
Exception: array shape must be (N,) or (N,2); got (788, 744) instead
print(data.size) 返回 (788,744)。
我在想我的 numpy 数组的格式错误,或者我使用了错误的 pyqtgraph 函数,但我对接下来要尝试什么都不熟悉。