code: def hist(darray, figsize=None, size=None, aspect=None, ax=None, **kwargs):
      
      ax = get_axis(figsize, size, aspect, ax)
  
      xincrease = kwargs.pop('xincrease', None)  # default needs to be None
      yincrease = kwargs.pop('yincrease', None)
      xscale = kwargs.pop('xscale', None)  # default needs to be None
      yscale = kwargs.pop('yscale', None)
      xticks = kwargs.pop('xticks', None)
      yticks = kwargs.pop('yticks', None)
      xlim = kwargs.pop('xlim', None)
      ylim = kwargs.pop('ylim', None)
  
      no_nan = np.ravel(darray.values)
      no_nan = no_nan[pd.notnull(no_nan)]
  
      primitive = ax.hist(no_nan, **kwargs)
  
      ax.set_title('Histogram')
      ax.set_xlabel(label_from_attrs(darray))
  
      _update_axes(ax, xincrease, yincrease, xscale, yscale,
                   xticks, yticks, xlim, ylim)
  
      return primitive
docs: Histogram of DataArray
  
      Wraps :func:`matplotlib:matplotlib.pyplot.hist`
  
      Plots N dimensional arrays by first flattening the array.
  
      Parameters
      ----------
      darray : DataArray
          Can be any dimension
      figsize : tuple, optional
          A tuple (width, height) of the figure in inches.
          Mutually exclusive with ``size`` and ``ax``.
      aspect : scalar, optional
          Aspect ratio of plot, so that ``aspect * size`` gives the width in
          inches. Only used if a ``size`` is provided.
      size : scalar, optional
          If provided, create a new figure for the plot with the given size.
          Height (in inches) of each plot. See also: ``aspect``.
      ax : matplotlib axes object, optional
          Axis on which to plot this figure. By default, use the current axis.
          Mutually exclusive with ``size`` and ``figsize``.
      **kwargs : optional
          Additional keyword arguments to matplotlib.pyplot.hist