def plot_count_fig(tasks):
"""
Create count plot, as a 2-row x 3-col bar plot of data points for each k in each covar.
Parameters
----------
tasks: list(dict)
Returns
-------
Matplotlib Figure object.
"""
sns.set(context='talk', style='whitegrid')
df = pd.DataFrame(filter_dict_list_by_keys(tasks, ['k', 'covar_type', 'covar_tied']))
df = df.loc[:, ['k', 'covar_type', 'covar_tied', 'bic', 'aic']]
df['covar_type'] = [x.capitalize() for x in df['covar_type']]
df['covar_tied'] = [['Untied', 'Tied'][x] for x in df['covar_tied']]
f = sns.factorplot(x='k', kind='count', col='covar_type', row='covar_tied', data=df,
row_order=['Tied', 'Untied'], col_order=['Full', 'Diag', 'Spher'], legend=True, legend_out=True,
palette='Blues_d')
f.set_titles("{col_name}-{row_name}")
f.set_xlabels("Num. of Clusters (K)")
return f.fig
评论列表
文章目录