code: def grouped_hist(data, column=None, by=None, ax=None, bins=50, figsize=None,
                   layout=None, sharex=False, sharey=False, rot=90, grid=True,
                   xlabelsize=None, xrot=None, ylabelsize=None, yrot=None,
                   **kwargs):
      
      _raise_if_no_mpl()
      _converter._WARN = False
  
      def plot_group(group, ax):
          ax.hist(group.dropna().values, bins=bins, **kwargs)
  
      xrot = xrot or rot
  
      fig, axes = _grouped_plot(plot_group, data, column=column,
                                by=by, sharex=sharex, sharey=sharey, ax=ax,
                                figsize=figsize, layout=layout, rot=rot)
  
      _set_ticks_props(axes, xlabelsize=xlabelsize, xrot=xrot,
                       ylabelsize=ylabelsize, yrot=yrot)
  
      fig.subplots_adjust(bottom=0.15, top=0.9, left=0.1, right=0.9,
                          hspace=0.5, wspace=0.3)
      return axes
docs: Grouped histogram
  
      Parameters
      ----------
      data : Series/DataFrame
      column : object, optional
      by : object, optional
      ax : axes, optional
      bins : int, default 50
      figsize : tuple, optional
      layout : optional
      sharex : bool, default False
      sharey : bool, default False
      rot : int, default 90
      grid : bool, default True
      kwargs : dict, keyword arguments passed to matplotlib.Axes.hist
  
      Returns
      -------
      collection of Matplotlib Axes