I have the data:
x = [10,24,23,23,3]
y = [12,2,3,4,2]
I want to plot it using
matplotlib.lines.Line2D(xdata, ydata)
I use
I have run into this problem when trying to replicate a line on two different plots. (mentioned in a comment "cannot put single artist in more than one figure) So assuming you already have a Line2D object from some other source and need it on new plot, the best way to add it to your plot is with:
# the variable, 'line', is assumed to be a Line2D object.
plt.plot(*line.get_data(), ...)
You can also get a lot of the line's properties from its other "get" methods, found here.
The more common approach (not exactly what the questioner asked) is to use the plot interface. This involves Line2D behind the scenes.
>>> x = [10,24,23,23,3]
>>> y = [12,2,3,4,2]
>>> import matplotlib.pyplot as plt
>>> plt.plot(x,y)
[<matplotlib.lines.Line2D object at 0x7f407c1a8ef0>]
>>> plt.show()
You should add the line to a plot and then show it:
In [13]: import matplotlib.pyplot as plt
In [15]: from matplotlib.lines import Line2D
In [16]: fig = plt.figure()
In [17]: ax = fig.add_subplot(111)
In [18]: x = [10,24,23,23,3]
In [19]: y = [12,2,3,4,2]
In [20]: line = Line2D(x, y)
In [21]: ax.add_line(line)
Out[21]: <matplotlib.lines.Line2D at 0x7f4c10732f60>
In [22]: ax.set_xlim(min(x), max(x))
Out[22]: (3, 24)
In [23]: ax.set_ylim(min(y), max(y))
Out[23]: (2, 12)
In [24]: plt.show()
The result: