The MissingValues Bar visualizer creates a bar graph that lists the total
    count of missing values for each selected feature column.

    When y targets are supplied to fit, the output is a stacked bar chart where
    each color corresponds to the total NaNs for the feature in that column.

    Parameters
    ----------
    alpha : float, default: 0.5
        A value for bending elments with the background.

    marker : matplotlib marker, default: |
        The marker used for each element coordinate in the plot

    color : string, default: black
        The color for drawing the bar chart when the y targets are not passed to
        fit.

    colors : list, default: None
        The color pallette for drawing a stack bar chart when the y targets
        are passed to fit.

    classes : list, default: None
        A list of class names for the legend.
        If classes is None and a y value is passed to fit then the classes
        are selected from the target vector.

    kwargs : dict
        Keyword arguments that are passed to the base class and may influence
        the visualization as defined in other Visualizers.

    Attributes
    ----------
    features_ : np.array
        The feature labels ranked according to their importance

    classes_ : np.array
        The class labels for each of the target values

    Examples
    --------

    >>> from yellowbrick.contrib.missing import missing_bar
    >>> visualizer = missing_bar(X, y=y)

def missing_bar(X, y=None, ax=None, classes=None, width=0.5, color='black', **kwargs):
    """The MissingValues Bar visualizer creates a bar graph that lists the total
    count of missing values for each selected feature column.

    When y targets are supplied to fit, the output is a stacked bar chart where
    each color corresponds to the total NaNs for the feature in that column.

    Parameters
    ----------
    alpha : float, default: 0.5
        A value for bending elments with the background.

    marker : matplotlib marker, default: |
        The marker used for each element coordinate in the plot

    color : string, default: black
        The color for drawing the bar chart when the y targets are not passed to
        fit.

    colors : list, default: None
        The color pallette for drawing a stack bar chart when the y targets
        are passed to fit.

    classes : list, default: None
        A list of class names for the legend.
        If classes is None and a y value is passed to fit then the classes
        are selected from the target vector.

    kwargs : dict
        Keyword arguments that are passed to the base class and may influence
        the visualization as defined in other Visualizers.

    Attributes
    ----------
    features_ : np.array
        The feature labels ranked according to their importance

    classes_ : np.array
        The class labels for each of the target values

    Examples
    --------

    >>> from yellowbrick.contrib.missing import missing_bar
    >>> visualizer = missing_bar(X, y=y)
    """
    # Instantiate the visualizer
    visualizer = MissingValuesBar(
        ax=ax, classes=classes, width=width, color=color, **kwargs
    )

    # Fit and transform the visualizer (calls draw)
    visualizer.fit(X, y)
    visualizer.poof()

    # Return the axes object on the visualizer
    return visualizer.ax