光纤LP模式分解
10个模式合成后的理想分布图和重建分布图以及残差图
df = pd.DataFrame()
cm=plt.cm.get_cmap('Spectral_r')
fig = plt.figure(figsize=(27, 9))
case_nums = 9
group_name = ["Measurement", "Reconstructed", "Residual"]
for i in range(case_nums):
output = outputs[i]
label = labels[i]
output = findTrueLabel(label, output)
para = label.tolist()
alpha_m = para[:split_len]
beta_m = para[split_len:]
para = output.tolist()
alpha_r = para[:split_len]
beta_r = para[split_len:]
I_r, phase_r, label_r = init_superposition_mode(alpha_r, beta_r)
I_m, phase_m, label_m = init_superposition_mode(alpha_m, beta_m)
ax1 = fig.add_subplot(3,case_nums,0 + i + 1 )
ax2 = fig.add_subplot(3,case_nums,1 * case_nums + i + 1 )
ax3 = fig.add_subplot(3,case_nums,2 * case_nums + i + 1)
cbar1 = ax1.pcolormesh(X, Y, I_m, cmap=cm, vmin=0, vmax=1)
cbar2 = ax2.pcolormesh(X, Y, I_r, cmap=cm, vmin=0, vmax=1)
cbar3 = ax3.pcolormesh(X, Y, abs(I_m- I_r),cmap=cm, vmin=0, vmax=1)
p = pearsonr(I_m, I_r)
if i == 0:
ax1.set_ylabel(group_name[0], fontdict = {'size':16})
ax2.set_ylabel(group_name[1], fontdict = {'size':16})
ax3.set_ylabel(group_name[2], fontdict = {'size':16})
ax3.set_xlabel('corr: '+ str(round(p,4)), fontdict = {'size':16})
fig.subplots_adjust(right=0.9)
l = 0.92
b = 0.12
w = 0.015
h = 1 - 2*b
rect = [l,b,w,h]
cbar_ax = fig.add_axes(rect)
cb = plt.colorbar(cbar3, cax=cbar_ax)
分解效果图和相似性
作图参考链接如下:
matplotlib 合理设置colorbar和子图的对应关系
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)