Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
Returns
-------
"""
if time_window is None:
t_ind_start = 0
t_ind_stop = None
else:
t_ind_start = timeseries_time_to_ind(time_series, time_window[0])
t_ind_stop = timeseries_time_to_ind(time_series, time_window[1])
if trace_window is None:
trace_window = [0, time_series.data.shape[1]]
tt = get_timeseries_tt(time_series, t_ind_start, t_ind_stop)
if time_series.data.shape[1] == len(tt): # fix of orientation is incorrect
mini_data = time_series.data[trace_window[0]:trace_window[1], t_ind_start:t_ind_stop].T
else:
mini_data = time_series.data[t_ind_start:t_ind_stop, trace_window[0]:trace_window[1]]
gap = np.median(np.nanstd(mini_data, axis=0)) * 20
offsets = np.arange(trace_window[1] - trace_window[0]) * gap
fig, ax = plt.subplots()
ax.figure.set_size_inches(12, 6)
ax.plot(tt, mini_data + offsets)
ax.set_xlabel('time (s)')
if np.isfinite(gap):
ax.set_ylim(-gap, offsets[-1] + gap)
ax.set_xlim(tt[0], tt[-1])
ax.set_yticks(offsets)
def show_timeseries_mpl(node: TimeSeries, neurodata_vis_spec=None, istart=0, istop=None, ax=None, zero_start=False,
xlabel=None, ylabel=None, title=None, **kwargs):
if xlabel is None:
xlabel = 'time (s)'
if ylabel is None and node.unit:
ylabel = node.unit
if ax is None:
fig, ax = plt.subplots()
tt = get_timeseries_tt(node, istart=istart, istop=istop)
if zero_start:
tt = tt - tt[0]
data, unit = get_timeseries_in_units(node, istart=istart, istop=istop)
ax.plot(tt, data, **kwargs)
ax.set_xlabel(xlabel)
if node.unit:
ax.set_ylabel(ylabel)
if title is not None:
ax.set_title(title)
ax.autoscale(enable=True, axis='x', tight=True)
return ax
def show_spatial_series_over_time(node: SpatialSeries, **kwargs):
text_widget = base.show_text_fields(
node, exclude=('timestamps_unit', 'comments', 'data', 'timestamps', 'interval'))
data, unit = get_timeseries_in_units(node)
if len(data.shape) == 1:
ndims = 1
else:
ndims = data.shape[1]
tt = get_timeseries_tt(node)
if ndims == 1:
fig, ax = plt.subplots()
ax.plot(tt, data, **kwargs)
ax.set_xlabel('t (sec)')
if unit:
ax.set_ylabel('x ({})'.format(unit))
else:
ax.set_ylabel('x')
else:
fig, axs = plt.subplots(ndims, 1, sharex=True)
for i, (ax, dim_label) in enumerate(zip(axs, ('x', 'y', 'z'))):
ax.plot(tt, data[:, i], **kwargs)
if unit:
def show_spatial_series(node: SpatialSeries, **kwargs):
data, unit = get_timeseries_in_units(node)
tt = get_timeseries_tt(node)
if len(data.shape) == 1:
fig, ax = plt.subplots()
ax.plot(tt, data, **kwargs)
ax.set_xlabel('t (sec)')
if unit:
ax.set_xlabel('x ({})'.format(unit))
else:
ax.set_xlabel('x')
ax.set_ylabel('x')
elif data.shape[1] == 2:
fig, ax = plt.subplots()
ax.plot(data[:, 0], data[:, 1], **kwargs)
if unit:
ax.set_xlabel('x ({})'.format(unit))