def series(self, x: str, y: list, title: str='') -> object:
    '\n        This method plots a series of x,y coordinates. You can provide a list of y columns for multiple line plots.\n\n        :param x: the x axis variable; generally a time or continuous variable.\n        :param y: the y axis variable(s), you can specify a single column or a list of columns\n        :param title: an optional Title for the chart\n        :return: graph object\n        '
    code = ((((('proc sgplot data=' + self.libref) + '.') + self.table) + self._dsopts()) + ';\n')
    if (len(title) > 0):
        code += (('\ttitle "' + title) + '";\n')
    if isinstance(y, list):
        num = len(y)
    else:
        num = 1
        y = [y]
    for i in range(num):
        code += (((("\tseries x='" + x) + "'n y='") + str(y[i])) + "'n;\n")
    code += ('run;\n' + 'title;')
    if self.sas.nosub:
        print(code)
        return
    ll = self._is_valid()
    if (not ll):
        html = self.HTML
        self.HTML = 1
        ll = self.sas._io.submit(code)
        self.HTML = html
    if (not self.sas.batch):
        self.sas.DISPLAY(self.sas.HTML(ll['LST']))
    else:
        return ll
This method plots a series of x,y coordinates. You can provide a list of y columns for multiple line plots.

:param x: the x axis variable; generally a time or continuous variable.
:param y: the y axis variable(s), you can specify a single column or a list of columns
:param title: an optional Title for the chart
:return: graph object
def series(self, x: str, y: list, title: str=) -> object:
    '\n        This method plots a series of x,y coordinates. You can provide a list of y columns for multiple line plots.\n\n        :param x: the x axis variable; generally a time or continuous variable.\n        :param y: the y axis variable(s), you can specify a single column or a list of columns\n        :param title: an optional Title for the chart\n        :return: graph object\n        '
    code = ((((('proc sgplot data=' + self.libref) + '.') + self.table) + self._dsopts()) + ';\n')
    if (len(title) > 0):
        code += (('\ttitle "' + title) + '";\n')
    if isinstance(y, list):
        num = len(y)
    else:
        num = 1
        y = [y]
    for i in range(num):
        code += (((("\tseries x='" + x) + "'n y='") + str(y[i])) + "'n;\n")
    code += ('run;\n' + 'title;')
    if self.sas.nosub:
        print(code)
        return
    ll = self._is_valid()
    if (not ll):
        html = self.HTML
        self.HTML = 1
        ll = self.sas._io.submit(code)
        self.HTML = html
    if (not self.sas.batch):
        self.sas.DISPLAY(self.sas.HTML(ll['LST']))
    else:
        return ll