<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def histpoints(x, bins=None, xerr=None, yerr='gamma', normed=False, **kwargs):
 """ Plot a histogram as a series of data points. Compute and draw the histogram of *x* using individual (x,y) points for the bin contents. By default, vertical poisson error bars are calculated using the gamma distribution. Horizontal error bars are omitted by default. These can be enabled using the *xerr* argument. Use ``xerr='binwidth'`` to draw horizontal error bars that indicate the width of each histogram bin. Parameters --------- x : (n,) array or sequence of (n,) arrays Input values. This takes either a single array or a sequence of arrays, which are not required to be of the same length. """

    import matplotlib.pyplot as plt

    if bins is None:
        bins = calc_nbins(x)

    h, bins = np.histogram(x, bins=bins)
    width = bins[1] - bins[0]
    center = (bins[:-1] + bins[1:]) / 2
    area = sum(h * width)

    if isinstance(yerr, str):
        yerr = poisson_limits(h, yerr)

    if xerr == 'binwidth':
        xerr = width / 2

    if normed:
        h = h / area
        yerr = yerr / area
        area = 1.

    if not 'color' in kwargs:
        kwargs['color'] = 'black'

    if not 'fmt' in kwargs:
        kwargs['fmt'] = 'o'

    plt.errorbar(center, h, xerr=xerr, yerr=yerr, **kwargs)

    return center, (yerr[0], h, yerr[1]), area