    def __init__(self, height, width, functions, char="#", colour=Screen.COLOUR_GREEN,
                 bg=Screen.COLOUR_BLACK, gradient=None, scale=None, axes=_BarChartBase.Y_AXIS,
                 intervals=None, labels=False, border=True, keys=None, gap=None):
        """
        :param height: The max height of the rendered image.
        :param width: The max width of the rendered image.
        :param functions: List of functions to chart.
        :param char: Character to use for the bar. Defaults to '#'
        :param colour: Colour(s) to use for the bars.  This can be a single value or list of
            values (to cycle around for each bar). Defaults to green.
        :param bg: Background colour to use for the bars.  This can be a single value or list of
            values (to cycle around for each bar). Defaults to black.
        :param gradient: Colour gradient to use for the bars.  This is a list of tuple pairs
            specifying a threshold and a colour, or triplets to include a background colour too.
            Defaults to no gradients.
        :param scale: Maximum value for the bars.  This is used to scale the function values to
            the maximum space available.  Any value over this will be truncated when drawn.
            Defaults to the number of available characters in the chart.
        :param axes: Which axes to draw.
        :param intervals: Units for interval markers on the main axis. Defaults to none.
        :param labels: Whether to draw size indication labels on the x-axis.
        :param border: Whether to draw a border around the chart.
        :param keys: Optional keys to name each bar on the y-axis.
        :param gap: distance between bars. A value of None will auto-calculate (default).

        If the scale parameter is not specified, the maximum length of the bar is based on the
        available space. A chart with no borders, no axes, no keys or labels will have a bar
        length based solely on the width of the graph.

            * Borders use 4 characters height and 6 characters width
            * Keys use the width of the widest key plus 1
            * Labels use a height of 1
            * An X_AXIS uses a height of 1
            * A Y_AXIS uses a width of 1
        """
        # Have to have a call to super as the defaults for the class are different than the parent
        super().__init__(
            height, width, functions, char, colour, bg, gradient, scale, axes, intervals, labels, border,
            keys, gap)
:param height: The max height of the rendered image.
:param width: The max width of the rendered image.
:param functions: List of functions to chart.
:param char: Character to use for the bar. Defaults to '#'
:param colour: Colour(s) to use for the bars.  This can be a single value or list of
values (to cycle around for each bar). Defaults to green.
:param bg: Background colour to use for the bars.  This can be a single value or list of
values (to cycle around for each bar). Defaults to black.
:param gradient: Colour gradient to use for the bars.  This is a list of tuple pairs
specifying a threshold and a colour, or triplets to include a background colour too.
Defaults to no gradients.
:param scale: Maximum value for the bars.  This is used to scale the function values to
the maximum space available.  Any value over this will be truncated when drawn.
Defaults to the number of available characters in the chart.
:param axes: Which axes to draw.
:param intervals: Units for interval markers on the main axis. Defaults to none.
:param labels: Whether to draw size indication labels on the x-axis.
:param border: Whether to draw a border around the chart.
:param keys: Optional keys to name each bar on the y-axis.
:param gap: distance between bars. A value of None will auto-calculate (default).

If the scale parameter is not specified, the maximum length of the bar is based on the
available space. A chart with no borders, no axes, no keys or labels will have a bar
length based solely on the width of the graph.

* Borders use 4 characters height and 6 characters width
* Keys use the width of the widest key plus 1
* Labels use a height of 1
* An X_AXIS uses a height of 1
* A Y_AXIS uses a width of 1
asciimatics/renderers/charts.py