updated data overview
This commit is contained in:
@@ -33,45 +33,52 @@ def plot_corr(ax, data, xcol, ycol, zcol, zmin, zmax, xpdfmax, cmap, color,
|
||||
xmax = ax.get_xlim()[1]
|
||||
ymax = ax.get_ylim()[1]
|
||||
mask = (data[xcol] < xmax) & (data[ycol] < ymax)
|
||||
if 'stimindex' in data:
|
||||
for cell, run in example + split_example + examples:
|
||||
mask &= ~((data['cell'] == cell) & (data['stimindex'] == run))
|
||||
else: # simulations
|
||||
for cell, alpha in example + split_example + examples:
|
||||
mask &= ~((data['cell'] == cell) & (data['contrast'] == alpha))
|
||||
sc = ax.scatter(data[mask, xcol], data[mask, ycol], c=data[mask, zcol],
|
||||
s=4, marker='o', linewidth=0, edgecolors='none',
|
||||
clip_on=False, cmap=cmap, vmin=zmin, vmax=zmax, zorder=20)
|
||||
elw = 0.3
|
||||
if 'stimindex' in data:
|
||||
for cell, run in example:
|
||||
mask = (data['cell'] == cell) & (data['stimindex'] == run)
|
||||
ax.scatter(data[mask, xcol], data[mask, ycol], c=data[mask, zcol],
|
||||
s=6, marker='^', linewidth=0.5, edgecolors='black',
|
||||
s=6, marker='^', linewidth=elw, edgecolors='black',
|
||||
clip_on=False, cmap=cmap, vmin=zmin, vmax=zmax,
|
||||
zorder=20)
|
||||
for cell, run in split_example:
|
||||
mask = (data['cell'] == cell) & (data['stimindex'] == run)
|
||||
ax.scatter(data[mask, xcol], data[mask, ycol], c=data[mask, zcol],
|
||||
s=6, marker='s', linewidth=0.5, edgecolors='black',
|
||||
s=6, marker='s', linewidth=elw, edgecolors='black',
|
||||
clip_on=False, cmap=cmap, vmin=zmin, vmax=zmax,
|
||||
zorder=20)
|
||||
for cell, run in examples:
|
||||
mask = (data['cell'] == cell) & (data['stimindex'] == run)
|
||||
ax.scatter(data[mask, xcol], data[mask, ycol], c=data[mask, zcol],
|
||||
s=5, marker='o', linewidth=0.5, edgecolors='black',
|
||||
s=6, marker='o', linewidth=elw, edgecolors='black',
|
||||
clip_on=False, cmap=cmap, vmin=zmin, vmax=zmax,
|
||||
zorder=20)
|
||||
else:
|
||||
else: # simulations
|
||||
for cell, alpha in example:
|
||||
mask = (data['cell'] == cell) & (data['contrast'] == alpha)
|
||||
ax.scatter(data[mask, xcol], data[mask, ycol], c=data[mask, zcol],
|
||||
s=6, marker='^', linewidth=0.5, edgecolors='black',
|
||||
s=6, marker='^', linewidth=elw, edgecolors='black',
|
||||
clip_on=False, cmap=cmap, vmin=zmin, vmax=zmax,
|
||||
zorder=20)
|
||||
for cell, alpha in split_example:
|
||||
mask = (data['cell'] == cell) & (data['contrast'] == alpha)
|
||||
ax.scatter(data[mask, xcol], data[mask, ycol], c=data[mask, zcol],
|
||||
s=6, marker='s', linewidth=0.5, edgecolors='black',
|
||||
s=6, marker='s', linewidth=elw, edgecolors='black',
|
||||
clip_on=False, cmap=cmap, vmin=zmin, vmax=zmax,
|
||||
zorder=20)
|
||||
for cell, alpha in examples:
|
||||
mask = (data['cell'] == cell) & (data['contrast'] == alpha)
|
||||
ax.scatter(data[mask, xcol], data[mask, ycol], c=data[mask, zcol],
|
||||
s=5, marker='o', linewidth=0.5, edgecolors='black',
|
||||
s=6, marker='o', linewidth=elw, edgecolors='black',
|
||||
clip_on=False, cmap=cmap, vmin=zmin, vmax=zmax,
|
||||
zorder=20)
|
||||
# color bar:
|
||||
@@ -250,23 +257,29 @@ if __name__ == '__main__':
|
||||
sep=';')
|
||||
si_thresh = 1.8
|
||||
|
||||
u, p = mannwhitneyu(punit_model['cvbase'], punit_data['cvbase'])
|
||||
cvmodel = punit_model['cvbase']
|
||||
cvdata = punit_data['cvbase']
|
||||
u, p = mannwhitneyu(cvmodel, cvdata)
|
||||
print('CV differs between P-unit models and data:')
|
||||
print(f' U={u:g}, p={p:.2g}')
|
||||
print(f' median model: {np.median(punit_model["cvbase"]):.2f}')
|
||||
print(f' median data: {np.median(punit_data["cvbase"]):.2f}')
|
||||
print(f' CV model: min={np.min(cvmodel):4.2f} max={np.max(cvmodel):4.2f} median={np.median(cvmodel):4.2f}')
|
||||
print(f' CV data: min={np.min(cvdata):4.2f} max={np.max(cvdata):.2f} median={np.median(cvdata):4.2f}')
|
||||
print()
|
||||
u, p = mannwhitneyu(punit_model['respmod2'], punit_data['respmod2'])
|
||||
rmmodel = punit_model['respmod2']
|
||||
rmdata = punit_data['respmod2']
|
||||
u, p = mannwhitneyu(rmmodel, rmdata)
|
||||
print('Response modulation differs between P-unit models and data:')
|
||||
print(f' U={u:g}, p={p:.2g}')
|
||||
print(f' median model: {np.median(punit_model["respmod2"]):.2f}')
|
||||
print(f' median data: {np.median(punit_data["respmod2"]):.2f}')
|
||||
print(f' response modulation model: min={np.min(rmmodel):3.0f}Hz max={np.max(rmmodel):3.0f}Hz median={np.median(rmmodel):3.0f}Hz')
|
||||
print(f' response modulation data: min={np.min(rmdata):3.0f}Hz max={np.max(rmdata):3.0f}Hz median={np.median(rmdata):3.0f}Hz')
|
||||
print()
|
||||
u, p = mannwhitneyu(punit_model['dnli100'], punit_data['nli'])
|
||||
simodel = punit_model['dnli100']
|
||||
sidata = punit_data['nli']
|
||||
u, p = mannwhitneyu(simodel, sidata)
|
||||
print('SI does not differ between P-unit models and data:')
|
||||
print(f' U={u:g}, p={p:.2g}')
|
||||
print(f' median model: {np.median(punit_model["dnli100"]):.1f}')
|
||||
print(f' median data: {np.median(punit_data["nli"]):.1f}')
|
||||
print(f' SI model: min={np.min(simodel):4.1f} max={np.max(simodel):4.1f} median={np.median(simodel):4.1f}')
|
||||
print(f' SI data: min={np.min(sidata):4.1f} max={np.max(sidata):4.1f} median={np.median(sidata):4.1f}')
|
||||
print()
|
||||
|
||||
s = plot_style()
|
||||
@@ -307,4 +320,3 @@ if __name__ == '__main__':
|
||||
fig.common_yticks(axs[2, :])
|
||||
fig.tag(axs, xoffs=-3.5, yoffs=2)
|
||||
fig.savefig()
|
||||
print()
|
||||
|
||||
Reference in New Issue
Block a user