def plot(self, scale_factor=1.0, plot_ax='x'):
time = np.arange(self.delay, (self.n_samples*self.dt + self.delay), self.dt)
# Normalize and detrend
norm_traces = np.zeros( np.shape(self.timeHistories) )
for k in range(self.n_channels):
current_trace = self.timeHistories[:,k]
current_trace = signal.detrend(current_trace) # Linear detrend
current_trace = current_trace / np.amax(current_trace) # Normalize by max value
current_trace = current_trace*scale_factor + self.position[k] # Scale and shift
norm_traces[:,k]= current_trace
# Plotting
if str.lower(plot_ax) == 'y':
fig = plt.figure( figsize=(2.75,6) )
ax = fig.add_axes([0.14,0.20,0.8,0.8])
for m in range(self.n_channels):
ax.plot(time, norm_traces[:,m],'b-', linewidth=0.5)
ax.set_xlim( ( min(time), max(time) ) )
ax.set_ylim( (-self.position[1], self.position[1]+self.position[len(self.position)-1] ) )
ax.set_xticklabels(ax.get_xticks(), fontsize=11, fontname='arial' )
ax.set_yticklabels(ax.get_yticks(), fontsize=11, fontname='arial' )
ax.grid(axis='x', linestyle='--')
ax.set_xlabel('Time (s)', fontsize=11, fontname="arial")
ax.set_ylabel('Normalized Amplitude', fontsize=11, fontname="arial")
ax.tick_params(labelsize=11)
ax.tick_params('x', length=4, width=1, which='major')
ax.tick_params('y', length=4, width=1, which='major')
elif str.lower(plot_ax) == 'x':
fig = plt.figure( figsize=(6,2.75) )
ax = fig.add_axes([0.14,0.20,0.8,0.75])
for m in range(self.n_channels):
ax.plot(norm_traces[:,m], time, 'b-', linewidth=0.5)
ax.set_ylim( ( max(time), min(time) ) )
ax.set_xlim( (-self.position[1], self.position[1]+self.position[len(self.position)-1] ) )
ax.set_yticklabels(ax.get_yticks(), fontsize=11, fontname='arial' )
ax.set_xticklabels(ax.get_xticks(), fontsize=11, fontname='arial' )
ax.grid(axis='y', linestyle='--')
ax.set_ylabel('Time (s)', fontsize=11, fontname="arial")
ax.set_xlabel('Normalized Amplitude', fontsize=11, fontname="arial")
ax.tick_params(labelsize=11)
ax.tick_params('y', length=4, width=1, which='major')
ax.tick_params('x', length=4, width=1, which='major')
return
# Method to pad zeros to achieve desired frequency sampling
评论列表
文章目录