使用Line2D在python中绘制线条

时间:2015-02-24 04:32:55

标签: python

我有数据:

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)

但是我如何展示这条线?

4 个答案:

答案 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()

结果:

enter image description here

答案 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中获得该行的很多属性。