我有数据:
x = [10,24,23,23,3]
y = [12,2,3,4,2]
我想用
绘制它matplotlib.lines.Line2D(xdata, ydata)
我用
import matplotlib.lines
matplotlib.lines.Line2D(x, y)
但是我如何展示这条线?
答案 0 :(得分:11)
您应该将该行添加到绘图中,然后显示它:
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()
结果:
答案 1 :(得分:6)
更常见的方法(不完全是提问者所说的)是使用情节界面。这涉及到幕后的Line2D。
>>> 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()
答案 2 :(得分:2)
为方便起见(粘贴并直接运行):
fig, ax = plt.subplots(figsize=(3,3))
x = [1,2,1.5,1.5]
y = [1,1,0.5,1.5]
line = Line2D(x, y)
ax.add_line(line)
ax.axis([0, 3, 0, 3])
plt.show()
答案 3 :(得分:0)
在两个不同的图上复制一条线时,我遇到了这个问题。 (在评论中提到“不能将一个艺术家放在一个以上的图中) 因此,假设您已经有其他来源的Line2D对象并且需要在新绘图上使用它,则将其添加到绘图中的最佳方法是:
# the variable, 'line', is assumed to be a Line2D object.
plt.plot(*line.get_data(), ...)
您还可以从其其他“获取”方法found here中获得该行的很多属性。