From 6287874b5c3267d40128d637ab08a7957f687c5c Mon Sep 17 00:00:00 2001 From: Luke Campagnola Date: Wed, 13 Sep 2017 21:37:19 -0700 Subject: [PATCH] Minor fix - check for ragged array length when exporting to hdf5 --- pyqtgraph/exporters/HDF5Exporter.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/pyqtgraph/exporters/HDF5Exporter.py b/pyqtgraph/exporters/HDF5Exporter.py index cc8b5733..584a9f71 100644 --- a/pyqtgraph/exporters/HDF5Exporter.py +++ b/pyqtgraph/exporters/HDF5Exporter.py @@ -42,14 +42,20 @@ class HDF5Exporter(Exporter): dsname = self.params['Name'] fd = h5py.File(fileName, 'a') # forces append to file... 'w' doesn't seem to "delete/overwrite" data = [] - + appendAllX = self.params['columnMode'] == '(x,y) per plot' - for i,c in enumerate(self.item.curves): + #print dir(self.item.curves[0]) + tlen = 0 + for i, c in enumerate(self.item.curves): d = c.getData() + if i > 0 and len(d[0]) != tlen: + raise ValueError ("HDF5 Export requires all curves in plot to have same length") if appendAllX or i == 0: data.append(d[0]) + tlen = len(d[0]) data.append(d[1]) - + + fdata = numpy.array(data).astype('double') dset = fd.create_dataset(dsname, data=fdata) fd.close()