code: def get_free_dims(model, visible_dims, fixed_dims):
      
      if visible_dims is None:
          visible_dims = np.arange(model.input_dim)
      dims = np.asanyarray(visible_dims)
      if fixed_dims is not None:
          dims = [dim for dim in dims if dim not in fixed_dims]
      return np.asanyarray([dim for dim in dims if dim is not None])
docs: work out what the inputs are for plotting (1D or 2D)
  
      The visible dimensions are the dimensions, which are visible.
      the fixed_dims are the fixed dimensions for this.
  
      The free_dims are then the visible dims without the fixed dims.