plot_journal.py 文件源码

python
阅读 29 收藏 0 点赞 0 评论 0

项目:nmt-repr-analysis 作者: boknilev 项目源码 文件源码
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
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号