def plot_pairs_by_layer_semdeprel_schemes2(df, pairs, majs, mfls, figname, fignum, ymin=0, ymax=100, plot_maj=True):
fig = plt.figure(fignum)
default_size = fig.get_size_inches()
fig.set_size_inches( (default_size[0]*2.5, default_size[1]*2.5) )
outer = gridspec.GridSpec(3, 1, wspace=0.2, hspace=0.5)
xsubs, ysubs = 3, 2
#f, _ = plt.subplots(ysubs, xsubs) #, sharex=True, sharey=True)
#default_size = f.get_size_inches()
#f.set_size_inches( (default_size[0]*1.8, default_size[1]*1.8) )
schemes = df.scheme.unique()
maj_line, mfl_line = '', ''
for s in range(3):
inner = gridspec.GridSpecFromSubplotSpec(2, 3, subplot_spec=outer[s], wspace=0.5, hspace=1)
for i, ((source, target), maj, mfl) in enumerate(zip(pairs[s], majs[s], mfls[s])):
ax = plt.Subplot(fig, inner[i])
df_source_target_scheme = df[(df['source'] == source) & (df['target'] == target) & (df['scheme'] == schemes[s])]
accs = get_accs_from_df(df_source_target_scheme)
layers = df_source_target_scheme.layer.values
hide_xlabel = True if i < (ysubs-1)*xsubs else False
hide_ylabel = True if i % xsubs > 0 else False
maj_line, mfl_line = plot_pair_by_layer(ax, layers, accs, maj, mfl, pretty_lang_names[source] + u"\u2192" + pretty_lang_names[target],
hide_xlabel=hide_xlabel, hide_ylabel=hide_ylabel, ymin=ymin, ymax=ymax, plot_maj=plot_maj, nbins=3, delta_above=False)
fig.add_subplot(ax)
# hide unused axes
#axarr[-1, -1].axis('off')
#for ax in f.axes[len(pairs):-1]:
# ax.axis('off')
# if plot_maj:
# f.legend([maj_line, mfl_line], ['maj', 'mfl'], loc='lower left', bbox_to_anchor=(0.8,0.1), markerscale=1.5, fontsize='medium', frameon=True, title='Legend', edgecolor='black', labelspacing=1)
# else:
# f.legend([mfl_line], ['mfl'], loc='lower left', bbox_to_anchor=(0.8,0.1), markerscale=1.5, fontsize='medium', frameon=True, title='Legend', edgecolor='black', labelspacing=1)
#plt.tight_layout()
plt.savefig(figname)
return fignum + 1
评论列表
文章目录