<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def bar(h: Histogram2D, *, barmode: str = DEFAULT_BARMODE, alpha: float = DEFAULT_ALPHA, **kwargs):
 """Bar plot. Parameters alpha: Opacity (0.0 - 1.0) barmode : "overlay" | "group" | "stack" """

    get_data_kwargs = pop_many(kwargs, "density", "cumulative", "flatten")
    data = [go.Bar(
        x=histogram.bin_centers,
        y=get_data(histogram, **get_data_kwargs),
        width=histogram.bin_widths,
        name=histogram.name,
        opacity=alpha,
        **kwargs
    ) for histogram in h]

    layout = go.Layout(barmode=barmode)

    _add_ticks(layout.xaxis, h[0], kwargs)

    figure = go.Figure(data=data, layout=layout)
    return figure