'Plot 2D or 3D data.
Argument    Description
*xs*, *ys*  x, y coordinates of vertices
*zs*        z value(s), either one for all points or one for
each point.
*zdir*      Which direction to use as z (\'x\', \'y\' or \'z\')
when plotting a 2D set.
Other arguments are passed on to
:func:`~matplotlib.axes.Axes.plot`'

def plot(self, xs, ys, *args, **kwargs):

    had_data = self.has_data()
    if (args and (not isinstance(args[0], six.string_types))):
        zs = args[0]
        args = args[1:]
        if (u'zs' in kwargs):
            raise TypeError(u"plot()    for    multiple    values    for    argument    'z'")
    else:
        zs = kwargs.pop(u'zs', 0)
    zdir = kwargs.pop(u'zdir', u'z')
    if (not cbook.iterable(zs)):
        zs = (np.ones(len(xs)) * zs)
    lines = super(Axes3D, self).plot(xs, ys, *args, **kwargs)
    for line in lines:
        art3d.line_2d_to_3d(line, zs=zs, zdir=zdir)
    self.auto_scale_xyz(xs, ys, zs, had_data)
    return lines
