问题描述
我正在散布一个numpy数组(一个栅格图)的非零元素,但是该数组具有的点数超过了实际值。
fig,ax = plt.subplots(2,1,figsize = (20,21))
raster_plot(all_concatenated[subject_names[0]][:,0:10000],ax = ax[0])
raster_plot(all_concatenated[subject_names[0]][:,0:8000],ax = ax[1])
其中
def raster_plot(spikes,ax,t = 500):
binned_spikes = bin_time_series(spikes,binsize = t,total_frame = spikes.shape[1])
n,t,l = binned_spikes.shape
#cmap = plt.cm.Spectral
#norm = plt.normalize(vmin = 0,vmax = float(np.max(spikes)))
for i in range(n):
for k in range(l):
for j in range(t):
if binned_spikes[i][j][k] == 0: pass
else:
ax.scatter(k*t+j,i,s = 5,c = 'b',marker = 'x')#,norm = norm,cmap = cmap)
ax.set_title('Spike Raster Plot',fontsize = 20)
ax.set_xlabel('Time (Frames)',fontsize = 15)
ax.set_ylabel('Neuron ID',fontsize = 15)
ax.set_xticks([t*i for i in range(l+1)])
ax.set_yticks([5*i for i in range(int(n/5)+1)]+[n])
ax.tick_params(axis = 'x',labelsize = 10)
ax.tick_params(axis = 'y',labelsize = 13)
和
def bin_time_series(array,binsize,total_frame):
binned_spikes = []
for i in range(len(array)):
A = array[i].reshape(binsize,int(total_frame/binsize))
binned_spikes.append(A)
return(np.array(binned_spikes,dtype=np.int32))
当我查看ID编号为94-113的前8000个时间点的神经元没有峰值时,这实际上是数组,但是当我查看前10000个时间点时,我看到了不应该存在的额外峰值。一件奇怪的事是那些不应该在10000条中出现的尖峰都接近500的倍数。
这是稀疏问题吗?我要疯了还是我想念什么?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)