当逐渐给出每行的点时,在matplotlib中绘制几行

时间:2018-03-09 06:25:47

标签: python matplotlib

我想在图中绘制几条线。每行的所有点在开始时都不可用,它们逐渐可用。

I want to plot something like this

每行的整点在开头都不可用,例如在t = 3点,一行是[(1,0),(2,3),(3,6)]和t = 4新点[(1,0),(2,3),(3,6),(4,9)]。

2 个答案:

答案 0 :(得分:1)

这样的图片可以用:

绘制
from __future__ import division
import matplotlib.pyplot as plt
from random import randint  

data = [ 
    ("1 line", [randint(0, 10) / 10 for i in range(20)]),
    ("2 line", [randint(0, 10) / 10 for i in range(20)]),
    ("3 line", [randint(0, 10) / 10 for i in range(20)]),
    ("4 line", [randint(0, 10) / 10 for i in range(20)])
]

for label, y in data:
    plt.plot(y, label = label)
plt.legend()
plt.show()

答案 1 :(得分:0)

每次收到新值时,您都必须更新matplotlib艺术家数据。首先,您绘制的行没有数据,如:

l = plt.plot([], [], 'r-')[0]

以后用

更新数据
l.set_data(ydata, xdata)

不要忘记重绘

plt.draw()

如果您有更多行,则绘图函数会返回艺术家列表,因此每个都需要更新。