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)
评论列表
文章目录