docs: def h3(data, *args, **kwargs):
      """Facade function to create 3D histograms.
  
      Parameters
      ----------
      data : array_like or list[array_like] or tuple[array_like]
          Can be a single array (with three columns) or three different arrays
          (for each component)
  
      Returns
      -------
      physt.histogram_nd.HistogramND
      """
      import numpy as np
  
      if data is not None and isinstance(data, (list, tuple)) and not np.isscalar(data[0]):
          if "axis_names" not in kwargs:
              kwargs["axis_names"] = [(column.name if hasattr(column, "name") else None) for column in data]
          data = np.concatenate([item[:, np.newaxis] for item in data], axis=1)
      else:
          kwargs["dim"] = 3    
      return histogramdd(data, *args, **kwargs)