我是python的初学者,
我遇到以下情况,正在获取一个写入文件的数据记录器,并且正在绘制数据(时间,数据)。问题是我的时间不正确,有尖峰和楼梯情况。
我测试了客户端,并且它正常工作,所以我必须测试记录器本身。
这是从文件读取并绘制数据的函数。
此功能的问题是我不知道如何调试它,例如数据是二进制的,我需要通过绘图来验证从文件中读取的数据是否为线性。
有人会提示我如何通过绘制文件中的数据来调试吗?
with get_compressed_file(self._filename, mode=self._mode) as datafile:
inputstring = datafile.read(20)
channels, gratings, _, _ = struct.unpack(">HHdd", inputstring)
data = []
datalen = 8 + channels * gratings * 8
sublen = channels * gratings
assert channels < 20 # noqa
assert gratings < 20 # noqa
inputstring = datafile.read(datalen)
ll = []
while len(inputstring) == datalen:
data.append(np.fromstring(
inputstring,
dtype=[('time', '<f8'),
('data', '<f8', (sublen, ))]))
inputstring = datafile.read(datalen)
newdata = np.zeros((len(data),),
dtype=[('time', '<f8'),
('data', '<f8', (sublen, ))])
newdata[:] = data
return newdata
这是示例数据文件
http://www.mediafire.com/file/er1pzcml0f7vv2x/peakdata_20180723_1200.data
PS:这是一个二进制文件,未经压缩。