i am new in python and i want to extract the spectrogram of the magnitude in a text file
Here is my code
dataset = np.loadtxt("trainingdataset.txt", delimiter=",", dtype = np.int32)
fake_size = 1415684
time = np.arange(fake_size)/1415684 # 1kHz
base_freq = 2 * np.pi * 100
x = dataset[:,2]
y = dataset[:,3]
z = dataset[:,4]
xyz_magnitude = x**2 + y**2 + z**2
to_plot = [('x', x), ('y', y), ('z', z), ('xyz', xyz_magnitude)]
for chl, data in to_plot:
plt.figure(); plt.title(chl)
d = plt.specgram(data, Fs=1000)
plt.xlabel('Time [s]'); plt.ylabel('Frequency [Hz]')
plt.show()
and there is a sample of my dataset, the dataset headers is a as follows (patient number, time/millisecond, X-axis, Y-axis, Z-axis, label
1,15,70,39,-970,0
1,31,70,39,-970,0
1,46,60,49,-960,0
1,62,60,49,-960,0
1,78,50,39,-960,0
1,93,50,39,-960,0
1,109,60,39,-990,0
Edit from comments:
there is warning in that code Warning (from warnings module): File "C:\Users******\AppData\Local\Programs\Python\Python36\lib\site-packages\matplotlib\axes_axes.py", line 7221 Z = 10. * np.log10(spec) RuntimeWarning: divide by zero encountered in log10 –