【发布时间】:2015-09-24 18:24:30
【问题描述】:
Python(IPython-Jupyter notebook)中是否有任何接受生成器的绘图选项?
AFAIK matplotlib 不支持。我发现的唯一选择是 plot.ly 和他们的 Streaming API,但由于需要实时绘制大量数据,我不想使用在线解决方案。
【问题讨论】:
Python(IPython-Jupyter notebook)中是否有任何接受生成器的绘图选项?
AFAIK matplotlib 不支持。我发现的唯一选择是 plot.ly 和他们的 Streaming API,但由于需要实时绘制大量数据,我不想使用在线解决方案。
【问题讨论】:
固定长度的生成器始终可以转换为列表。
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)
基本上使用双端队列来拥有固定大小的数据点缓冲区。
【讨论】:
for new_data in generator,处理new_data(可能将它与预先存在的数据合并),然后以通常的方式绘制这个处理过的数据。您应该为您的问题添加一个最小工作示例和数据流的具体描述,以获得有用的答案。