def METHOD_NAME(datalist, **options):
    """
    A bar chart of (currently) one list of numerical data.
    Support for more data lists in progress.
    EXAMPLES:
    A bar_chart with blue bars::
        sage: bar_chart([1,2,3,4])
        Graphics object consisting of 1 graphics primitive
    .. PLOT::
        sphinx_plot(bar_chart([1,2,3,4]))
    A bar_chart with thinner bars::
        sage: bar_chart([x^2 for x in range(1,20)], width=0.2)
        Graphics object consisting of 1 graphics primitive
    .. PLOT::
        sphinx_plot(bar_chart([x**2 for x in range(1,20)], width=0.2))
    A bar_chart with negative values and red bars::
        sage: bar_chart([-3,5,-6,11], rgbcolor=(1,0,0))
        Graphics object consisting of 1 graphics primitive
    .. PLOT::
        sphinx_plot(bar_chart([-3,5,-6,11], rgbcolor=(1,0,0)))
    A bar chart with a legend (it's possible, not necessarily useful)::
        sage: bar_chart([-1,1,-1,1], legend_label='wave')
        Graphics object consisting of 1 graphics primitive
    .. PLOT::
        sphinx_plot(bar_chart([-1,1,-1,1], legend_label='wave'))
    Extra options will get passed on to show(), as long as they are valid::
        sage: bar_chart([-2,8,-7,3], rgbcolor=(1,0,0), axes=False)
        Graphics object consisting of 1 graphics primitive
        sage: bar_chart([-2,8,-7,3], rgbcolor=(1,0,0)).show(axes=False) # These are equivalent
    .. PLOT::
        sphinx_plot(bar_chart([-2,8,-7,3], rgbcolor=(1,0,0), axes=False))
    """
    dl = len(datalist)
    if dl == 3:
        datalist = datalist + [0]
    # bardata = []
    # cnt = 1
    # for pnts in datalist:
        # ind = [i+cnt/dl for i in range(len(pnts))]
        # bardata.append([ind, pnts, xrange, yrange])
        # cnt += 1
    g = Graphics()
    g._set_extra_kwds(Graphics._extract_kwds_for_show(options))
    # TODO: improve below for multiple data sets!
    # cnt = 1
    # for ind, pnts, xrange, yrange in bardata:
    #    options={'rgbcolor':hue(cnt/dl),'width':0.5/dl}
    #    g._bar_chart(ind, pnts, xrange, yrange, options=options)
    #    cnt += 1
    # else:
    ind = list(range(len(datalist)))
    g.add_primitive(BarChart(ind, datalist, options=options))
    if options['legend_label']:
        g.legend(True)
    return g