'Plots a heatmap of the monthly returns.'

def _plot_monthly_returns(self, stats, ax=None, **kwargs):

    returns = stats['returns']
    if (ax is None):
        ax = plt.gca()
    monthly_ret = perf.aggregate_returns(returns, 'monthly')
    monthly_ret = monthly_ret.unstack()
    monthly_ret = np.round(monthly_ret, 3)
    monthly_ret.rename(columns={1: 'Jan', 2: 'Feb', 3: 'Mar', 4: 'Apr', 5: 'May', 6: 'Jun', 7: 'Jul', 8: 'Aug', 9: 'Sep', 10: 'Oct', 11: 'Nov', 12: 'Dec'}, inplace=True)
    sns.heatmap((monthly_ret.fillna(0) * 100.0), annot=True, fmt='0.1f', annot_kws={'size': 8}, alpha=1.0, center=0.0, cbar=False, cmap=cm.RdYlGn, ax=ax, **kwargs)
    ax.set_title('Monthly    Returns    (%)', fontweight='bold')
    ax.set_ylabel('')
    ax.set_yticklabels(ax.get_yticklabels(), rotation=0)
    ax.set_xlabel('')
    return ax
