code: def plot_monthly_returns_heatmap(returns, ax=None, **kwargs):
      
  
      if ax is None:
          ax = plt.gca()
  
      monthly_ret_table = ep.aggregate_returns(returns, 'monthly')
      monthly_ret_table = monthly_ret_table.unstack().round(3)
  
      sns.heatmap(
          monthly_ret_table.fillna(0) *
          100.0,
          annot=True,
          annot_kws={"size": 9},
          alpha=1.0,
          center=0.0,
          cbar=False,
          cmap=matplotlib.cm.RdYlGn,
          ax=ax, **kwargs)
      ax.set_ylabel('Year')
      ax.set_xlabel('Month')
      ax.set_title("Monthly returns (%)")
      return ax
docs: Plots a heatmap of returns by month.
  
      Parameters
      ----------
      returns : pd.Series
          Daily returns of the strategy, noncumulative.
           - See full explanation in tears.create_full_tear_sheet.
      ax : matplotlib.Axes, optional
          Axes upon which to plot.
      **kwargs, optional
          Passed to seaborn plotting function.
  
      Returns
      -------
      ax : matplotlib.Axes
          The axes that were plotted on.