code: def share_x(ax):
      """Manually share x axis on an array of axis
  
      Parameters
      ----------
      ax : `np.ndarray`
          2d array of axes that will share x
  
      Notes
      -----
      This utlity is useful as sharex kwarg of subplots cannot be applied only
      on a subset of the axes
      """
      n_rows, n_cols = ax.shape
      get_xlim = np.vectorize(lambda axis: axis.get_xlim())
      x_min, x_max = get_xlim(ax)
      x_min_min = x_min.min()
      x_max_max = x_max.max()
      for i in range(n_rows):
          for j in range(n_cols):
              ax[i, j].set_xlim([x_min_min, x_max_max])
              if i != n_rows - 1:
                  ax[i, j].get_xaxis().set_ticks([])
  
imports: import numpy
label_desc: Use image node_id 3 for calling a global function with example usage: share_x(ax) without return types