I'm trying to plot a tiff image in pyqtgraph.
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_()
Im getting the error
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) returns (788,744).
I'm thinking my numpy array is in the wrong form or I'm using the wrong pyqtgraph function but I'm not that familiar with either to know what to try next.