在Python中绘制来自生成器的数据

时间:2015-09-24 18:24:30

标签: python ipython jupyter

Python(IPython-Jupyter笔记本)中是否有接受生成器的绘图选项?

AFAIK matplotlib并不支持。我发现的唯一选项是plot.ly和他们的Streaming API,但由于我需要实时绘制大量数据,我宁愿不使用在线解决方案。

1 个答案:

答案 0 :(得分:6)

固定长度的生成器总是可以转换为列表。

vals_list = list(vals_generator)

这应该是matplotlib的适当输入。

根据您的最新信息猜测,可能是这样的:

from collections import deque
from matplotlib import pyplot

data_buffer = deque(maxlen=100)
for raw_data in data_stream:
  data_buffer.append(arbitrary_convert_func(raw_data))
  pyplot.plot(data_buffer)

基本上使用deque来获得固定大小的数据点缓冲区。