plot.py 文件源码

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

项目:powerplantmatching 作者: FRESNA 项目源码 文件源码
def factor_comparison(dfs, keys, figsize=(7,5)):
    compare = lookup(dfs, show_totals=True,
              keys=keys, exclude=['Solar', 'Wind']).fillna(0.)
    n_fueltypes, n_countries = compare.shape

    compare.columns.labels
    c= [tech_colors2[i] for i in compare.index.values[:-1]] + ['gold']
    rcParams["axes.prop_cycle"] = cycler(color=c)

    #where both are zero,
    compare[compare.groupby(level=0, axis=1).transform(np.sum)<0.5]=np.nan

    fig, ax = plt.subplots(1,1, figsize=figsize)
    compare.T.plot(ax=ax, markevery=(0,2),
                   style='o', markersize=5)
    compare.T.plot(ax=ax, markevery=(1,2),
                   style='s', legend=None, markersize=4.5)

    lgd = ax.get_legend_handles_labels()

    for i,j in enumerate(compare.T.index.levels[0]):
        ax.plot(np.array([0,1])+(2*i), compare.T.loc[j])

    indexhandles = [Line2D([0.4,.6],[.4,.6], marker=m, linewidth=0.,
                                     markersize=msize,
                                     color='w', markeredgecolor='k', markeredgewidth=0.5)
                    for m, msize in [['o', 5.], ['s', 4.5]]]
    indexlabels = ['Matched Dataset', 'ENTSOE Stats']
    ax.add_artist(ax.legend(handles=indexhandles, labels=indexlabels))
    ax.legend(handles= lgd[0][:len(c)], labels=lgd[1][:len(c)]
               ,title=False, loc=2)

    ax.set_xlim(-1,n_countries)
    ax.xaxis.grid(False)
    ax.set_xticks(np.linspace(0.5,n_countries-1.5,n_countries/2))
    ax.set_xticklabels(compare.columns.levels[0].values, rotation=90)
    ax.set_xlabel('')
    ax.set_ylabel('Capacity [GW]')
    fig.tight_layout(pad=0.5)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号