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.

def get_free_dims(model, visible_dims, fixed_dims):
    """
    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.
    """
    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])